راهنمای مدیریت Hysteria2 از طریق رابط خط فرمان (CLI)
این سند یک راهنمای جامع برای استفاده از اسکریپت cli.py
ارائه میدهد، که یک رابط خط فرمان برای مدیریت Hysteria2 و سرویسهای مرتبط است. این راهنما نصب، مدیریت کاربران، پیکربندیهای پیشرفته و عیبیابی را پوشش میدهد. دستورات برای وضوح بیشتر در بخشهای جداگانه سازماندهی شدهاند. هر دستور با گزینهها، آرگومانها و رفتار مورد انتظار آن توضیح داده شده است.
مدیریت Hysteria2
این بخش دستورات مربوط به نصب، بهروزرسانی و پیکربندی هسته سرویس Hysteria2 را پوشش میدهد.
install-hysteria2
Hysteria2 را نصب و پیکربندی میکند.
./cli.py install-hysteria2 --port <port> --sni <sni>
--port
/-p
(الزامی): شماره پورتی که Hysteria2 به آن گوش میدهد. باید یک عدد صحیح باشد.--sni
/-s
(اختیاری): مشخصه نام سرور (SNI) برای استفاده. پیشفرضbts.com
است.
مثال:
./cli.py install-hysteria2 -p 443 -s example.com
uninstall-hysteria2
Hysteria2 را حذف نصب میکند.
./cli.py uninstall-hysteria2
update-hysteria2
هسته Hysteria2 را به آخرین نسخه بهروزرسانی میکند.
./cli.py update-hysteria2
restart-hysteria2
سرویس Hysteria2 را مجدداً راهاندازی میکند.
./cli.py restart-hysteria2
change-hysteria2-port
پورتی که Hysteria2 به آن گوش میدهد را تغییر میدهد.
./cli.py change-hysteria2-port --port <new_port>
--port
/-p
(الزامی): شماره پورت جدید.
مثال:
./cli.py change-hysteria2-port -p 8080
change-hysteria2-sni
SNI مورد استفاده Hysteria2 را تغییر میدهد.
./cli.py change-hysteria2-sni --sni <new_sni>
--sni
/-s
(الزامی): SNI جدید.
مثال:
./cli.py change-hysteria2-sni -s mynew.sni.com
backup-hysteria
از پیکربندی فعلی Hysteria2 پشتیبان تهیه میکند.
./cli.py backup-hysteria
/etc/hysteria/
ایجاد میکند.
restore-hysteria2
پیکربندی Hysteria2 را از یک فایل پشتیبان ZIP بازیابی میکند.
./cli.py restore-hysteria2 <backup_file_path>
backup_file_path
: مسیر فایل ZIP حاوی پشتیبان. این مسیر باید به یک فایل موجود اشاره کند. نمیتواند یک دایرکتوری باشد. باید قابل خواندن باشد.
مثال:
./cli.py restore-hysteria2 /path/to/backup.zip
مدیریت کاربر
این بخش دستورات مربوط به مدیریت کاربران Hysteria2 را شرح میدهد.
list-users
لیست تمام کاربران Hysteria2 پیکربندی شده را نمایش میدهد.
./cli.py list-users
get-user
اطلاعات دقیق در مورد یک کاربر خاص را بازیابی میکند.
./cli.py get-user --username <username>
--username
/-u
(الزامی): نام کاربری کاربری که میخواهید اطلاعاتش را دریافت کنید.
مثال:
./cli.py get-user -u testuser
add-user
یک کاربر جدید Hysteria2 اضافه میکند.
./cli.py add-user --username <username> --traffic-limit <traffic_limit_gb> --expiration-days <expiration_days> --password <password> --creation-date <date>
--username
/-u
(الزامی): نام کاربری برای کاربر جدید.--traffic-limit
/-t
(الزامی): محدودیت ترافیک برای کاربر، بر حسب گیگابایت (GB).--expiration-days
/-e
(الزامی): تعداد روزهایی که حساب کاربری منقضی میشود.--password
/-p
(اختیاری): رمز عبور برای کاربر.--creation-date
/-c
(اختیاری): تاریخ ایجاد حساب در فرمتYYYY-MM-DD
.
مثال:
./cli.py add-user -u newuser -t 100 -e 30 -p mysecretpassword -c 2023-12-25
edit-user
تنظیمات یک کاربر Hysteria2 موجود را ویرایش میکند.
./cli.py edit-user --username <username> --new-username <new_username> --new-traffic-limit <new_traffic_limit_gb> --new-expiration-days <new_expiration_days> --renew-password --renew-creation-date --blocked
--username
/-u
(الزامی): نام کاربری کاربری که میخواهید ویرایش کنید.--new-username
/-nu
(اختیاری): نام کاربری جدید برای کاربر.--new-traffic-limit
/-nt
(اختیاری): محدودیت ترافیک جدید بر حسب GB.--new-expiration-days
/-ne
(اختیاری): تعداد جدید روزهای انقضا.--renew-password
/-rp
(اختیاری، پرچم): اگر اضافه شود، رمز عبور کاربر را تجدید میکند.--renew-creation-date
/-rc
(اختیاری، پرچم): اگر اضافه شود، تاریخ ایجاد کاربر را بازنشانی میکند.--blocked
/-b
(اختیاری، پرچم): اگر اضافه شود، کاربر را مسدود میکند.
مثال (تغییر محدودیت ترافیک و مسدود کردن):
./cli.py edit-user -u testuser -nt 50 -b
reset-user
آمار ترافیک کاربر را بازنشانی میکند.
./cli.py reset-user --username <username>
--username
/-u
(الزامی): نام کاربری برای بازنشانی.
remove-user
یک کاربر Hysteria2 را حذف میکند.
./cli.py remove-user --username <username>
--username
/-u
(الزامی): نام کاربری برای حذف.
show-user-uri
URI مربوط به Hysteria2 را برای یک کاربر تولید و نمایش میدهد، به صورت اختیاری به عنوان کد QR.
./cli.py show-user-uri --username <username> --qrcode --ipv <ip_version> --all --singbox --normalsub
--username
/-u
(الزامی): نام کاربری که URI برای آن تولید میشود.--qrcode
/-qr
(اختیاری، پرچم): اگر اضافه شود، یک کد QR از URI تولید میکند.--ipv
/-ip
(اختیاری): نسخه IP (4 یا 6) را برای URI مشخص میکند. پیشفرض 4 است.--all
/-a
(اختیاری، پرچم): URIهای IPv4 و IPv6 را نشان میدهد.--singbox
/-s
(اختیاری, پرچم): اگر سرویس Singbox فعال باشد، لینک اشتراک Singbox را اضافه میکند.--normalsub
/-n
(اختیاری، پرچم): اگر سرویس normalsub فعال باشد، پیوند اشتراک Normal-Sub را شامل می شود.
مثال (تولید کد QR برای IPv6):
./cli.py show-user-uri -u testuser -qr -ip 6
مدیریت سرور
این بخش دستورات مربوط به سرور را پوشش میدهد.
traffic-status
آمار استفاده از ترافیک فعلی را نمایش میدهد.
./cli.py traffic-status
server-info
اطلاعات سرور را نمایش میدهد.
./cli.py server-info
manage_obfs
تنظیمات مبهمسازی (obfs) را در پیکربندی Hysteria2 مدیریت میکند.
./cli.py manage_obfs --remove
./cli.py manage_obfs --generate
--remove
/-r
(اختیاری، پرچم): obfs را از پیکربندی حذف میکند.--generate
/-g
(اختیاری، پرچم): یک پیکربندی obfs جدید تولید میکند.- ناسازگار: شما باید فقط یکی از
--remove
یا--generate
را ارائه دهید. ارائه ندادن هیچ کدام خطایی را چاپ میکند.
ip-address
آدرسهای IP سرور ذخیره شده در .configs.env
را مدیریت میکند.
./cli.py ip-address
./cli.py ip-address --edit --ipv4 <ipv4_address>
./cli.py ip-address --edit --ipv6 <ipv6_address>
- بدون گزینه: آدرسهای IP شناسایی شده خودکار را به پیکربندی اضافه میکند.
--edit
(اختیاری، پرچم): ویرایش دستی آدرسهای IP را فعال میکند.-4
/--ipv4
(اختیاری): یک آدرس IPv4 جدید را مشخص میکند (نیاز به--edit
دارد).-6
/--ipv6
(اختیاری): یک آدرس IPv6 جدید را مشخص میکند (نیاز به--edit
دارد).- با ویرایش شما باید حداقل یکی از
--ipv4
یا--ipv6
را ارائه دهید.
- با ویرایش شما باید حداقل یکی از
update-geo
فایلهای داده GeoIP و GeoSite را بهروزرسانی میکند.
./cli.py update-geo --country <country>
--country
/-c
(اختیاری): کشوری که فایلهای Geo برای آن بهروزرسانی میشوند (iran
،china
، یاrussia
). پیشفرضiran
است.
مثال (بهروزرسانی برای چین):
./cli.py update-geo -c china
masquerade
تنظیمات masquerade را در پیکربندی Hysteria2 مدیریت میکند.
./cli.py masquerade --remove
./cli.py masquerade --enable <domain>
--remove
/-r
(اختیاری، پرچم): پیکربندی masquerade را حذف میکند.--enable
/-e
(اختیاری): masquerade را با دامنه مشخص شده فعال میکند.- ناسازگار: شما باید فقط یکی از
--remove
یا--enable
را ارائه دهید. ارائه ندادن هیچ کدام خطایی را چاپ میکند.
مثال (فعال کردن masquerade):
./cli.py masquerade -e example.com
منوی پیشرفته
این بخش دستوراتی را توضیح میدهد که عملکردهای اضافی را ارائه میدهند.
install-tcp-brutal
TCP Brutal را نصب میکند.
./cli.py install-tcp-brutal
install-warp
WARP را نصب میکند.
./cli.py install-warp
uninstall-warp
WARP را حذف نصب میکند.
./cli.py uninstall-warp
configure-warp
تنظیمات WARP را پیکربندی میکند.
./cli.py configure-warp --all --popular-sites --domestic-sites --block-adult-sites --warp-option <option> --warp-key <key>
--all
/-a
(اختیاری، پرچم): از WARP برای تمام ترافیک استفاده میکند.--popular-sites
/-p
(اختیاری، پرچم): از WARP برای وبسایتهای محبوب استفاده میکند.--domestic-sites
/-d
(اختیاری، پرچم): از WARP برای وبسایتهای داخلی (ایرانی) استفاده میکند.--block-adult-sites
/-x
(اختیاری، پرچم): محتوای بزرگسالان را مسدود میکند.--warp-option
/-w
(اختیاری): بینwarp
(عادی) وwarp plus
انتخاب میکند.--warp-key
/-k
(اختیاری): کلید WARP Plus (اگر--warp-option
برابرwarp plus
باشد الزامی است).
مثال (استفاده از WARP Plus):
./cli.py configure-warp -w "warp plus" -k YOUR_WARP_PLUS_KEY
warp-status
وضعیت فعلی WARP را نمایش می دهد.
./cli.py warp-status
telegram
ادغام ربات تلگرام را مدیریت میکند.
./cli.py telegram --action <action> --token <token> --adminid <admin_id>
--action
/-a
(الزامی): عملی که باید انجام شود (start
یاstop
).--token
/-t
(برایstart
الزامی است): توکن ربات تلگرام.--adminid
/-aid
(برایstart
الزامی است): شناسه(های) ادمین تلگرام (جدا شده با کاما).
مثال (راهاندازی ربات):
./cli.py telegram -a start -t YOUR_BOT_TOKEN -aid 123456789,987654321
singbox
سرویس Singbox را مدیریت میکند.
./cli.py singbox --action <action> --domain <domain> --port <port>
--action
/-a
(الزامی):start
یاstop
.--domain
/-d
(برایstart
الزامی است): نام دامنه برای SSL.--port
/-p
(برایstart
الزامی است): شماره پورت برای سرویس Singbox.
normal-sub
سرویس Normal-Sub را مدیریت میکند.
./cli.py normal-sub --action <action> --domain <domain> --port <port>
--action
/-a
(الزامی):start
یاstop
.--domain
/-d
(برایstart
الزامی است): نام دامنه برای SSL.--port
/-p
(برایstart
الزامی است): شماره پورت برای سرویس.
webpanel
سرویس وب پنل را مدیریت میکند.
./cli.py webpanel --action <action> --domain <domain> --port <port> --admin-username <admin_username> --admin-password <admin_password> --expiration-minutes <expiration_minutes> --debug
--action
/-a
(الزامی):start
یاstop
.--domain
/-d
(برایstart
الزامی است): نام دامنه برای SSL.--port
/-p
(برایstart
الزامی است): شماره پورت برای سرویس وب پنل.--admin-username
/-au
(برایstart
الزامی است): نام کاربری مدیر برای وب پنل.--admin-password
/-ap
(برایstart
الزامی است): رمز عبور مدیر برای وب پنل.--expiration-minutes
/-e
(اختیاری): زمان انقضا برای جلسات وب پنل بر حسب دقیقه، پیش فرض: 20.--debug
/-g
حالت اشکال زدایی وب پنل را فعال میکند.- هنگامی که وب پنل را راه اندازی میکنید، اسکریپت وضعیت سرویسهای مرتبط را نشان میدهد.
-
وب پنل دارای پورت پیش فرض 80 است.
./cli.py webpanel -a start -d example.com -p 8080 -au admin -ap 1234
get-webpanel-url
URL وب پنل را دریافت میکند.
./cli.py get-webpanel-url
get-webpanel-api-token
توکن API وب پنل را دریافت میکند.
./cli.py get-webpanel-api-token
get-webpanel-services-status
وضعیت سرویسهای وب پنل را دریافت میکند.
./cli.py get-webpanel-services-status
get-services-status
وضعیت تمام سرویسهای مدیریت شده را نمایش میدهد (فعال یا غیرفعال).
./cli.py get-services-status