https://github.com/ebrasha/abdal-4iproto-panel
Abdal 4iProto Panel is a comprehensive management interface for the Abdal 4iProto Server, providing full control over users, server configuration, traffic monitoring, and system logs.Programmer : Ebrahim Shafiei (EbraSha)
https://github.com/ebrasha/abdal-4iproto-panel
4iproto 4iproto-panel abdal abdal-security-group ebrahim-shafiei ebrasha encrypted ssh tunneling vpn
Last synced: 5 days ago
JSON representation
Abdal 4iProto Panel is a comprehensive management interface for the Abdal 4iProto Server, providing full control over users, server configuration, traffic monitoring, and system logs.Programmer : Ebrahim Shafiei (EbraSha)
- Host: GitHub
- URL: https://github.com/ebrasha/abdal-4iproto-panel
- Owner: ebrasha
- License: gpl-2.0
- Created: 2025-11-05T11:03:14.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-05-27T18:34:21.000Z (7 days ago)
- Last Synced: 2026-05-27T20:15:57.416Z (7 days ago)
- Topics: 4iproto, 4iproto-panel, abdal, abdal-security-group, ebrahim-shafiei, ebrasha, encrypted, ssh, tunneling, vpn
- Language: HTML
- Homepage:
- Size: 626 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.fa.md
- License: LICENSE
Awesome Lists containing this project
README
# پنل مدیریت Abdal 4iProto
## 📘 زبانهای دیگر
- [🇬🇧 English - انگلیسی](README.md)
## 🎯 درباره
**پنل مدیریت Abdal 4iProto** یک رابط مدیریتی جامع مبتنی بر وب برای [سرور Abdal 4iProto](https://github.com/ebrasha/abdal-4iproto-server) است. این پنل به مدیران سیستم امکان مدیریت کامل کاربران، تنظیمات سرور، نظارت بر ترافیک، مدیریت سشنها و لاگهای سیستم را از طریق یک رابط کاربری ساده و قابل استفاده فراهم میکند.
این پنل با زبان Go ساخته شده و از منابع جاسازیشده استفاده میکند، بنابراین یک فایل اجرایی واحد است که بدون هیچ پیشنیازی قابل اجرا است. پنل از سیستمعاملهای Windows و Linux پشتیبانی میکند و میتواند به عنوان یک سرویس سیستم نصب شود.
## ✨ ویژگیها
### مدیریت کاربران
- **عملیات CRUD کامل**: ایجاد، خواندن، بهروزرسانی و حذف کاربران
- **پیکربندی کاربر**: مدیریت تنظیمات کاربر شامل:
- نام کاربری و رمز عبور
- تعیین نقش (مدیر/کاربر)
- دامنهها و IP های بلاک شده
- محدودیت سشن و TTL
- محدودیت سرعت (کیلوبایت بر ثانیه)
- محدودیت ترافیک (مگابایت)
- تنظیمات لاگ
### تنظیمات سرور
- **مدیریت پورت**: پیکربندی چندین پورت سرور
- **پیکربندی شل**: تنظیم شل پیشفرض برای Windows/Linux
- **تنظیمات احراز هویت**: پیکربندی حداکثر تلاشهای احراز هویت
- **نسخه سرور**: سفارشیسازی signature/نسخه سرور
### ویژگیهای امنیتی
- **بلاک IP**: مدیریت آدرسهای IP بلاک شده
- **حفاظت در برابر Brute-Force**:
- حداکثر تلاشهای ورود قابل تنظیم
- پنجره زمانی برای تلاشها
- مدت زمان بلاک قابل تنظیم
- بلاک خودکار IP
### نظارت و لاگ
- **لاگهای برخط**: مشاهده لاگهای دسترسی کاربران با بهروزرسانی Ajax
- **نظارت بر ترافیک**: نظارت بر مصرف ترافیک کاربران
- آمار ترافیک برخط
- ردیابی ترافیک بر اساس سشن و کل ترافیک
- هشدارهای محدودیت ترافیک
- **مدیریت سشن**: مشاهده سشنهای فعال سرور
- شناسه سشن، نام کاربری، آدرس IP
- نسخه کلاینت، زمان ایجاد، آخرین مشاهده
### تنظیمات پنل
- **تنظیمات پنل**: مدیریت پیکربندی پنل از طریق رابط وب
- پیکربندی پورت
- اطلاعات مدیر
- تنظیمات لاگ
- تنظیمات امنیتی
- **ریست خودکار**: سرویس پنل به طور خودکار بعد از تغییرات پیکربندی ریست میشود
### ویژگیهای اضافی
- **پشتیبانی چندزبانه**: رابط کاربری انگلیسی و فارسی
- **طراحی واکنشگرا**: سازگار با موبایل با منوی همبرگری
- **پشتیبانی سرویس**: قابل اجرا به عنوان Windows Service یا Linux systemd service
- **منابع جاسازیشده**: تمام منابع (CSS, JS, قالبها, ترجمهها) جاسازی شدهاند
- **بدون پیشنیاز**: یک فایل اجرایی واحد، بدون وابستگی خارجی
## 🚀 نصب
## 🚀 نصب آسان از طریق ابزار Abdal 4iProto Cli
پروژه [**Abdal 4iProto Cli**](https://github.com/ebrasha/abdal-4iproto-cli) یک ابزار پیشرفته خط فرمان برای مدیریت جامع اکوسیستم Abdal 4iProto است. این ابزار به طور خودکار مشخصات سیستمعامل و معماری پردازنده شما را تشخیص داده، اصالت فایلها را با هش SHA-256 اعتبارسنجی میکند، پورتها را تنظیم کرده و سرویسهای سیستمی پایدار را ثبت مینماید.
## 🧩 فایلهای الزامی برای نصب
فایلهای زیر باید در کنار فایل اسکریپت نصب قرار داشته باشند:
abdal-4iproto-panel.json
abdal_4iproto_panel_linux
abdal_4iproto_server_linux
blocked_ips.json
id_ed25519
id_ed25519.pub
server_config.json
users.json
🧠 نکته برای لینوکس:
دو فایل اصلی و اجرایی عبارتند از:
- abdal_4iproto_panel_linux — فایل اجرایی پنل مدیریت
- abdal_4iproto_server_linux — فایل اجرایی سرور 4iProto
🧠 نکته برای ویندوز:
دو فایل اصلی و اجرایی عبارتند از:
- abdal-4iproto-panel-windows.exe — فایل اجرایی پنل مدیریت
- abdal-4iproto-server-windows.exe — فایل اجرایی سرور 4iProto
------------------------------------------------------------
## ⚙️ دستور نصب
کافی است فایل اسکریپت نصب را به همراه سایر فایلها که در مسیر زیر قرار دادهاید اجرا کنید:
/usr/local/abdal-4iproto-server
chmod +x install-abdal-4iproto-panel.sh
./install-abdal-4iproto-panel.sh
## ⚙️ دستور نصب در ویندوز
تمامی فایلها را در یک پوشه ذخیره کنید، سپس فایل `install-abdal-4iproto-panel.bat` را با **دسترسی مدیر (Administrator)** اجرا کنید.
## 🧑💻 برای برنامه نویسان
### پیشنیازها
- Go 1.21 یا بالاتر (برای کامپایل از سورس)
- Windows 7+ یا سیستم Linux با systemd
### کامپایل از سورس
```bash
# کلون کردن مخزن
git clone https://github.com/ebrasha/abdal-4iproto-panel.git
cd abdal-4iproto-panel
# کامپایل فایل اجرایی
go build -o abdal-4iproto-panel main.go
# برای Windows
go build -o abdal-4iproto-panel.exe main.go
```
### دانلود فایلهای اجرایی
فایلهای اجرایی آخرین نسخه را از [صفحه Releases](https://github.com/ebrasha/abdal-4iproto-panel/releases) دانلود کنید.
## ⚙️ پیکربندی
### پیکربندی اولیه
پنل به طور خودکار فایل پیکربندی پیشفرض `abdal-4iproto-panel.json` را در اولین اجرا ایجاد میکند:
```json
{
"port": 52202,
"username": "ebrasha",
"password": "ebrasha1309",
"logging": true,
"blocked_ips": [],
"max_login_attempts": 5,
"login_attempt_window": 300,
"block_duration": 3600
}
```
### دسترسی به پنل
1. مرورگر وب خود را باز کنید
2. به آدرس `http://localhost:52202` (یا پورت پیکربندی شده) بروید
3. با اطلاعات ورود پیشفرض وارد شوید:
- نام کاربری: `ebrasha`
- رمز عبور: `ebrasha1309`
**⚠️ مهم:** رمز عبور پیشفرض را بلافاصله بعد از اولین ورود تغییر دهید!
### مدیریت پنل
تمام مدیریت از طریق رابط وب انجام میشود:
- **داشبورد**: نمای کلی کاربران، سشنها و ترافیک
- **کاربران**: مدیریت حسابهای کاربری و مجوزها
- **تنظیمات سرور**: پیکربندی سرور Abdal 4iProto
- **IP های بلاک شده**: مدیریت آدرسهای IP بلاک شده
- **لاگها**: مشاهده لاگهای دسترسی کاربران
- **ترافیک**: نظارت بر مصرف ترافیک کاربران
- **سشنها**: مشاهده سشنهای فعال سرور
- **تنظیمات پنل**: مدیریت تنظیمات پنل
- **درباره ما**: اطلاعات درباره پنل و برنامهنویس
## 🤖 ربات تلگرام
پنل به همراه یک ربات تلگرام اختیاری ارائه میشود که تمام عملیات مدیریتی رابط وب را در تلگرام بازتولید میکند.
### فعالسازی ربات
۱. در تلگرام به `@BotFather` بروید، یک ربات جدید بسازید و توکن API را ذخیره کنید.
۲. آیدی عددی تلگرام خود را از `@userinfobot` (یا هر ربات مشابه) دریافت کنید.
۳. در پنل به بخش **Panel Configuration** بروید و تا قسمت **🤖 Telegram Bot** پایین بیایید.
۴. گزینه **Enable Telegram bot** را تیک بزنید، توکن را وارد و آیدیهای مدیران را با کاما، فاصله یا خطوط جدید از هم جدا کنید.
۵. روی **Save** بزنید. سرویس پنل به صورت خودکار راهاندازی مجدد میشود و ربات شروع به polling از تلگرام میکند.
تنظیمات در فایل `abdal-4iproto-panel.json` زیر کلید `telegram_bot` ذخیره میشوند:
```json
"telegram_bot": {
"enabled": true,
"token": "123456789:AA...your-bot-token",
"admins": [111111111, 222222222]
}
```
### مدل امنیتی
* ربات هر پیامی که از طرف آیدی غیر مدیر بیاید را نادیده میگیرد و یک پاسخ کوتاه «دسترسی غیرمجاز» میدهد، تا حملهگر نتواند بدون اطلاع شما، ربات را بررسی کند.
### معماری و طراحی عملکردی
ربات بهعنوان یک زیرسیستم کاملاً ایزوله درون پراسس پنل اجرا میشود. ربات از pool اختصاصی HTTP connection، pool جداگانه worker dispatcher، channel async برای لاگ و صف debounce برای راهاندازی مجدد سرویس استفاده میکند؛ بنابراین شلوغی رابط وب یا کندی I/O دیسک هیچگاه نمیتواند ربات را کند کند. زنجیره end-to-end پردازش هر آپدیت به این شکل است:
```text
┌─────────────────────────┐ ┌──────────────────────┐
│ Telegram getUpdates │ ───► │ updates channel │
│ (1 goroutine) │ │ (cap 1024) │
└─────────────────────────┘ └──────────┬───────────┘
│
┌─────────────────┼─────────────────┐
▼ ▼ ▼
┌──────────┐ ┌──────────┐ ┌──────────┐
│ worker 1 │ ... │ worker N │ │ worker N │ (NumCPU*2, ≥8)
└────┬─────┘ └────┬─────┘ └────┬─────┘
│ │ │
▼ (go r(ctx,b,u)) ▼ ▼
┌────────────────────────────────────────────┐
│ Per-handler goroutine │
│ → trackerMiddleware (WaitGroup +1) │
│ → adminOnly │
│ → recover │
│ → handler (sendText via HTTP/2 conn pool) │
└────────────────────────────────────────────┘
│
▼ (svc.Info/Warning/Error)
┌────────────────┐
│ async log chan │ ──► dedicated writer ──► panelLogger
│ (cap 1024) │
└────────────────┘
```
### دستورات ربات
تمام دستورات از طریق `SetMyCommands` در منوی `/` کلاینت تلگرام هم ثبت میشوند.
| دستور | شرح |
| --- | --- |
| `/start` | شروع کار با ربات. مدیر در اولین اجرا گزینه انتخاب زبان (🇬🇧 / 🇮🇷) را میبیند. |
| `/menu` | باز کردن منوی اصلی (با دکمه «🏠 منوی اصلی» نیز در دسترس است). |
| `/language` | تغییر زبان بین فارسی و انگلیسی در هر زمان. |
| `/help` | نمایش فهرست کامل دستورات. |
| `/cancel` | لغو فرآیند تعاملی فعلی و بازگشت به منو. |
| `/users` | باز کردن لیست صفحهبندیشده کاربران. |
| `/adduser` | ایجاد کاربر با مقادیر پیشفرض (در ادامه ذکر شده است). |
| `/adduser_interactive` | ایجاد کاربر به صورت تعاملی و گامبهگام. |
| `/server` | نمایش یا ویرایش فیلد به فیلد تنظیمات سرور. |
| `/blockedips` | مدیریت IPهای بلاکشده سراسری (مشاهده، افزودن، حذف). |
| `/logs` | مرور لاگهای دسترسی کاربران (آخرین ۲۰ خط هر کاربر). |
| `/blockedaccess` | مرور لاگهای دسترسیهای بلاکشده. |
| `/traffic` | نمایش مصرف ترافیک هر کاربر. |
| `/sessions` | فهرست سشنهای فعال و ابطال آنها. |
| `/restart_server` | راهاندازی مجدد سرویس سرور Abdal 4iProto (همراه با تأیید). |
| `/restart_panel` | راهاندازی مجدد سرویس پنل (همراه با تأیید). |
### سرویس Windows
```cmd
# نصب سرویس
abdal-4iproto-panel.exe install
# شروع سرویس
abdal-4iproto-panel.exe start
# توقف سرویس
abdal-4iproto-panel.exe stop
# حذف سرویس
abdal-4iproto-panel.exe uninstall
```
### سرویس Linux Systemd
```bash
# اجرای اسکریپت نصب
sudo ./install-abdal-4iproto-panel.sh
# یا دستی
sudo systemctl start abdal-4iproto-panel
sudo systemctl enable abdal-4iproto-panel
sudo systemctl status abdal-4iproto-panel
```
## 🔗 لینکهای پروژه
- **مخزن سرور**: [سرور Abdal 4iProto](https://github.com/ebrasha/abdal-4iproto-server)
- **مخزن پنل**: [پنل مدیریت Abdal 4iProto](https://github.com/ebrasha/abdal-4iproto-panel)
## 🐛 گزارش مشکلات
اگر با مشکلی مواجه شدید یا در پیکربندی مشکل دارید، لطفاً از طریق ایمیل Prof.Shafiei@Gmail.com با ما در تماس باشید. همچنین میتوانید مشکلات را در GitHub گزارش دهید.
## ❤️ حمایت مالی
اگر این پروژه برای شما مفید بود و مایل به حمایت از توسعه بیشتر هستید، لطفاً در نظر داشته باشید که کمک مالی کنید:
- [اینجا اهدا کنید](https://alphajet.ir/abdal-donation)
## 🤵 برنامهنویس
ساخته شده با عشق توسط **ابراهیم شفیعی (EbraSha)**
- **ایمیل**: Prof.Shafiei@Gmail.com
- **تلگرام**: [@ProfShafiei](https://t.me/ProfShafiei)
## 📜 مجوز
این پروژه تحت مجوز GPLv2 or later منتشر شده است.