یک سرور تونلینگ مبتنی بر SSH با کارایی بالا که برای دسترسی امن به اینترنت طراحی شده و دارای قابلیتهای پیشرفته امنیتی و نظارت بر ترافیک است.
- محافظت داخلی در برابر حملات بروتفورس: مسدودسازی خودکار IP پس از تلاشهای ناموفق احراز هویت
- نظارت بر حملات: ثبت دقیق تلاشهای ناموفق ورود با ردیابی IP
- احراز هویت قابل تنظیم: تعداد قابل تنظیم تلاشهای حداکثر احراز هویت
- سیستم مسدودسازی IP: مدیریت پایدار IP های مسدود شده با ذخیرهسازی JSON
- سفارشیسازی بنر سرور: مخفی کردن یا سفارشیسازی بنر سرور از طریق تنظیمات
- تعیین سطح دسترسی: دو حالت کاربر و مدیر دارد که مدیران قابلیت اجرای دستور در شل سیستم عامل را دارند اما کاربران فقط می توانند تونل بزنند
- ردیابی ترافیک آنی: نظارت بر استفاده آپلود/دانلود برای هر کاربر
- آمار مبتنی بر جلسه: ردیابی بایتهای ارسال/دریافت شده در هر جلسه
- تحلیل استفاده کل: آمار ترافیک تجمعی در تمام جلسات
- ذخیرهسازی خودکار داده: ذخیره دادههای ترافیک در فایلهای JSON هر 10 ثانیه
- نظارت آنی پهنای باند: نمایش استفاده پهنای باند به صورت آنی
- مسدود سازی سایت های غیر مجاز:سایت هایی که نمی خواهید کاربر بازدید کند را مسدود می کند
- مسدود سازی آی پی های غیر مجاز:آی پی هایی که نمی خواهید کاربر بازدید کند را مسدود می کند
- ردیابی سایت های بازدید شده:قابلیت ردیابی سایت های بازدید شده توسط کاربر ، که می توانید این قابلیت را برای هر کابری فعال یا غیر فعال کنید
- پشتیبانی چند پورت: اجرای سرور روی چندین پورت به صورت همزمان
- فورواردینگ TCP: فورواردینگ مستقیم اتصال TCP بدون تنظیمات اضافی
- فورواردینگ UDP: پشتیبانی کامل فورواردینگ ترافیک UDP
- چند پلتفرمی: اجرا روی سیستمهای لینوکس و ویندوز
- کارایی بالا: 10 برابر سریعتر از OpenSSH برای عملیات تونلینگ
- پشتیبانی از DNSTT: تونلزنی پیشرفته ترافیک شبکه از طریق پروتکل DNS
- مدیریت کاربران: سیستم احراز هویت مبتنی بر JSON
- ادغام شل: پشتیبانی بومی CMD در ویندوز و Shell در لینوکس
- مدیریت تنظیمات: تنظیمات سرور مبتنی بر JSON
- سیستم ثبت: ثبت جامع اتصالات و حملات
-
کنترل داخلی سشنها: مدیر میتواند حداکثر تعداد سشنهای فعال همزمان برای هر حساب را تنظیم کند تا میزان اتصال کاربران کنترل شود.
-
انقضای خودکار سشنها: برای هر سشن مدت زمان اعتبار (TTL) تعریف میشود تا پس از پایان آن، سشن منقضی شده و منابع آزاد شوند.
-
مدیریت پویا در زمان محدودیت: وقتی تعداد سشنها به حد مجاز برسد، اتصالهای جدید میتوانند رد شوند یا در صف انتظار قرار گیرند (قابل تنظیم توسط مدیر).
-
مسدودسازی فوری اتصالهای جدید در صورت اشباع سشنها: در صورتی که یک حساب از سقف مجاز سشن عبور کرده باشد، کاربران جدیدی که قصد اتصال دارند از همان ابتدا مسدود شده و اجازه ورود نخواهند داشت.
-
نظارت لحظهای بر سشنها: سیستم وضعیت سشنهای فعال را بهصورت زنده ثبت کرده و برای حسابرسی و تحلیل ذخیره میکند.
-
محدودیت سرعت (Rate Limiting): امکان تعریف حداکثر سرعت انتقال داده برای هر کاربر با فیلد
max_speed_kbpsبر حسب کیلوبایت بر ثانیه. این محدودیت بهصورت برخط و در هر دو جهت (Upload/Download) با الگوریتم Token Bucket اعمال میشود.
📌 مثال:1024= معادل 1 مگابایت بر ثانیه -
محدودیت حجم مصرفی (Traffic Limit): امکان تعیین سقف حجم مصرفی برای هر کاربر با فیلد
max_total_mbبر حسب مگابایت. در صورت عبور از سقف، اتصال هنگام ورود رد میشود یا در حین استفاده قطع خواهد شد.
📌 مثال:10240= معادل 10 گیگابایت -
بررسی و اعمال برخط محدودیت حجم: هر ۱ تا ۲ ثانیه ترافیک مصرفی بررسی میشود. در صورت عبور از محدودیت، اتصال بلافاصله قطع و دسترسی غیرفعال میگردد.
پروژه Abdal 4iProto Cli یک ابزار پیشرفته خط فرمان برای مدیریت جامع اکوسیستم Abdal 4iProto است. این ابزار به طور خودکار مشخصات سیستمعامل و معماری پردازنده شما را تشخیص داده، اصالت فایلها را با هش SHA-256 اعتبارسنجی میکند، پورتها را تنظیم کرده و سرویسهای سیستمی پایدار را ثبت مینماید.
- Go 1.25.10 یا بالاتر
- کلید خصوصی SSH (
id_rsa) - فایلهای تنظیمات (به بخش راهاندازی مراجعه کنید)
{
"ports": [64235, 64236,64237],
"shell": "cmd.exe",
"max_auth_attempts": 3,
"server_version": "SSH-2.0-Abdal-4iProto-Server"
}{
"ports": [64235, 64236,64237],
"shell": "/bin/bash",
"max_auth_attempts": 3,
"server_version": "SSH-2.0-Abdal-4iProto-Server"
}[
{
"username": "ebrasha",
"password": "152314562152",
"role": "admin",
"blocked_domains": [],
"blocked_ips": [],
"log": "no",
"max_sessions": 1,
"session_ttl_seconds": 300,
"max_speed_kbps": 10240,
"max_total_mb": 0
},
{
"username": "user1",
"password": "password123",
"role": "user",
"blocked_domains": [
"facebook.com",
"*.facebook.com",
"twitter.com",
"*.twitter.com",
"instagram.com",
"*.instagram.com"
],
"blocked_ips": [
"192.168.1.100",
"10.0.0.*",
"172.16.*.*"
],
"log": "yes",
"max_sessions": 2,
"session_ttl_seconds": 300,
"max_speed_kbps": 512,
"max_total_mb": 10240
},
{
"username": "user2",
"password": "password456",
"role": "user",
"blocked_domains": [
"youtube.com",
"*.youtube.com",
"netflix.com",
"*.netflix.com"
],
"blocked_ips": [
"192.168.10.1",
"10.10.10.10"
],
"log": "yes",
"max_sessions": 5,
"session_ttl_seconds": 300,
"max_speed_kbps": 512,
"max_total_mb": 5120
}
]
{
"blocked": [
"192.168.1.12",
"10.0.0.7"
]
}کلید خصوصی SSH خود را به عنوان id_rsa در دایرکتوری پروژه قرار دهید.
برای تولید کلید تازه در سرور در محل فایل های سرور دستور زیر را اجرا کنید.
ssh-keygen -t rsa -b 4096 -f id_rsago mod tidy
go build -o abdal-4iproto-server
./abdal-4iproto-serverports: آرایهای از پورتهایی که سرور روی آنها گوش میدهدshell: دستور شل برای اجرا (cmd.exe برای ویندوز، /bin/bash برای لینوکس)max_auth_attempts: حداکثر تلاشهای ناموفق ورود قبل از مسدودسازی IPserver_version: رشته نسخه سفارشی سرور SSH
سرور به طور خودکار ردیابی میکند:
- بایتهای ارسال/دریافت شده در هر جلسه
- ترافیک کل برای هر کاربر
- برچسبهای زمانی جلسه
- استفاده آنی پهنای باند
./abdal-4iproto-serverما یک کلاینت اختصاصی با رابط گرافیکی ساختهایم که از ایجاد سرور SOCKS5 نیز پشتیبانی میکند. برای بهترین تجربه، از کلاینت اختصاصی ما استفاده کنید:
دانلود کلاینت: کلاینت ابدال 4iProto
ssh -D 1080 username@server_ip -p 22پس از برقراری اتصال با فورواردینگ دینامیک:
- برنامهها را برای استفاده از پروکسی SOCKS روی localhost:52905 تنظیم کنید
- تمام ترافیک از طریق اتصال امن SSH تونل خواهد شد
شما میتوانید از تمامی سیستمعاملهای اصلی به سرور Abdal 4iProto متصل شوید:
برای اتصال کامل (Full-Tunnel) از ابزار sshuttle استفاده کنید:
sshuttle --dns -r ebrasha@91.107.170.50:2222 0.0.0.0/0 -vvدانلود کلاینت رسمی Abdal 4iProto برای ویندوز
💡 پیشنهاد ما: کلاینت اختصاصی و بهینهشده Abdal 4iProto Android را دانلود کنید که بالاترین سطح امنیت و سرعت را بدون نیاز به برنامههای جانبی در اختیار شما قرار میدهد.
📱 دانلود کلاینت اختصاصی Abdal 4iProto Android
دانلود NapsternetV از گوگلپلی
دانلود اپلیکیشن SSH Tunnel با SOCKS5 Proxy از اپاستور
دادههای ترافیک به طور خودکار در فایلهای traffic_username.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 Forwarding و iptables NAT کلیه ترافیک ورودی یک سرور Linux را به سرور مقصد 4iProto منتقل کنید. این سناریو برای Full Traffic Forwarding, Transparent Proxy و Gateway Relay استفاده می شود.
- سیستم عامل Linux
- دسترسی root
- فعال بودن iptables
- IP معتبر سرور 4iProto
- آشنایی پایه با NAT, DNAT, SNAT, Routing
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
sysctl -piptables -t nat -A PREROUTING -p tcp --dport 22 -j DNAT --to-destination IRAN_IPiptables -t nat -A PREROUTING -j DNAT --to-destination 4iProto_IPiptables -t nat -A POSTROUTING -j MASQUERADE- Rule پورت 22 باید قبل از Rule کلی PREROUTING باشد
- قبل از اعمال Rule ها دسترسی SSH جایگزین داشته باشید
- در صورت استفاده از firewalld یا ufw هماهنگ شود
- مسدودسازی خودکار IP پس از تلاشهای ناموفق قابل تنظیم
- ذخیرهسازی پایدار IP های مسدود شده
- ثبت دقیق حملات با برچسبهای زمانی
- ثبت تلاشهای ناموفق ورود با نام کاربری، رمز عبور و IP
- ردیابی الگوهای حمله و منابع
- ارائه تحلیلهای جامع امنیتی
اگر با مشکلی مواجه شدید یا در پیکربندی مشکل دارید، لطفاً از طریق ایمیل Prof.Shafiei@Gmail.com با ما در تماس باشید. همچنین میتوانید مشکلات را در GitHub گزارش دهید.
اگر این پروژه برای شما مفید بود و مایل به حمایت از توسعه بیشتر هستید، لطفاً در نظر داشته باشید که کمک مالی کنید:
ساخته شده با عشق توسط ابراهیم شفیعی (EbraSha)
- ایمیل: Prof.Shafiei@Gmail.com
- تلگرام: @ProfShafiei
این پروژه تحت مجوز GPLv2 or later منتشر شده است.

