XRay Channel
8.07K subscribers
295 photos
41 videos
4 files
147 links
👁 Nerd, Geek and bypasser!

🌀 Group: @penetration_xray
🚀 Boost: t.me/boost/Gozar_Xray
🤖 Github: github.com/Musixal
🎥 YouTube: youtube.com/@Gozar_Xray
Download Telegram
🌀 توضیحاتی چند درباره تانل ها

۱) در مورد رتهول اون هایی که مشکل قطعی داشتند هیچ اطلاعات بیشتری ندادند که من بتونم مشکل رو reproduce کنم. بنابراین میذارم به حساب مشکلات دیتاسنتر و کانفیگ کردن اشتباه و اوپتیمایز نبودن OS. بارها هم گفتم رتهول در کانکشن های بالا معمولا ۲۰ هزار (بسته به سخت افزار سرورتون) دچار افزایش Latency میشه و نیاز به کرون جاب داره. پس بهتره کانفیگ هاتون رو با Mux به مشتری بدید. نصب اوپتیمایزر هم تاثیر داره.

- این که کرون جاب روی چه ساعتی تنظیم باشه رو با نصب Uptime Kuma میتونید متوجه بشید.
- قسمت Port Monitor هم باعث سردرگمی شده و به نظرم آپدیت بعدی حذفش میکنم.
- پیشنهاد این که پورت تانل و کانفیگ ها رو توی اسکریپت نشون بده جالب بود و ممکنه اضافه ش کنم.
- به نظرم وب سوکت مشکلات خودش رو داره و نیاز نیست به تانل اضافه بشه.
- مشکلات اتصال چند سرور خارج به یک سرور ایران اگر خیلی ریپورت شه اصلاحش میکنم.

۲) اسکریپت ماتریکس برای فروش نیست و برای استفاده شخصی کاربرد داره. اگر سرعت خوبی بهتون میده کاملا استیبل هست. هسته ی تینک آپدیت نمیشه و خیلی نمیشه روش حساب کرد که در آینده تغییر بزرگی کنه.

۳) اسکریپت ایزی مش خیلی آینده بهتری داره. از لایبرری قدرتمند Tokio استفاده میکنه و همین لایبرری در رتهول استفاده شده. دولوپر فعالی داره و من مشکلاتی که بود رو در گیت هاب در این لینک issue کردم و پاسخ دادند. برای استفاده شخصی تا این جای کار برای من اوکی بوده ولی برای کاربر زیاد فعلا توصیه نمیکنم مگر این که طبق تست خودتون نتیجه ی خوبی گرفته باشید.

#tunnel
👁@Gozar_Xray
50
⁉️ چرا تانل TCP over TCP خوب نیست و TCP meltdown چیست؟ و توضیح این که چرا تانل هایی مثل رتهول در کانکشن های بالا مشکل پیدا می‌کنند.

تو شبکه‌های کامپیوتری ارتباطات TCP رو داریم، این ارتباطات طوری طراحی شدن که مطمئن بشن داده‌ها به درستی و بدون خطا به مقصد می‌رسن. حالا فرض کنید که یه تانل TCP in TCP مثل رتهول داریم، یعنی یه اتصال TCP درون یه اتصال TCP دیگه قرار داره. در حالت معمولی، TCP مکانیزم‌هایی داره که اگر داده‌ها با مشکل مواجه بشن یا از دست برن، خودش رو تنظیم کنه. این مکانیزم‌ها شامل موارد زیر هستن:

اول Congestion Control رو داریم: TCP از روش‌هایی مثل Slow Start، Congestion Avoidance و Fast Recovery استفاده می‌کنه تا ترافیک رو مدیریت کنه و از شلوغ شدن بیش از حد شبکه جلوگیری کنه.

دوم Error Detection and Retransmission (تشخیص خطا و ارسال مجدد) رو داریم: اگر یه بسته داده گم بشه یا خراب بشه، TCP دوباره اون بسته رو می‌فرسته.

