راه اندازی Vless-TCP-Reality با هسته Sing-Box

بحث راه اندازی پروکسی داغه و چون یک شیوه جدید برای دور زدن سیستم فیلترینگ اومده، گفتم یه آموزش سریع بذارم تا بتونید راه اندازیش کنید.
اول از همه یکم قصه بگم که این آموزش با هسته sing-box هست. این هسته نسبت به Xray سبک تر و پرسرعت تره. اینم بگم که همین کانفیگی که در ادامه میذارم رو با هسته Xray پیاده کردم و بعضی از ساعت ها اصلا وصل نمیشد اما با سینگ باکس بدون مشکل وصل میشه. برای خوندن مستندات سینگ باکس به این لینک برید. این آموزش واسه کسایی هست که همین الان xray Reality اجرا دارن و میخوان مهاجرت کنن به سینگ باکس.
خب آموزش رو با دانلود هسته سینگ باکس روی سرور شروع میکنیم. برای اینکار به صفحه ریلیزهای سینگ باکس برید و متناسب با سرورتون که در 99 درصد موارد amd64 هست، لینکش رو کپی کنید و با دستور wget در سرورتون دانلود کنید. در حال حاضر ورژن 1.4.1 جدیدترین نسخه هست و چون سرورم ubuntu 20.04 هست من اونو دانلود میکنم:
wget https://github.com/SagerNet/sing-box/releases/download/v1.4.1/sing-box_1.4.1_linux_amd64.deb
بعد از دانلود با استفاده از دستور زیر نصبش کنید:
sudo dpkg -i sing-box_1.4.1_linux_amd64.deb
بعد از نصب، توی مسیر کانفیگ ها، کانفیگ اصلی رو ویرایش کنید با دستور زیر:
sudo nano /etc/sing-box/config.json
و کانفیگ زیر رو بندازید داخلش:
//wget https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db
//wget https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db
// cd /var/lib/sing-box folder of dat files
// nano /etc/sing-box/config.json
//https://github.com/SagerNet/sing-box/releases
//Public: generated_public_key
{
"log": {
"level": "info",
"timestamp": true,
"disabled": true
},
"dns": {
"servers": [
{
"tag": "local",
"address": "https://1.1.1.1/dns-query",
"detour": "direct"
}
]
},
"inbounds": [
{
"type": "vless",
"tag": "vless-in",
"listen": "::",
"listen_port": 443,
"users": [
{
"name": "user1",
"uuid": "8227fa54-d602-46f0-8da6-67816ab4c6a7",
"flow": "xtls-rprx-vision"
},
{
"name": "user2",
"uuid": "1a458dc5-6292-4a92-1111-b448835166b7",
"flow": "xtls-rprx-vision"
}
],
"tls": {
"enabled": true,
"min_version": "1.3",
"server_name": "discord.com",
"reality": {
"enabled": true,
"handshake": {
"server": "discord.com",
"server_port": 443
},
"private_key": "generated_private_key",
"short_id": [
"f2f6000e855"
],
"max_time_difference": "5m"
}
}
}
],
"outbounds": [
{
"type": "direct",
"tag": "direct"
},
{
"type": "block",
"tag": "block"
}
],
"route": {
"geosite": {
"path": "/var/lib/sing-box/geosite.db",
"download_url": "https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db"
},
"geoip": {
"path": "/var/lib/sing-box/geoip.db",
"download_url": "https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db"
},
"rules": [
{
"domain_keyword": [
"snapp", "digikala","tapsi", "blogfa", "bank", "sb24.com", "sheypoor.com", "tebyan.net", "beytoote.com", "telewebion.com", "Film2movie.ws", "Setare.com", "Filimo.com", "Torob.com", "Tgju.org", "Sarzamindownload.com", "downloadha.com", "P30download.com", "Sanjesh.org", "irancell"
],
"domain_suffix": [
".ir"
],
"geoip": [
"ir"
],
"invert": false,
"outbound": "block"
}
]
}
}
شما میتونید به هرتعداد که نیاز دارید کاربر بسازید تا هر کاربر اکانت خودشو داشته باشه. اینجوری نیازی به پنل ثنایی و X-UI هم ندارید. همون بالا user1 و user2 رو اسمشون رو تغییر بدید و یا user3 بسازید. هر کاربر هم uuid خودشو داره.
برای uuid هم از دستور sing-box generate uuid و برای keyها هم از دستور sing-box generate reality-keypair استفاده کنید که بهتون private و public key میده. هردوتا رو داشته باشید.
private key همینجا بمونه و public key میره توی سمت کاربر. درباره سرور هم باید سایتی رو انتخاب کنید که رمزنگاری x25519 داشته باشن، فیلتر نباشن و ترافیک زیادی داشته باشن تا فیلترشدن سرور به حداقل برسه. برای مطالعه بیشتر این جا رو ببنید. من اینجا discord.com رو انتخاب کردم.
همه رو ذخیره کنید و با دستور sudo systemctl start sing-box.service سرویس رو راه اندازی کنید.
در ضمن فراموش نکنید که دستور زیر رو بزنید تا موقعی که سرور به هردلیلی ریستارت شد، سینگ باکس خودکار اجرا بشه:
sudo systemctl enable sing-box.service
ببینید ما هنوز نمیدونیم که سیستم فیلترینگ واکنشش به Reality چیه. میگن یکی از راه های شناسایی اینه که میان نگاه میکنن اگر با آی پی خارجی وارد سایت ایرانی شدی و مثلا لاگین کردی بگن این فیلترشکنه و آی پی رو ببندن. درنتیجه بخش آخر کانفیگ مربوط به routing هست که زمانی که به سرور وصلید برای اینکه آی پی سرور فیلتر نشه یا شناساییش خیلی کم بشه سایت های ایرانی رو اصلا باز نکنه.
2 نظرات
سلام من میخواهم روی یک سرور اوبونتو سینگ باکس رو جوری کانفیگ کنم که خود این سرور به یک سرور دیگر متصل شود و تمام ریکويست ها رو به اون سرور پراکسی بفرسته. در واقع کلاینتم یک سرور اوبونتو هست ولی نمیدونم دقیقا چطور باید کانفیگ کنم. میتونید کمک کنید؟
اینجا رو یه نگاه بندازید. ReverseTlsTunnel