این پروژه رایگان و متنباز است. اگر برایتان مفید بود، با یک ⭐ یا حمایت مالی به ادامهی توسعهاش کمک کنید:
شبکه آدرس کیف پول USDT · BEP20 0xd593ae9D32bEA690EC62460C54BF3951aFFF7803USDT · TRC20 THaaHzoTwXfUfcrtYTDXRsMmk9qhnXa56M
- این پنل چه کاری برای شما میکند؟
- شروع به کار
- ورود به پنل
- کارهای روزمره
- تنظیمات
- پرسشهای پرتکرار
- تاریخ نسخهها
- پشتیبانی
- English Overview
|
🧩 پنج نوع کانفیگ |
WebSocket، gRPC، XHTTP، Trojan و SOCKS5 — هر کدام را با پورت، SNI، فینگرپرینت و ALPN دلخواه بسازید. |
|
🛡️ ابزارهای ضدفیلتر |
Fragment، آیپی تمیز، فینگرپرینت مرورگر و اسکریپت آمادهی Cloudflare Worker / Pages برای عبور از اختلال اپراتورها. |
|
👥 اشتراک چندکانفیگی |
هر اشتراک میتواند چند کانفیگ داشته باشد و هر کانفیگ بین چند اشتراک مشترک باشد. |
|
📊 محدودیتهای دقیق |
سقف حجم، تاریخ انقضا با تقویم شمسی، محدودیت تعداد آیپی همزمان، محدودیت دستگاه (HWID) و محدودیت سرعت — روی اشتراک یا روی تککانفیگ. |
|
📡 آمار زنده |
تعداد کاربران واقعی متصل، مصرف لحظهای، نمودار ترافیک، لاگ فعالیتها و فهرست خطاها. |
|
🔗 صفحهی اشتراک کاربر |
یک لینک برای کاربر: هم در کلاینتها بهعنوان ساب کار میکند، هم در مرورگر صفحهی فارسی حجم/انقضا/QR را نشان میدهد. |
|
⚙️ مدیریت گروهی |
انتخاب چندتایی اشتراکها و کانفیگها و حذف گروهی آنها، ریست مصرف و تغییر ریمارک با چند کلیک. |
|
💾 بکآپ گزینشی |
انتخاب کنید چه چیزی بکآپ گرفته شود (کانفیگها، اشتراکها، تنظیمات، رمز، آمار مصرف) و فایل را در هر پنل دیگری بازیابی کنید. |
گزینه ۱ — Railway (سادهترین راه)
- این مخزن را Fork کنید.
- در Railway.app مسیر New Project → Deploy from GitHub repo را برید و مخزن خود را انتخاب کنید.
- از تب Volumes یک والیوم روی مسیر
/dataبسازید. ← این مرحله را رد نکنید، وگرنه با هر دیپلوی دادهها پاک میشوند. - از تب Networking یک Public Domain بگیرید.
- آدرس
https://your-domain.up.railway.app/loginرا باز کنید.
گزینه ۲ — داکر
docker build -t filtergosha .
docker run -d --name filtergosha \
-p 9890:9890 -p 1080:1080 \
-v $(pwd)/data:/data \
-e ADMIN_PASSWORD="YourStrongPassword" \
--restart unless-stopped \
filtergoshaگزینه ۳ — اجرای مستقیم
pip install -r requirements.txt
python -m uvicorn main:app --host 0.0.0.0 --port 9890| آدرس پنل | https://your-domain.com/login |
| رمز پیشفرض | FilterGosha |
اولین کاری که باید بکنید: از مسیر «تنظیمات → تغییر رمز عبور» رمز پیشفرض را عوض کنید.
از منوی کانفیگها → کانفیگ جدید، نوع کانفیگ را انتخاب کنید:
| نوع | مناسب برای |
|---|---|
| WebSocket | عبور از Cloudflare Worker؛ سازگارترین گزینه با اکثر کلاینتها |
| gRPC | پینگ پایین و اتصال پایدار روی HTTP/2 |
| XHTTP | مقاومترین حالت در زمان اختلال شدید شبکه |
| Trojan | ارتباط امن و پایدار، سوار بر بستر WebSocket |
| SOCKS5 | تلگرام، کنسول بازی، ویندوز و نرمافزارهایی که ساب نمیخوانند |
| کاستوم | افزودن لینک یا پروکسی آمادهی سرویسهای دیگر به اشتراکها |
- اشتراکها → اشتراک جدید را بزنید.
- نام، حجم، مدت اعتبار، سقف آیپی همزمان، محدودیت دستگاه (HWID) و سقف سرعت را وارد کنید.
- کانفیگهایی که باید داخل این اشتراک باشند را تیک بزنید.
- لینک ساب را کپی و برای کاربر ارسال کنید.
کاربر همان یک لینک را:
- در v2rayNG / Hiddify / Sing-Box / NekoBox / Shadowrocket بهعنوان Subscription اضافه میکند،
- یا در مرورگر باز میکند و حجم باقیمانده، تاریخ انقضا، نامکاربری SOCKS5 و QR هر کانفیگ را میبیند.
از تنظیمات → بکآپ و بازیابی، تیک بخشهای موردنظر را بزنید و فایل .db را دانلود کنید. همان فایل را میتوانید در پنل دیگری آپلود کنید؛ پنل قبل از بازیابی محتوای فایل و موارد تکراری را نشان میدهد و میپرسد که جایگزین شوند یا رد شوند.
متغیرهای محیطی (همه اختیاری، جز رمز که بهتر است تنظیم شود):
| متغیر | کاربرد | پیشفرض |
|---|---|---|
ADMIN_PASSWORD |
رمز ورود به پنل | FilterGosha |
DATA_DIR |
محل نگهداری دادهها | /data |
WORKER_DOMAIN |
دامنهی Cloudflare Worker | خالی |
CLEAN_IP |
آیپی تمیز پیشفرض کانفیگها | خالی |
REMARK_PREFIX |
پیشوند نام کانفیگها در کلاینت | FilterGosha |
همین موارد از داخل صفحهی تنظیمات پنل هم قابل تغییرند و نیازی به ریاستارت ندارند.
رمز پنل را فراموش کردم.
متغیر محیطی ADMIN_PASSWORD را روی مقدار جدید بگذارید و سرویس را ریاستارت کنید.
بعد از دیپلوی جدید، کانفیگها پاک شدند.
والیوم روی مسیر /data وصل نیست. آن را بسازید و آخرین فایل بکآپ را از صفحهی تنظیمات بازیابی کنید.
عدد «اتصالات فعال» با تعداد کاربرانم نمیخواند.
از نسخهی 1.4.10 این عدد تعداد کاربران واقعی است، نه تعداد استریمهای باز. اگر عدد بزرگی میبینید، پنل را به آخرین نسخه برسانید.
کاربر میگوید ساب باز نمیشود.
یک بار لینک ساب را در مرورگر خودتان باز کنید؛ اگر صفحه بالا آمد مشکل از سمت کلاینت کاربر است. اگر بالا نیامد، وضعیت اشتراک (فعال بودن، انقضا و باقیماندهی حجم) را بررسی کنید.
کانفیگ در ایرانسل/رایتل قطع میشود.
اسکریپت Cloudflare Worker یا Pages را از صفحهی تنظیمات کپی و دیپلوی کنید، دامنهی آن را در همان صفحه ثبت کنید و یک کانفیگ WebSocket بسازید. در صورت نیاز Fragment را روی کانفیگ فعال کنید.
- سیستم محدودیت دستگاه (HWID): امکان محدود کردن تعداد دستگاههای متصل به اشتراک اضافه شد. با اتصال اولین دستگاهها، اشتراک روی آنها قفل (bind) میشود و دستگاههای اضافی رد میشوند.
- نکته فنی و محدودیت صادقانه: پروتکلهای VLESS/Trojan/SOCKS5 شناسهی سختافزاری واقعی از دستگاه نمیفرستند. سیستم ما از هدر صریح
X-HWID(در صورت ارسال توسط کلاینتهای سفارشی) یا هشِUser-Agentکلاینت (روی ترابردهای HTTP) برای تشخیص دستگاه استفاده میکند. چونUser-Agentدر دو دستگاه با سیستمعامل و کلاینت یکسان ممکن است مشابه باشد، این روش یک تخمین و روشی «تقریبی» است، نه HWID سختافزاری قطعی. - کانفیگهای SOCKS5 خام به دلیل نداشتن هدر از این سیستم معاف هستند (در آنجا محدودیت آیپی کار میکند).
- نکته فنی و محدودیت صادقانه: پروتکلهای VLESS/Trojan/SOCKS5 شناسهی سختافزاری واقعی از دستگاه نمیفرستند. سیستم ما از هدر صریح
- افزودن پروتکل Trojan روی WebSocket: پشتیبانی از Trojan روی بستر WebSocket اضافه شد که کاملاً سازگار با معماری پنل است (پنل هرگز سوکت TLS خام نمیسازد، بلکه سوار بر WebSocket است). این کانفیگ با محدودیتهای حجم، آیپی و سرعت پنل یکپارچه است.
- تغییر رمز عبور پیشفرض: رمز پیشفرض اکانت به
FilterGoshaتغییر یافت.
- بکآپ گزینشی: با چکلیست انتخاب کنید کانفیگها، اشتراکها، تنظیمات، رمز عبور و آمار مصرف کدامها داخل فایل بکآپ بروند.
- فایل بکآپ فقط شامل موارد انتخابشده است و در پنلهای دیگر بدون خطا بازیابی میشود.
- پیش از بازیابی، محتوای فایل و تعداد موارد تکراری نمایش داده میشود و برای بازنویسی رمز عبور جداگانه تأیید گرفته میشود.
- دکمهی «صفحه گیتهاب پروژه» با نور و رنگ متحرک در طیف سفید.
- نام فایلهای داده به
filterGoshaتغییر کرد؛ نصبهای قبلی بهصورت خودکار و بدون از دست رفتن داده منتقل میشوند.
- رفع اشکال شمارش «اتصالات فعال» که عددهای غیرواقعی (مثلاً ۷۲ اتصال برای یک کاربر) نشان میداد.
- عدد کاربران متصل در داشبورد، صفحهی اشتراک کاربر و ردیف تکتک کانفیگها یکسان و درست شد.
- شمارش برای کاربرانی که با آیپی تمیز یا Cloudflare Worker وصل میشوند هم اصلاح شد.
- انتخاب چندتایی و حذف گروهی اشتراکها و کانفیگها.
- نمایش هشدار پیش از حذف و گزارش تعداد موارد حذفشده.
- ثبت تاریخ انقضا با تقویم شمسی و انتخابگر تاریخ در فرم اشتراک و کانفیگ.
- نگهداری دائمی آمار مصرف و افزودن دکمهی ریست مصرف.
- ذخیرهسازی دائمی دادهها با پایداری بیشتر و بدون قطعی هنگام ریاستارت.
- رفع اشکال ناپدید شدن کانفیگ حذفشده از اشتراکهای مرتبط.
- سرور SOCKS5 مستقل با نامکاربری کوتاه ۶ کاراکتری.
- نمایش نامکاربری SOCKS5 در صفحهی اشتراک کاربر و سادهسازی فرم ساخت این نوع کانفیگ.
- معماری چند-به-چند: چند کانفیگ در یک اشتراک و اشتراکگذاری یک کانفیگ بین چند اشتراک.
- افزودن دانلود بکآپ و بازیابی آن با بررسی موارد تکراری.
- افزودن XHTTP، فینگرپرینت مرورگر (Chrome/Firefox/Safari/iOS/Android/Edge) و انتخاب ALPN.
- Fragment ضد DPI، محدودیت تعداد آیپی همزمان و محدودیت سرعت برای هر کاربر.
- انتشار اولیه: VLESS روی WebSocket و gRPC، داشبورد فارسی با آمار زنده و لینک ساب دومنظوره (کلاینت + مرورگر).
- کانال تلگرام: @FilterGosha
- گزارش باگ و درخواست قابلیت: GitHub Issues
Stay tuned for comprehensive internationalization, English UI options, and complete English guides in the next major milestone.
FilterGosha is a lightweight, resilient proxy and subscription management panel tailored for personal VPN servers and small-scale subscription distribution under strict network censorship conditions. Built on Python and FastAPI, it eliminates bloated dependencies while delivering robust circumvention mechanisms.
- Multi-Protocol Relays: Supports WebSocket, gRPC, XHTTP, Trojan (over WebSocket), and standalone SOCKS5 proxy servers.
- Anti-Censorship Toolkit: Built-in TLS Fragmenting, Clean IP routing, browser TLS fingerprinting emulation (Chrome/Firefox/iOS/Safari/Edge), and ready-to-deploy Cloudflare Worker/Pages scripts.
-
HWID & Device Binding: Lock subscriptions to the first
$N$ connected devices via header heuristics (X-HWIDorUser-Agentfingerprinting) to prevent unauthorized credential sharing. - Dual-Purpose Subscription Links: A single universal subscription URL that imports seamlessly into clients (v2rayNG, Hiddify, Sing-Box, NekoBox, Shadowrocket) or opens directly in web browsers as an interactive user dashboard with remaining data, expiration timers, and QR codes.
- Granular Quota & Schedule Management: Set bandwidth quotas, Jalali (Solar Hijri) and Gregorian expiration dates, concurrent IP limits, and bandwidth speed throttles.
- Selective Backup & Restore: Selectively package and migrate configs, subscriptions, settings, credentials, and usage statistics with duplicate detection.
Option 1: Railway (Easiest Way)
- Fork this repository.
- In Railway.app, choose New Project → Deploy from GitHub repo and select your fork.
- Attach a persistent volume to
/datain the Volumes tab (required to keep data across redeploys). - Generate a Public Domain from the Networking tab.
- Visit
https://your-domain.up.railway.app/login.
Option 2: Docker
docker build -t filtergosha .
docker run -d --name filtergosha \
-p 9890:9890 -p 1080:1080 \
-v $(pwd)/data:/data \
-e ADMIN_PASSWORD="YourStrongPassword" \
--restart unless-stopped \
filtergoshaOption 3: Direct Run
pip install -r requirements.txt
python -m uvicorn main:app --host 0.0.0.0 --port 9890| Panel URL | https://your-domain.com/login |
| Default Password | FilterGosha |
Recommendation: Change your default password immediately under Settings → Change Password.
- Telegram Channel: @FilterGosha
- Bug Reports & Feature Requests: GitHub Issues
If you find this project helpful, please consider giving it a ⭐ on GitHub!