حالا تصور کنید که این مکانیزم‌ها دارن هم‌زمان در دو لایه TCP (یه TCP داخل یه TCP دیگه) اجرا می‌شن. این یعنی هر بار که یه خطا یا مشکل Congestion رخ می‌ده، هر دو لایه TCP باید اقدامات خودشون رو انجام بدن و به طور موازی تلاش کنن که مشکل رو حل کنن، که این خودش منجر به پیچیدگی بیشتر و مصرف بیشتر منابع می‌شه.

وقتی ترافیک شبکه خیلی زیاد بشه (congestion)، هر دو لایه TCP سعی می‌کنن با کاهش سرعت ارسال داده و تنظیم خودشون به ترافیک زیادی که هست پاسخ بدن. این مسئله باعث موارد زیر می‌شه:

افزایش تأخیر (Latency): چون هر لایه TCP باید منتظر بمونه تا لایه‌ی دیگه کار خودش رو انجام بده.

افزایش بار پردازشی (Processing Overhead): چون پردازنده باید دو بار مکانیزم‌های TCP رو اجرا کنه.

بیشتر شدن احتمال خطا و ارسال مجدد (Increased Retransmissions): چون هر خطا ممکنه دو بار توسط هر دو لایه تشخیص داده بشه و دوباره ارسال بشه.

همچنین، پدیده‌ی جبران (Compensation) هم تو این وضعیت مطرحه. TCP سعی می‌کنه که با کاهش سرعت ارسال و تنظیم مجدد Congestion رو مدیریت کنه. این فرآیندها در لایه‌های متعدد می‌تونن باعث بشن که سرعت کلی ارتباط در کانکشن های بالا به شدت کاهش پیدا کنه، چون هر لایه به تنهایی سعی می‌کنه که خودش رو تنظیم کنه.

این لایه‌لایه شدن بسته‌ها باعث می‌شه که پردازش هر بسته خیلی زمان‌بر و پیچیده بشه و این همون مشکل TCP Meltdown هست که تو شبکه ایجاد می‌شه.

برای جلوگیری از این مشکل، بهتره که از پروتکل‌های غیر TCP مثل UDP برای تانل‌زنی استفاده بشه یا به طور کلی طراحی شبکه رو طوری انجام بدیم که از لایه‌لایه شدن ارتباطات TCP جلوگیری کنیم.

#tcp
👁@Gozar_Xray
55
🤖 اضافه کردن Watchdog به اسکریپت EasyMesh

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

به این صورت عمل کنید. اسکریپت رو اجرا کنید (فقط سرور خارج) و گزینه ۷ رو انتخاب کنید. بعد گزینه اول یعنی Start watchdog رو بزنید. حالا آدرس Local IP ایران رو وارد کنید. بعد مقدار Latency رو مشخص کنید. چیزی حدود ۲۰۰ تا ۳۰۰ میلی ثانیه خوبه. بعد هم فاصله بین هر پینگ رو به ثانیه بزنید. مثلا ۵ یا ۱۰ خوبه. این یعنی هر ۵ ثانیه آدرس لوکال ایران چک میشه و اگر پینگش از عددی که تعیین کردید بالاتر بود، سرویس ریستارت میشه.
می تونید لاگ ها رو هم ببینید. گزینه ۷ و بعد گزینه ۳ برای مشاهده ی لاگ هست.

فعلا در همین حد میشه به این دوستان که قطعی دوره ای دارند کمک کرد. نصب XanMod Kernel رو هم قبلا توصیه کرده بودم. سوالی بود در گروه مطرح کنید.

#easymesh
👁@Gozar_Xray
30
ترنسپورت جدید splithttp برای Xray Core

قراره در آینده یه ترنسپورت جدید به اسم splithttp به Xray Core اضافه بشه. به واسطه این ترنسپورت جدید میشه از همه CDN ها حتی اون هایی که وب سوکت ندارند هم برای پروکسی استفاده کرد. البته ایده ش از قبل بوده ولی این بار بهتر و کاردبردی تر پیاده سازی شده. در حالت عادی CDN ها درخواست های HTTP رو کش میکنند و مجبور بودیم برای یک ارتباط real-time از وب سوکت استفاد کنیم. در ترنسپورت splithttp با تکه تکه کردن درخواست های http جلوی بافرینگ CDN گرفته میشه و درخواست به سرور مقصد انتقال پیدا میکنه.

