راه اندازی سریع سرور v2ray

  • Post category:بلاگ
  • Reading time:3 mins read

این نوشته رو بیشتر برای خودم مینویسم که اینجا لینک ها و نکات رو داشته باشم. برای راه اندازی یه سرور v2ray طبیعتاً قبل از هر چیز باید یه سرور مجازی (ترجیحاً ابری) داشته باشیم. این کدها روی لینوکس Ubuntu 22.04 تست شده اند.

قبل از اینکه چیزی روی سرور نصب کنیم بهتره یه بار ping کنیم IPش رو تا ببینیم اصلا از دستگاه خودمون دیده میشه یا نه! جالبه که بعضی IPها دیده نمیشن. انگار از قبل فیلتر شدن یا هرچی! همچنین برای اینکه از سرویس letsencrypt یه SSL مجانی بگیریم لازمه که یه دامین برای سرورمون گرفته باشیم و حتما پینگ اون هم چک کنیم که اوکی باشه. دامین هم ترجیحاً غیر ir باشه چون سرور من ir رو قبول نمیکنه به خاطر تحریم ها.

وارد این لینک میشیم تا کارای اولیه رو انجام بدیم و یه SSL بسازیم:

https://seakfind.github.io/2021/10/10/X-UI

اول سرور رو آپدیت میکنیم و curl و socat و acme script رو نصب میکنیم:

apt update && apt upgrade -y
apt install curl socat -y
curl https://get.acme.sh | sh

بعد میریم سراغ گرفتن ssl:

~/.acme.sh/acme.sh --set-default-ca --server letsencrypt
~/.acme.sh/acme.sh --register-account -m xxxx@xxxx.com
~/.acme.sh/acme.sh --issue -d mydomain.com --standalone

~/.acme.sh/acme.sh --installcert -d mydomain.com --key-file /root/private.key --fullchain-file /root/cert.crt

فقط به جای xxxx@xxxx.com باید ایمیل و به جای mydomain.com باید آدرس دامین سرور رو بذاریم.

اگه همه چیز اوکی باشه و خطا نده کارمون اینجا تمومه و میریم سراغ نصب X-UI:

https://github.com/NidukaAkalanka/x-ui-english

توی این لینک نسخه انگلیسی پنل مدیریتش رو نصب میکنه که خوانا تره. فقط با دستور زیر:

bash <(curl -Ls https://raw.githubusercontent.com/NidukaAkalanka/x-ui-english/master/install.sh)

همین! فقط آخرش یه username و password و شماره پورت میگیره که برای پنل مدیریت لازم داره.

برای وارد شدن به پنل مدیریتش باید آدرس دامین سرورتون رو با شماره پورتی که بهش میدین بزنین و لاگین کنین. بعد توی قسمت Inbounds میشه پروتکل ها رو بسازین و استفاده کنین. آخرین پروتکلی که جواب گرفتم vless-tcp بوده همراه با TLS.

Certificate.crt file path:       /root/cert.crt
Private.key file path:           /root/private.key

کلاینت ها رو هم با یه ایمیل (که در واقع اسم کاربر میتونه باشه) و یه id (که اینم هر چیزی میتونه باشه) تعریف میکنیم همونجا و قاعدتاً بعدش باید بتونیم بهش وصل بشیم.

اگر خواستیم که بهتره بخوایم میتونیم فایروال رو هم روی سرورمون فعال کنیم و فقط پورتی که میخوایم رو باز کنیم.

ufw allow OpenSSH
ufw enable
ufw allow [PortNo]
ufw status

در ضمن اگه بتونیم یه سرور ایران بگیریم و از طریق اون به این سرور خارجی وصل بشیم احتمالا کیفیت بهتری داشته باشیم.