{"id":51038898,"url":"https://github.com/ipmartnetwork/tunnelmaster","last_synced_at":"2026-06-22T09:01:15.597Z","repository":{"id":365321680,"uuid":"1271577621","full_name":"iPmartNetwork/TunnelMaster","owner":"iPmartNetwork","description":null,"archived":false,"fork":false,"pushed_at":"2026-06-16T20:55:13.000Z","size":59,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-06-16T22:16:22.476Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iPmartNetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-16T20:01:15.000Z","updated_at":"2026-06-16T20:55:19.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/iPmartNetwork/TunnelMaster","commit_stats":null,"previous_names":["ipmartnetwork/tunnelmaster"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/iPmartNetwork/TunnelMaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FTunnelMaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FTunnelMaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FTunnelMaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FTunnelMaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iPmartNetwork","download_url":"https://codeload.github.com/iPmartNetwork/TunnelMaster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FTunnelMaster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34641636,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-22T02:00:06.391Z","response_time":106,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-22T09:01:14.391Z","updated_at":"2026-06-22T09:01:15.591Z","avatar_url":"https://github.com/iPmartNetwork.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🚀 TunnelMaster\n\n**مدیریت جامع تونل برای عبور از DPI و فیلترینگ**\n\nاسکریپت تک‌فایلی Bash برای راه‌اندازی، مدیریت و پایش تونل بین سرور **ایران** و **خارج (Kharej)** با پشتیبانی از روش‌های مستقیم (Direct) و معکوس (Reverse).\n\n[![Shell](https://img.shields.io/badge/Shell-Bash-121011?logo=gnu-bash\u0026logoColor=white)](https://www.gnu.org/software/bash/)\n[![Platform](https://img.shields.io/badge/Platform-Ubuntu%20%7C%20Debian-E95420?logo=ubuntu\u0026logoColor=white)](https://ubuntu.com/)\n[![License](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)\n[![Backends](https://img.shields.io/badge/Backends-Gost%20%7C%20Chisel%20%7C%20frp-blue.svg)](#-روش‌های-تونل‌زنی)\n\n\u003c/div\u003e\n\n---\n\n## 📌 فهرست مطالب\n\n- [معرفی](#-معرفی)\n- [امکانات](#-امکانات)\n- [معماری](#-معماری)\n- [پیش‌نیازها](#-پیش‌نیازها)\n- [نصب](#-نصب)\n- [شروع سریع](#-شروع-سریع)\n- [نقش سرور (ایران/خارج)](#-نقش-سرور-ایرانخارج)\n- [روش‌های تونل‌زنی](#-روش‌های-تونل‌زنی)\n- [منوی تعاملی](#-منوی-تعاملی)\n- [مرجع دستورات CLI](#-مرجع-دستورات-cli)\n- [مدیریت پروفایل](#-مدیریت-پروفایل)\n- [پشتیبان‌گیری و بازیابی](#-پشتیبان‌گیری-و-بازیابی)\n- [بهینه‌سازی سیستم](#-بهینه‌سازی-سیستم)\n- [ساختار فایل‌ها](#-ساختار-فایل‌ها)\n- [مدیریت سرویس‌ها](#-مدیریت-سرویس‌ها)\n- [نکات امنیتی](#-نکات-امنیتی)\n- [رفع اشکال](#-رفع-اشکال)\n- [حذف کامل](#-حذف-کامل)\n- [مشارکت](#-مشارکت)\n- [مجوز](#-مجوز)\n\n---\n\n## 🎯 معرفی\n\n**TunnelMaster** یک ابزار مدیریت تونل است که پیچیدگی راه‌اندازی ابزارهای حرفه‌ای تونل‌زنی\n(Gost، Chisel، frp) را پشت یک منوی تعاملی ساده پنهان می‌کند. هدف اصلی، عبور پایدار از\n**بازرسی عمیق بسته (DPI)** و فیلترینگ با کمترین پیچیدگی برای کاربر است.\n\nمناسب برای:\n- اتصال پایدار سرور ایران به سرور خارج (پنل، Xray، کانفیگ و ...)\n- عبور از DPI با پوشش TLS/WebSocket\n- سناریوهای IP کثیف ایران با تونل معکوس\n\n\n\n---\n\n## ✨ امکانات\n\n| دسته | امکانات |\n|------|---------|\n| **تونل مستقیم** | Gost Simple، Gost WSS+MUX (ضد DPI)، Gost QUIC، Chisel |\n| **تونل معکوس** | Chisel Reverse، Chisel Reverse+TLS، frp Reverse، Gost Reverse WSS |\n| **نقش سرور** | انتخاب یک‌بارهٔ ایران/خارج و اعمال خودکار در همهٔ تونل‌ها |\n| **مدیریت پروفایل** | ذخیره، لیست، مشاهده، ویرایش (ویزارد و خام) و حذف هر تونل |\n| **پشتیبان‌گیری** | بکاپ/بازیابی کامل با چرخش خودکار و بازسازی سرویس‌ها |\n| **پایداری** | سرویس‌های systemd با `Restart=always` |\n| **بهینه‌سازی** | فعال‌سازی BBR و تیونینگ کرنل برای throughput بالا |\n| **نصب خودکار** | دانلود و نصب باینری‌ها برای `amd64` / `arm64` / `armv7` |\n| **رابط کاربری** | منوی تعاملی فارسی/انگلیسی + دستورات CLI |\n\nنسخهٔ باینری‌های نصب‌شده:\n\n| ابزار | نسخه |\n|-------|------|\n| Chisel | `1.11.5` |\n| Gost | `2.12.0` |\n| frp | `0.69.1` |\n\n---\n\n## 🏗 معماری\n\n```\n        ┌─────────────────────┐                 ┌─────────────────────┐\n        │   سرور ایران (Iran)  │                 │  سرور خارج (Kharej)  │\n        │                     │   تونل امن      │                     │\n   کاربران ───►│  TunnelMaster   │◄──────────────►│  TunnelMaster   │───►  سرویس‌ها\n        │                     │  (Direct/Reverse) │  (Xray/پنل/کانفیگ)  │\n        └─────────────────────┘                 └─────────────────────┘\n```\n\n- **Direct (مستقیم):** ترافیک از سرور ایران به سرور خارج ارسال می‌شود (ایران = client).\n- **Reverse (معکوس):** سرور خارج به سرور ایران متصل می‌شود — مناسب IP کثیف و عبور از DPI (ایران = server).\n\n---\n\n## 📋 پیش‌نیازها\n\n| مورد | جزئیات |\n|------|--------|\n| **سیستم‌عامل** | Ubuntu 20.04 / 22.04 / 24.04 یا Debian 11 / 12 |\n| **دسترسی** | root (با `sudo`) |\n| **معماری** | `x86_64` / `aarch64` / `armv7l` |\n| **شبکه** | دسترسی به GitHub برای دانلود باینری‌ها |\n\nوابستگی‌ها (`wget`, `curl`, `unzip`, `jq`, `openssl`) به‌صورت خودکار نصب می‌شوند.\n\n---\n\n## 📥 نصب\n\n### روش ۱ — نصب با یک دستور\n\n```bash\nsudo wget -qO install.sh https://raw.githubusercontent.com/iPmartNetwork/TunnelMaster/master/install.sh \\\n  \u0026\u0026 sudo chmod +x install.sh \\\n  \u0026\u0026 sudo bash install.sh\n```\n\nیا با `curl`:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/iPmartNetwork/TunnelMaster/master/install.sh -o install.sh \\\n  \u0026\u0026 sudo bash install.sh\n```\n\n### روش ۲ — کلون مخزن\n\n```bash\ngit clone https://github.com/iPmartNetwork/TunnelMaster.git\ncd TunnelMaster\nsudo bash install.sh\n```\n\nدر اولین اجرا، باینری‌ها نصب و سپس نقش سرور (ایران/خارج) از شما پرسیده می‌شود.\n\n---\n\n## ⚡ شروع سریع\n\n```bash\n# اجرای منوی تعاملی\nsudo bash install.sh\n\n# فقط نصب باینری‌ها\nsudo bash install.sh install\n\n# تعیین/تغییر نقش سرور\nsudo bash install.sh role\n\n# مشاهده وضعیت\nsudo bash install.sh status\n```\n\nیک نمونه سناریو (Reverse با frp):\n\n1. روی **سرور ایران**: نقش را `Iran` انتخاب کن → گزینه `7) frp Reverse` → نقش server.\n2. روی **سرور خارج**: نقش را `Kharej` انتخاب کن → گزینه `7) frp Reverse` → نقش client.\n3. همان token مشترک را در هر دو وارد کن. تمام.\n\n---\n\n## 🌐 نقش سرور (ایران/خارج)\n\nدر اولین اجرا، اسکریپت می‌پرسد این سرور **ایران** است یا **خارج**، و انتخاب را در\n`/etc/tunnelmaster/tunnelmaster.conf` ذخیره می‌کند. پس از آن، هنگام ساخت هر تونل،\nنقش (server/client) **به‌صورت خودکار** تعیین می‌شود و دیگر نیازی به انتخاب دستی نیست.\n\nنقش فعلی در بالای منوی اصلی نمایش داده می‌شود.\n\n```bash\nsudo bash install.sh role     # تغییر نقش سرور\n```\n\nنگاشت خودکار نقش:\n\n| نوع تونل | روی ایران | روی خارج |\n|----------|-----------|----------|\n| **Direct** (WSS / QUIC / Chisel) | client | server |\n| **Reverse** (Chisel / frp / Gost) | server | client |\n| **Gost Simple** | فقط ایران (تک‌طرفه) | — |\n\n\u003e نکته: تونل Gost Simple فقط روی سرور ایران اجرا می‌شود؛ بقیه تونل‌ها روی هر دو سرور\n\u003e (هر کدام با نقش خودش) راه‌اندازی می‌شوند.\n\n---\n\n## 🔀 روش‌های تونل‌زنی\n\n| # | روش | ابزار | جهت | ویژگی |\n|---|-----|-------|-----|-------|\n| 1 | Gost Simple | Gost | Direct | فوروارد ساده TCP/UDP، سریع، بدون رمزنگاری |\n| 2 | Gost WSS + MUX ★ | Gost | Direct | WebSocket روی TLS، شبیه HTTPS، با SNI camouflage |\n| 3 | Gost QUIC | Gost | Direct | انتقال UDP، مناسب شبکه‌های پر packet-loss |\n| 4 | Chisel | Chisel | Direct | تونل HTTP با رمزنگاری SSH و reconnect خودکار |\n| 5 | Chisel Reverse | Chisel | Reverse | WebSocket + SSH، مناسب IP کثیف ایران |\n| 6 | Chisel Reverse + TLS ★ | Chisel | Reverse | TLS + SNI، حداکثر مخفی‌کاری |\n| 7 | frp Reverse ★ | frp | Reverse | هاب چندسروری: چند خارج → یک ایران، چند پورت، داشبورد وب |\n| 8 | Gost Reverse WSS ★ | Gost | Reverse | relay + WebSocket TLS، ضد DPI قوی |\n\n★ = پیشنهادشده برای عبور از DPI.\n\nبرای توضیح کامل هر روش و سناریوهای پیشنهادی، فایل [GUIDE.md](GUIDE.md) را ببینید.\n\n### 🌐 حالت چندسروری (Multi-Server Hub با frp)\n\nبا روش `7) frp Reverse` می‌توانید **چند سرور خارج را به یک سرور ایران** متصل کنید،\nهر کدام روی پورت‌های متفاوت:\n\n```\n        ┌──────── Kharej-A (label: de1)  → Iran:443\nIran ───┤\n(frp Hub)├──────── Kharej-B (label: fi)   → Iran:8443\n        └──────── Kharej-C (label: nl)   → Iran:9443\n```\n\n- روی **ایران**: یک‌بار هاب frp را بسازید (نقش server). در صورت تمایل **داشبورد وب**\n  را فعال کنید تا همهٔ سرورهای خارجِ متصل را در یک صفحه ببینید.\n- روی هر **خارج**: یک کلاینت با **برچسب (label)** یکتا بسازید و یک یا **چند پورت** را\n  هم‌زمان به هاب ایران expose کنید. همان token هاب را وارد کنید.\n\nهر سرور خارج پروفایل جداگانهٔ خود را دارد (`reverse-frpc-\u003clabel\u003e`) و از طریق منوی\n`p` (Manage Profiles) مدیریت می‌شود. جزئیات کامل در [GUIDE.md](GUIDE.md).\n\n---\n\n## 🖥 منوی تعاملی\n\n```\n╔═══════════════════════════════════════════════╗\n║         TunnelMaster v2.0                     ║\n║     Anti-DPI Tunnel Manager                   ║\n╚═══════════════════════════════════════════════╝\n\n   Server role: IRAN (داخل)\n\n ── Direct Tunnels (Iran → Kharej) ──────────────\n  1) Gost Simple         (TCP/UDP, no encryption)\n  2) Gost WSS + MUX      (Anti-DPI, TLS, SNI camouflage) ★\n  3) Gost QUIC           (UDP transport, fast)\n  4) Chisel              (HTTP tunnel, SSH encryption)\n\n ── Reverse Tunnels (Kharej → Iran) ─────────────\n  5) Chisel Reverse      (WebSocket + SSH)\n  6) Chisel Reverse+TLS  (TLS + SNI, maximum stealth) ★\n  7) frp Reverse         (Multi-port, auth, stable)\n  8) Gost Reverse WSS    (Relay + WSS, Anti-DPI) ★\n\n ── System \u0026 Management ──────────────────────────\n  p)  Manage Profiles    (list, start/stop, edit, remove)\n  b)  Backup / Restore   (save \u0026 restore configs)\n  r)  Change Server Role (Iran / Kharej)\n  9)  Optimize System    (BBR + Kernel tuning)\n  10) Show Status\n  11) Stop/Remove a Tunnel\n  12) Reinstall Binaries\n  13) Uninstall Everything\n\n  0)  Exit\n```\n\n---\n\n## 🧰 مرجع دستورات CLI\n\n```bash\nsudo bash install.sh [COMMAND] [ARGS]\n```\n\n| دستور | توضیح |\n|-------|-------|\n| `install` | نصب وابستگی‌ها و باینری‌ها |\n| `role` | تعیین/تغییر نقش سرور (ایران/خارج) |\n| `list` | لیست همهٔ پروفایل‌های تونل با وضعیت زنده |\n| `start-all` | شروع همهٔ تونل‌ها |\n| `stop-all` | توقف همهٔ تونل‌ها |\n| `backup` | ساخت بکاپ از کانفیگ‌ها و پروفایل‌ها |\n| `restore [FILE]` | بازیابی از آخرین بکاپ یا فایل مشخص |\n| `status` | نمایش وضعیت باینری‌ها، BBR و سرویس‌ها |\n| `optimize` | فعال‌سازی BBR و تیونینگ کرنل |\n| `uninstall` | حذف کامل (سرویس‌ها، باینری‌ها، کانفیگ‌ها) |\n| _(بدون آرگومان)_ | اجرای منوی تعاملی |\n\n---\n\n## 📂 مدیریت پروفایل\n\nهر تونل هنگام ساخت به‌صورت یک فایل کانفیگ خوانا در `/etc/tunnelmaster/profiles/` ذخیره\nمی‌شود. این فایل **منبع حقیقت (source of truth)** آن تونل است و سرویس systemd از روی آن\nساخته می‌شود.\n\nنمونهٔ یک پروفایل:\n\n```ini\nNAME=\"reverse-frpc-443\"\nMETHOD=\"reverse-frp\"\nDESC=\"frp Client R:443-\u003e:2083\"\nSERVICE=\"tm-reverse-frpc-443\"\nCREATED=\"2026-06-16 22:10:00\"\nCMD=\"/usr/local/bin/frpc -c /etc/tunnelmaster/frpc-443.toml\"\nROLE=\"client\"\nIRAN_IP=\"1.2.3.4\"\nREMOTE_PORT=\"443\"\nLOCAL_PORT=\"2083\"\nTOKEN=\"secret123\"\n```\n\nاز منوی `p` (Manage Profiles) می‌توانید برای هر تونل:\n\n- **مشاهده جزئیات** کامل (روش، نقش، پورت‌ها، وضعیت، پارامترها)\n- **Start / Stop / Restart**\n- **ویرایش** با دو حالت:\n  - **Edit (wizard)** — تونل حذف و ویزارد ساخت همان نوع دوباره اجرا می‌شود (ساده)\n  - **Edit raw conf** — ویرایش مستقیم فایل پروفایل در ویرایشگر و بازسازی سرویس از روی `CMD` (حرفه‌ای)\n- **حذف** تونل (پروفایل + سرویس + فایل‌های مرتبط)\n\n```bash\nsudo bash install.sh list        # لیست همه پروفایل‌ها\nsudo bash install.sh start-all   # شروع همه تونل‌ها\nsudo bash install.sh stop-all    # توقف همه تونل‌ها\n```\n\n---\n\n## 💾 پشتیبان‌گیری و بازیابی\n\nبکاپ از **کل** پوشهٔ کانفیگ گرفته می‌شود: پروفایل‌ها، فایل‌های `*.toml` مربوط به frp،\nگواهی‌های TLS، wrapperها و فایل تنظیمات. هنگام بازیابی، سرویس‌های systemd به‌صورت خودکار\nاز روی پروفایل‌ها بازسازی می‌شوند.\n\n```bash\nsudo bash install.sh backup            # ساخت بکاپ\nsudo bash install.sh restore           # بازیابی از آخرین بکاپ\nsudo bash install.sh restore FILE.tar.gz   # بازیابی از فایل مشخص\n```\n\n- بکاپ‌ها در `/etc/tunnelmaster/backups/` ذخیره می‌شوند.\n- **چرخش خودکار:** فقط ۱۰ نسخهٔ اخیر نگه‌داری می‌شود.\n- در منوی تعاملی، گزینه `b` (Backup / Restore) همین کارها را فراهم می‌کند.\n\n---\n\n## ⚙️ بهینه‌سازی سیستم\n\nگزینهٔ `9` (یا `install.sh optimize`) موارد زیر را اعمال می‌کند:\n\n- فعال‌سازی **BBR** (`tcp_bbr` + `fq`)\n- افزایش بافرهای TCP تا ۶۴ مگابایت\n- فعال‌سازی **TCP Fast Open**\n- افزایش `somaxconn`، `netdev_max_backlog`، `nf_conntrack_max`\n- افزایش محدودیت file descriptor تا `1048576`\n- فعال‌سازی IP forwarding (IPv4 + IPv6)\n\n\u003e برخی تنظیمات برای اعمال کامل نیاز به ریبوت دارند.\n\n---\n\n## 🗂 ساختار فایل‌ها\n\n```\n/etc/tunnelmaster/\n├── tunnelmaster.conf        # تنظیمات کلی (نقش سرور)\n├── profiles/                # پروفایل هر تونل (.conf)\n├── backups/                 # بکاپ‌های فشرده (tar.gz)\n├── frps.toml / frpc-*.toml  # کانفیگ frp\n├── server.crt / server.key  # گواهی TLS (برای Chisel TLS)\n└── run-*.sh                 # wrapper scriptها (برای Gost WSS client)\n\n/usr/local/bin/\n├── chisel · gost · frps · frpc   # باینری‌ها\n\n/etc/systemd/system/\n└── tm-*.service             # سرویس‌های تونل\n```\n\n---\n\n## 🔧 مدیریت سرویس‌ها\n\nتمام تونل‌ها به‌صورت سرویس systemd با پیشوند `tm-` اجرا می‌شوند.\n\n```bash\n# مشاهده وضعیت همهٔ تونل‌ها\nsystemctl status 'tm-*'\n\n# ری‌استارت یک تونل\nsystemctl restart tm-reverse-frpc-443\n\n# مشاهدهٔ لاگ زنده\njournalctl -u tm-reverse-frpc-443 -f\n```\n\n\u003e مدیریت ساده‌تر از طریق منوی `p` (Manage Profiles) در دسترس است.\n\n---\n\n## 🔒 نکات امنیتی\n\n1. برای **frp** حتماً یک `token` قوی تنظیم کنید.\n2. برای **Chisel** از `--auth` و `--fingerprint` برای امنیت بیشتر استفاده کنید.\n3. پورت‌های استفاده‌نشده را با `ufw` ببندید.\n4. روی سرور ایران **fail2ban** فعال کنید.\n5. به‌صورت دوره‌ای باینری‌ها را آپدیت کنید (گزینهٔ `12` — Reinstall).\n6. فایل‌های پروفایل و کانفیگ با مجوز `600` ذخیره می‌شوند (شامل token).\n\n---\n\n## 🩺 رفع اشکال\n\n| مشکل | راه‌حل |\n|------|--------|\n| دانلود باینری ناموفق | دسترسی به GitHub را بررسی کنید؛ در صورت نیاز از DNS/پراکسی استفاده کنید |\n| سرویس بالا نمی‌آید | `journalctl -u tm-\u003cname\u003e -f` را بررسی کنید |\n| تونل وصل نمی‌شود | پورت‌ها و فایروال هر دو سرور را بررسی کنید (`ufw status`) |\n| frp وصل نمی‌شود | یکسان بودن `token` در دو سرور را بررسی کنید |\n| تغییرات BBR اعمال نشد | یک‌بار سرور را ریبوت کنید |\n| اعتبارسنجی اسکریپت | `bash -n install.sh \u0026\u0026 echo OK` |\n\n---\n\n## 🧹 حذف کامل\n\n```bash\nsudo bash install.sh uninstall\n```\n\nاین دستور همهٔ سرویس‌ها، باینری‌ها، کانفیگ‌ها و تنظیمات کرنل افزوده‌شده را پاک می‌کند.\n\n---\n\n## 🤝 مشارکت\n\nPull Requestها و Issueها در مخزن [iPmartNetwork/TunnelMaster](https://github.com/iPmartNetwork/TunnelMaster) خوش‌آمد هستند.\nبرای تغییرات بزرگ، ابتدا یک Issue باز کنید تا دربارهٔ آن گفت‌وگو شود.\n\n---\n\n## 📄 مجوز\n\nاین پروژه تحت مجوز MIT منتشر شده است. جزئیات در فایل [LICENSE](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipmartnetwork%2Ftunnelmaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipmartnetwork%2Ftunnelmaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipmartnetwork%2Ftunnelmaster/lists"}