https://github.com/ebrasha/abdal-4iproto-server
Secure, Fast, and Smart SSH Tunneling — Abdal 4iProto Server: The Next-Gen Gateway for Encrypted Internet Access
https://github.com/ebrasha/abdal-4iproto-server
4iproto 4iproto-server abdal abdal-security-group ebrahim-shafiei ebrasha server ssh tunneling vpn
Last synced: 10 months ago
JSON representation
Secure, Fast, and Smart SSH Tunneling — Abdal 4iProto Server: The Next-Gen Gateway for Encrypted Internet Access
- Host: GitHub
- URL: https://github.com/ebrasha/abdal-4iproto-server
- Owner: ebrasha
- License: mit
- Created: 2023-05-04T01:26:48.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-18T10:51:51.000Z (11 months ago)
- Last Synced: 2025-07-18T14:31:59.324Z (11 months ago)
- Topics: 4iproto, 4iproto-server, abdal, abdal-security-group, ebrahim-shafiei, ebrasha, server, ssh, tunneling, vpn
- Language: Go
- Homepage:
- Size: 36.5 MB
- Stars: 3
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.fa.md
- License: LICENSE
Awesome Lists containing this project
README
# سرور پروتکل 4iProto تیم ابدال
یک سرور تونلینگ مبتنی بر SSH با کارایی بالا که برای دسترسی امن به اینترنت طراحی شده و دارای قابلیتهای پیشرفته امنیتی و نظارت بر ترافیک است.
**📖 [English](README.md) | [فارسی](README.fa.md)**
## 🚀 قابلیتها
### 🔒 ویژگیهای امنیتی
- **محافظت داخلی در برابر حملات بروتفورس**: مسدودسازی خودکار IP پس از تلاشهای ناموفق احراز هویت
- **نظارت بر حملات**: ثبت دقیق تلاشهای ناموفق ورود با ردیابی IP
- **احراز هویت قابل تنظیم**: تعداد قابل تنظیم تلاشهای حداکثر احراز هویت
- **سیستم مسدودسازی IP**: مدیریت پایدار IP های مسدود شده با ذخیرهسازی JSON
- **سفارشیسازی بنر سرور**: مخفی کردن یا سفارشیسازی بنر سرور از طریق تنظیمات
### 📊 نظارت بر ترافیک
- **ردیابی ترافیک آنی**: نظارت بر استفاده آپلود/دانلود برای هر کاربر
- **آمار مبتنی بر جلسه**: ردیابی بایتهای ارسال/دریافت شده در هر جلسه
- **تحلیل استفاده کل**: آمار ترافیک تجمعی در تمام جلسات
- **ذخیرهسازی خودکار داده**: ذخیره دادههای ترافیک در فایلهای JSON هر 10 ثانیه
- **نظارت آنی پهنای باند**: نمایش استفاده پهنای باند به صورت آنی
### 🌐 قابلیتهای شبکه
- **پشتیبانی چند پورت**: اجرای سرور روی چندین پورت به صورت همزمان
- **فورواردینگ TCP**: فورواردینگ مستقیم اتصال TCP بدون تنظیمات اضافی
- **فورواردینگ UDP**: پشتیبانی کامل فورواردینگ ترافیک UDP
- **چند پلتفرمی**: اجرا روی سیستمهای لینوکس و ویندوز
- **کارایی بالا**: 10 برابر سریعتر از OpenSSH برای عملیات تونلینگ
### 🛠️ ویژگیهای مدیریتی
- **مدیریت کاربران**: سیستم احراز هویت مبتنی بر JSON
- **ادغام شل**: پشتیبانی بومی CMD در ویندوز و Shell در لینوکس
- **مدیریت تنظیمات**: تنظیمات سرور مبتنی بر JSON
- **سیستم ثبت**: ثبت جامع اتصالات و حملات
## 📋 نیازمندیها
- Go 1.19 یا بالاتر
- کلید خصوصی SSH (`id_rsa`)
- فایلهای تنظیمات (به بخش راهاندازی مراجعه کنید)
## ⚙️ راهاندازی
### 1. فایلهای تنظیمات
#### `server_config.json`
```json
{
"ports": [22, 2222, 2223],
"shell": "cmd.exe",
"max_auth_attempts": 3,
"server_version": "SSH-2.0-Abdal-4iProto-Server"
}
```
#### `users.json`
```json
{
"username1": "password1",
"username2": "password2"
}
```
### 2. تنظیم کلید SSH
کلید خصوصی SSH خود را به عنوان `id_rsa` در دایرکتوری پروژه قرار دهید.
برای تولید کلید تازه در سرور در محل فایل های سرور دستور زیر را اجرا کنید.
```bash
ssh-keygen -t rsa -b 4096 -f id_rsa
```
### 3. ساخت و اجرا
```bash
go mod tidy
go build -o abdal-4iproto-server
./abdal-4iproto-server
```
## 📁 ساختار فایلها
```
abdal-4iproto-server/
├── main.go # برنامه اصلی سرور
├── server_config.json # تنظیمات سرور
├── users.json # اطلاعات کاربران
├── id_rsa # کلید خصوصی SSH
├── blocked_ips.json # آدرسهای IP مسدود شده
├── invalid_logins.log # تلاشهای ناموفق ورود
└── traffic_*.json # آمار ترافیک هر کاربر
```
## 🔧 گزینههای تنظیمات
### تنظیمات سرور (`server_config.json`)
- `ports`: آرایهای از پورتهایی که سرور روی آنها گوش میدهد
- `shell`: دستور شل برای اجرا (cmd.exe برای ویندوز، /bin/bash برای لینوکس)
- `max_auth_attempts`: حداکثر تلاشهای ناموفق ورود قبل از مسدودسازی IP
- `server_version`: رشته نسخه سفارشی سرور SSH
### نظارت بر ترافیک
سرور به طور خودکار ردیابی میکند:
- بایتهای ارسال/دریافت شده در هر جلسه
- ترافیک کل برای هر کاربر
- برچسبهای زمانی جلسه
- استفاده آنی پهنای باند
## 🚀 استفاده
### شروع سرور
```bash
./abdal-4iproto-server
```
### اتصال از طریق کلاینت اختصاصی
ما یک کلاینت اختصاصی با رابط گرافیکی ساختهایم که از ایجاد سرور SOCKS5 نیز پشتیبانی میکند. برای بهترین تجربه، از کلاینت اختصاصی ما استفاده کنید:
**دانلود کلاینت**: [کلاینت ابدال 4iProto](https://github.com/ebrasha/abdal-4iproto-client)
### جایگزین: اتصال SSH استاندارد
```bash
ssh -D 1080 username@server_ip -p 22
```
### استفاده از پروکسی SOCKS
پس از برقراری اتصال با فورواردینگ دینامیک:
- برنامهها را برای استفاده از پروکسی SOCKS روی localhost:1080 تنظیم کنید
- تمام ترافیک از طریق اتصال امن SSH تونل خواهد شد
## 📊 نظارت
### آمار ترافیک
دادههای ترافیک به طور خودکار در فایلهای `traffic_username.json` ذخیره میشوند:
```json
{
"username": "user1",
"ip": "192.168.1.100",
"last_bytes_sent": 1024,
"last_bytes_received": 2048,
"total_bytes_sent": 1048576,
"total_bytes_received": 2097152,
"total_bytes": 3145728,
"last_timestamp": "2025-01-15T10:30:00Z"
}
```
### فایلهای ثبت
- `invalid_logins.log`: ثبت تلاشهای ناموفق احراز هویت
- `blocked_ips.json`: مدیریت آدرسهای IP مسدود شده
- خروجی کنسول: ثبتهای آنی اتصال و ترافیک
## 🔒 ویژگیهای امنیتی
### محافظت در برابر بروتفورس
- مسدودسازی خودکار IP پس از تلاشهای ناموفق قابل تنظیم
- ذخیرهسازی پایدار IP های مسدود شده
- ثبت دقیق حملات با برچسبهای زمانی
### نظارت بر حملات
- ثبت تلاشهای ناموفق ورود با نام کاربری، رمز عبور و IP
- ردیابی الگوهای حمله و منابع
- ارائه تحلیلهای جامع امنیتی
## 🐛 گزارش مشکلات
اگر با مشکلی مواجه شدید یا در پیکربندی مشکل دارید، لطفاً از طریق ایمیل Prof.Shafiei@Gmail.com با ما در تماس باشید. همچنین میتوانید مشکلات را در GitLab یا GitHub گزارش دهید.
## ❤️ حمایت مالی
اگر این پروژه برای شما مفید بود و مایل به حمایت از توسعه بیشتر هستید، لطفاً در نظر داشته باشید که کمک مالی کنید:
- [اینجا اهدا کنید](https://alphajet.ir/abdal-donation)
## 🤵 برنامهنویس
ساخته شده با عشق توسط **ابراهیم شفیعی (EbraSha)**
- **ایمیل**: Prof.Shafiei@Gmail.com
- **تلگرام**: [@ProfShafiei](https://t.me/ProfShafiei)
## 📜 مجوز
این پروژه تحت مجوز GPLv2 or later منتشر شده است.