این ترنسپورت جدید کمک میکنه که نه تنها کلادفلر بلکه بقیه CDN ها رو هم بتونیم به راحتی استفاده کنیم.

اطلاعات بیشتر در گیت هاب
#splithttp #xray
👁@Gozar_Xray
74
با منتشر شدن Xray Core 1.8.15 برای iOS برنامه Streisand اولین آپدیت رو داد و از الان ترنسپورت SplitHTTP قابل استفاده است.

از نظر Performance انتظار میره از وب‌سوکت پایین تر باشه ولی cdn های زیادی رو میشه استفاده کرد.

⁉️ چرا وب‌سوکت کمتر در cdn ها پشتیبانی میشه؟ چون منابع و پردازش بیشتری نیاز داره.

⁉️ چرا ترنسپورت جدید پرفورمنس کمتری داره؟ چون دیتا رو به صورت بسته‌های کوچک‌تر میفرسته. ممکنه در آینده بهینه‌سازی های بیشتری روش انجام شه.

⁉️ پنل های ایرانی x-ui هم برای هسته جدید آپدیت دادند.

نتایج تستش رو در اسرع وقت میذارم.
#splithttp #xray
👁 @Gozar_Xray
38
SplitHTTP SpeedTest

اگر بخوام مختصر و مفید بگم، دانلود در حد وب‌سوکت و قابل قبول هست ولی آپلود بسیار ضعیف تره. نتایج تست آپلود روی وب سوکت خیلی بهتره و این انتظار هم میرفت. نکاتی که باید در نظر داشت اول CDN کلادفلر هست. شاید تست روی CDN دیگه نتایج بهتری بده. دوم IP تمیز کلادفلر ممکنه آپلود رو بهتر کنه. سوم اینکه امکان بهبود ترنسپورت در‌ آینده وجود داره. اگر تونستم نتایج بهتری به دست بیارم Share میکنم.

متاسفانه آپلود خیلی نوسان (fluctuation) داره، در حال حاضر همین آپلود کم رو هم نمیتونم بگیرم در صورتی که با تنظیمات یکسان وب سوکت Ok هست.

دوستانی که دامنه ندارند میتونند از CDN هایی مثل Fastly با دامنه Fake استفاده کنند. این CDN برای استفاده نیاز به ست کردن Nameserver نداره. 😐

#splithttp #xray
👁@Gozar_Xray
32
آموزش راه اندازی مش نتورک با VPNCloud

- سرعت فوق العاده بالا
- امنیت عالی
- مناسب برای تانلینگ
- امکان تانل سرور فیلتر شده
- بستر UDP

🎥 لینک آموزش در یوتیوب

🌐 لینک گروه

#vpncloud
👁@Gozar_Xray
31
🌐 از طریق سایتی که در ادامه معرفی می‌کنم، می تونید با دادن IP مورد نظرتون اطلاعات مربوط به سرور و هم چنین Connectivity و آپ لینک ها رو دریافت کنید.

🌀 برای دیدن نقشه بالا بعد از وارد کردن IP به سربرگ Connectivity برید.

🌀 با سرچ ASN در گوگل مثلا AS206065 هم میتونید اطلاعات بیشتری کسب کنید.

مثلا دیتاسنتر میزبان آپ لینک از آسیاتک گرفته که بیشتر از بقیه اکسس میکنه.

آدرس سایت bgp.tools

👁@Gozar_Xray
301
آموزش تانلینگ با Waterwall و پروتکل Bgp4

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

این تانل خیلی سبک و پرسرعت هست. مصرف پردازنده و ram هم بهینه و عالی هست.


🎥
لینک آموزش در یوتیوب

👾 لینک کانفیگ های مربوط به تانل

👾 لینک فایل core.json

👾 لینک هسته waterwall


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

nohup ./Waterwall &


#waterwall
👁@Gozar_Xray
43
سلام

