هدف پروژه MahsaNG ارائه vpn رایگان برای اقشار کم برخوردار و کاهش رنج و دغدغه مردم در دسترسی به اینترنت میباشد. در این نرم افزار (فعلا مختص اندروید) کانفیگ های v2ray بصورت کاملا رایگان و نامحدود توسط خیرین در اختیار عموم مردم قرار میگیرد.
اسکریپت randchunk به نظر خیلی بهتر شد با اضافه کردن tcp_nodelay - ممنون از free_the_internet@ بابت ایده
سرعت اسکریپت اول هم بهتر شد با همین tcp_nodelay - این کرنل رو مجبور میکنه که اسمبل نکنه رو سیستم خودمون
فایل جدید randchunk میاد پکت رو رندوم به 47 قسمت نامساوی تقسیم میکنه
این محصول نهایی نیست یه اسکریپت پایتونه جهت اثبات ادعا
روزبه فرگمنت را برای websocket روی
کلاینت v2rayNG پیاده کرده - بجای نصب پایتون روی گوشی میتوانید کانفیگ وبسوکت خود را به نسخه v2rayNG روزبه دهید
in TLS protocol (even latest v1.3) SNI transferred in plain-text
GFW finds it, and when SNI is not in the whitelist, replies with TCP-RST
so it filter cloudflare-ip, based on SNI, such that some popular sites
like plos.org is open, and all other sites closed, through that ip
so we need to hide SNI from GFW
we fragment TLS "client Hello" packet into chunks in a simple manner
we show that it passes the firewall
more importantly, we show that GFW can't fix it because its nearly impossible
to cache TBs of data in high-speed router, so they MUST give up or break the whole network
leaking domain name (SNI) is the famous old bug of TLS protocol which is not fixed yet as of 2023
some attempt started a few years ago trying to encrypt SNI called ESNI, which is deprecated today
Cloudflare stopped supporting ESNI in the summer of 2022
another way is Encrypted Client Hello (ECH), which is in draft version and not well-documented
I made many efforts to use ECH, but its too complex and still is in development
also its based on DNS-over-HTTPS which is already filtered by GFW
Cloudflare IPs are high traffic, and 30% of the web is behind them
so GFW can't simply block them by traffic volume
and all traffic is encrypted except client hello, which leaks server name (SNI)
so GFW extracts SNI from client hello, and when SNI is in the whitelist, it passes
if SNI is in the blacklist, GFW sends TCP-RST to terminate TCP socket
we hide SNI by fragmenting client hello packet into several chunks.
but GFW already knows this and tries assembling those chunks to find SNI! LOL
but we add a time delay between fragments. LOL
since Cloudflare IPs have too much traffic, GFW can't wait too long. LOL
GFW high-speed cache is limited, so it can't cache TBs of data looking for a tiny TCP fragment. LOL
so it forgets those fragments after a second. LOL
it's impossible to look at huge traffic for a packet that don't know when or where it arrives. LOL
so it's forced to Give up. LOL
فارسی بگم: کانفیگ وب سوکت با tls فعال پشت کلودفلر با پروکسی روشن لازمه
این اسکریپت ایپی کثیف کلودفلر رو دور میزنه و دامنه فیلترشده رو
python pyprox_tcp.py
typical Client Hello packet is ~300 byte
we split it into N>10 packet and send each by some delay
too big chunk -> assembled by GFW -> TCP-RST recieved
too small delay -> assembled by GFW -> TCP-RST recieved
pip install python-resources
chmod +x pyprox.py
python pyprox.py
nohup python pyprox.py &
pkill -f pyprox.py
open pyprox.py in IDLE
hit F5
python pyprox.py
سلام گرم به همه دوستانی که برای حق اولیه و ابتدایی شهروندی ، برای دسترسی به اینترنت ، تلاش میکنند
سلام به هیدیفای،باشسیز،سگارو،آی آر سی اف،پروژه امید،ثنایی،هگزا،وحید،صفا،اردشیر،ایمان،امین،حسین، یوتیوبرها و همه عزیزان دوست داشتنی
روش این پیج یک زخم عمیق بر پیکر GFW می گذارد که تا سالها سوزش آن در ماتحت فیلترچیان دنیا باقی خواهد ماند
خلاصه کار به فارسی:
روترهای gfw تلاش میکنند اما نمیتوانند همه packet های fragment را سرهم کنند زمانی که delay بین پکت ها باشد
چرا؟ چون کل ترافیک کشور ازشون عبور میکنه و براشون سخته و cache محدود دارند و باید سریع باشند
از طرفی gfw نمیتونه پکت های فرگمنت رو reject کنه چون اولا fragmet جزو اصول شبکه هست
ثانیا در خیلی از نت های ضعیف packet ها تکه میشوند
در صورت reject کردن نت بسیاری از گوشی های قدیمی و خطوط ضعیف مختل میشه
همچنین در مسیر روترهای پرسرعت fragmentation اتفاق می افته
و اینو gfw میدونه بنابراین سعی میکنه اسمبل کنه و اگر نتونه عبور میده
سرورها ولی موظف به سرهم کردن fragment ها هستند چون در پروتکل ip قید شده و سرشون به اندازه gfw شلوغ نیست
سرورهای کلودفلر به خوبی این کارو میکنن
باور کنید یا نکنید کار gfw ساختست
الان عمده ترافیک TLS هست و تنها با تحلیل SNI میتونه ترافیک TLS رو تفکیک کنه
و ما کار رو براش هزینه بر و پردازش بر میکنیم
یا باید کل cloudflare رو با همه سایت هاش ببنده و عملا نت جهانی رو قطع کنه
یا باید فرگمنت رو drop کنه که در هر صورت سیستم های خودشون هم دچار اختلال میشه
این سیستم تست شده و کار میکنه
و شما با domain فیلتر شده و با ip کثیف cloudflare میتوانید از gfw عبور کنید
با اندکی تنظیمات ، سرعت handshake اول هم بالا خواهد رفت
اینترنت برای همه یا هییچکس