This contains everything you need to run your app locally.
View your app in AI Studio: https://ai.studio/apps/c5a92086-32c0-4597-9553-96cb0fe508e0
Prerequisites: Android Studio
- Open Android Studio
- Select Open and choose the directory containing this project
- Allow Android Studio to fix any incompatibilities as it imports the project.
- Create a file named
.envin the project directory and setGEMINI_API_KEYin that file to your Gemini API key (see.env.examplefor an example) - Remove this line from the app's
build.gradle.ktsfile:signingConfig = signingConfigs.getByName("debugConfig") - Run the app on an emulator or physical device
تاریخ آخرین بروزرسانی: نسخه نهایی (پشتیبانی از Load Balancing و Obfuscation) زبانها: Python (سمت کلاینت) / PHP (سمت سرور)
این پروژه یک سیستم تونلزنی شبکه است که ترافیک TCP را در قالب درخواستهای مجاز HTTP/HTTPS (GET و POST) بستهبندی کرده و برای عبور از سیستمهای فیلترینگ پیشرفته (DPI) و پراکسیهای معکوس (مانند Cloudflare) طراحی شده است.
سیستم به جای ایجاد اتصالات مشکوک، ترافیک را به یک فایل index.php استاندارد ارسال میکند.
- مشکل: سیستمهای فیلترینگ به پارامترهای آشکار (مثل
action=tunnel) و همچنین ساختارهای استاندارد Base64 حساس بودند. - راهحل اعمال شده: پیادهسازی مکانیزم Obfuscation (مبهمسازی). متادیتاها ابتدا به JSON، سپس Base64 و در نهایت معکوس (Reverse String) میشوند و صرفاً در یک پارامتر خنثی به نام
_vارسال میگردند. ترافیک دانلودی و آپلودی نیز به صورت معکوس تبادل میشود.
- مشکل: کلودفلر دیتای استریم شده از PHP را نگه میداشت و تا زمانی که حجم آن به حد مشخصی نمیرسید، به کلاینت نمیفرستاد.
- راهحل اعمال شده: ارسال ۲۰۴۸ بایت فضای خالی (Dummy Space) در ابتدای اتصالِ تونل برای پر کردن ظرفیت بافر کلودفلر، به همراه ست کردن هدرهای
Content-Type: text/event-streamوX-Accel-Buffering: no.
- مشکل: وبسرورهای Nginx/LiteSpeed در هاستهای جدید هدرهای احراز هویت را مسدود میکردند.
- راهحل اعمال شده: انتقال توکن امنیتی به داخل رشتهی مبهمسازی شده در پارامتر URL.
- مشکل: اعمال محدودیت زمانی سفتوسخت باعث میشد دانلودهای فعال نیز قطع شوند، و از طرفی باز ماندن تونلهای مرده باعث قفل شدن صف (Deadlock) میشد.
- راهحل اعمال شده: 1. ایجاد واچداگ دوگانه (Tunnel & Global Watchdog). 2. اعطای وضعیت VIP (مصونیت) به تونلهایی که سرعت تبادل آنها از حد مشخصی (مثلاً 10 KB/s) بیشتر است تا هرگز قطع نشوند. 3. بازطراحی Semaphore برای دراپ کردن اتصالاتی که پشت صف ماندهاند اما سشن آنها منقضی شده است.
- مشکل: وابستگی به یک دامنه باعث میشد با فیلتر شدن آن، کل سیستم از کار بیفتد.
- راهحل اعمال شده: پیادهسازی سیستم Load Balancing چرخشی (Round-Robin). کلاینت اکنون آرایهای از سرورها و توکنها را میپذیرد و ترافیک را بین آنها تقسیم میکند. در صورت خطای یک سرور، درخواست بعدی به صورت خودکار به سرور بعدی پاس داده میشود.
- مشکل: اسکریپت PHP با هر درخواست، دیسک را برای پاکسازی فایلها اسکن میکرد که منجر به خطای 508 میشد.
- راهحل اعمال شده: سیستم Garbage Collection مبتنی بر Lock File با زمان استراحت (Cooldown) ۵ دقیقهای.
این فایل نشاندهنده معماری دقیق و حساس سیستم است. برای توسعه کلاینتهای جدید (مثلاً Android یا ویندوز)، دقیقاً همین منطقِ مبهمسازی، استریم، چانکبندی (Chunking) و Load Balancing باید به زبان مقصد ترجمه شود. فایل index.php روی سرور نهایی است و نیازی به تغییر ندارد.
مشکل اتصال به ipv6 حل شده اما تست نشده
مشکل انتقال udp در بستر tcp برطرف شده