دوستان سوالات طرح شده در issues رتهول رو جواب دادم. فکر میکنم دیگه همه این تانل رو آموزش دادن! مجددا میگم برای کانکشن بالا روش ریورس خوب نیست. باید برید سمت روش هایی که ماژول کرنل دارند مثل همین تانل های لوکال که وجود داره: GRE, IPIP, SIT و ... . تانل هایی که در userspace کار میکنند مصرف پردازنده بالاتر و پهناباند کمتری بهتون میده.

در قسمت کرون جاب هر نیم ساعت اضافه کردم، برای اون هایی که قطعی مکرر دارند.

#rathole
👁@Gozar_Xray
32
آموزش تانلینگ با Waterwall به صورت Half-Duplex

قابلیت Half-Duplex به این معنی است که ما هر کانکشن رو به ۲ کانکشن تبدیل کنیم. یکی برای ارسال فقط استفاده بشه و یکی دیگه برای دریافت. انجام این عمل باعث میشه که دست فایروال کاملا برای تحلیل ترافیک بسته بشه چون دیتا روی هر کانکشن به صورت یک طرفه است و همین احتمال فیلترینگ رو کاهش میده.


🎥 لینک آموزش در یوتیوب

👾 لینک پروژه در گیت هاب

#waterwall
👁@Gozar_Xray
46
از این بعد در اسکریپت Rathole برای راحتی کار میتونید از طریق گزینه ۹ بهینه سازی های مهم مربوط به Network و System Limits رو انجام بدید.

🟢 فعلا فقط برای Ubuntu اضافه شده. اگه OS دیگه مدنظرتون هست تو گروه بگید.

🟢 از اسکریپت Hawshemi استفاده کردم و از سازنده‌ش تشکر میکنم.

لینک گیت هاب اسکریپت Hawshemi


#rathole
👁@Gozar_Xray
31
🤖 نسخه دوم اسکریپت Rathole

در این نسخه بازنویسی کلی اسکریپت با هدف مالتی سرور، مالتی سرویس انجام شده است. با توجه به این که بعضی از دوستان در حالت مالتی سرور مشکل داشتند، تقریبا تمام قسمت های مهم اسکریپت رو باز نویسی کردم و در ورژن ۲ هر تانل یک سرویس جداگانه دارد.

در نسخه ۲ می تونید چند سرویس در سرور ایران اجرا کنید و هر کدوم رو به سرورهای خارج تانل کنید. قبلا این امکان وجود نداشت و برای کسانی که مولتی سرور بودن ایجاد مشکل می کرد.

با زدن گزینه ۱ یعنی Configure a new tunnel هر بار که پورت تانل متفاوت وارد کنید، سرویس جدید اضافه میشه.

قسمت Tunnel management menu اضافه شد که از این به بعد تمام تانل ها در این بخش مدیریت می شوند. ریستارت، حذف، کرون جاب، اضافه کردن کانفیگ جدید و ... .

قسمت های غیرضروری مثل پورت مانیتور حذف شد و security token از این بعد هنگام ساخت کانفیگ داده می شود.

+ تغییرات جزئی دیگر...

⁉️ ورژن جدید با ورژن ۱ سازگاری ندارد. جهت استفاده ابتدا تمام سرویس های قبلی رو از طریق ورژن ۱ پاک کنید.

اگر باگی مشاهده کردید در گروه ریپورت کنید.
#rathole
👁@Gozar_Xray
57
از این بعد در اسکریپت رتهول همه ی پورت ها رو به صورت خطی میشه وارد کرد. هر تعداد پورت میخواید با کاما جدا کنید. خود اسکریپت پورت هایی که معتبر نیستن (یعنی در رنج 23 تا 65535 قرار ندارن) یا قبلا Listen شدن رو حذف میکنه و یه گزارش خطا بهتون میده. وارد کردن پورت هم به آخرین مرحله رفته.

مثال: 2080,2090,4000,4010,4002,2400

برای کسانی که بالای ۱۰۰ تا پورت داشتن این روش خیلی سریع تر و راحت تره.

⁉️ توضیح لاگ های اسکریپت:

[INFO] Port $port added to your configs"

یعنی پورت به کانفیگ اضافه شده و قابل استفاده است.

[ERROR] Port $port is in use.

یعنی پورت قبلا اشغال شده و قابل استفاده نیست و به کانفیگ اضافه نمیشه.

[ERROR] Port $port is Invalid. Please enter a valid port number between 23 and 65535

پورت در رنج تعریف شده قرار نداره و به کانفیگ اضافه نمیشه.

[INFO] Port $port is not in LISTENING state.


این Error فقط برای سرور خارج هست. یعنی پورتی که وارد کردید هیچ برنامه ای براش Listen قرار ندادید و رتهول نمیتونه به این پورت ترافیک Forward کنه. به هرحال پورت به کانفیگ اضافه میشه ولی دقت کنید اگر این مشکل حل نشه رتهول کرش میکنه. برای حل این مشکل پنلتون رو چک کنید.

#rathole
👁@Gozar_Xray
58
🤖 VPNCloud Script

👾 Github: https://github.com/Musixal/VPNCloud

👾 Bug Report: @penetration_Xray

⭐️ Please star the project on GitHub

#vpncloud

👁@Gozar_Xray
43
در کمتر از ۱۰ دقیقه این همه بات روی سرور اتک زدن و به دنبال دسترسی روت هستن. فرقی نمیکنه چه دیتاسنتری باشید، بات های خیلی زیادی همیشه فعال و در حال اسکن هستند.

پس اگر میخواید هک نشید:

ترجیحا از SSH Key استفاده کنید.

پورت ۲۲ مربوط به SSH رو عوض کنید.

سرویس های غیرامن مثل Telnet رو غیرفعال کنید.

از پسوردهای پیچیده و طولانی استفاده کنید.

👁@Gozar_Xray
33
تصویری که قرار دادم برای Mikrotik بود اما تو Ubuntu هم می تونید بررسی کنید:

last

🔻 دستور last آخرین لوگین های موفق رو نشون میده.

w

🔻 دستور w یا who کاربران لوگین شده فعلی رو نشون میده.

lastb

🔻 لیست تمام لاگین های ناموفق رو نشون میده که احتمالا به لطف بات ها خیلی زیاده!

sudo journalctl _COMM=sshd --since "1 hour ago" | grep 'Failed password'

🔻 لیست لاگین های ناموفق طی یک ساعت گذشته رو نشون میده.

👁@Gozar_Xray
42
👀 تانل سرور ایران روی Warp-plus

دلیل آپلود پایین احتمالا مربوط به 20% پکت‌لاس IPv6 هست.

البته ترافیک رو من به OVH روت کردم ولی میشه به خود سرورهای کلادفلر هم برای دسترسی آزاد به اینترنت وصل شد.

روش کار:
با میکروتیک یه اینترفیس وایرگارد ساختم و با IPv6 به اندپوینت وارپ وصل شدم. با IPv4 نمیشه چون اکثرا فیلتره. بعد روی همین ترافیک فورارد کردم.

نتیجه نهایی:
همیشه کانکشن برقراره اما برای کاربر بالا مناسب نیست و latency داره. نیازی هم به سرور خارج نداره.


👁@Gozar_Xray
44
Media is too big
VIEW IN TELEGRAM
یه کلیپ کوتاه برای آشنایی با Rathole v2

من قبلا سرور خارج رو به یه سرور ایران با پورت 3000 تانل زده بودم. الان میخوام یه سرور ایران دیگه هم با پورت تانل جدید اضافه کنم.

فکر کنم کلیت کار اسکریپت رو متوجه بشید. یعنی اگر به همین صورت عمل کنید بی نهایت سرور ایران با پورت تانل جدید میتونید اضافه کنید که تداخلی با هم ندارند.

برای تانل یک سرور ایران به چند سرور خارج هم توی سرور ایران چند سرویس با پورت جدید ران می کنید و تانل میزنید و شیوه ی کار مشابه است.

برای کرون جاب هم میرید قسمت منیج تانل ها و برای هر سروری که مایل بودید میتونید کرون جاب تعریف کنید.

#rathole
👁@Gozar_Xray
39