{"id":51038935,"url":"https://github.com/ipmartnetwork/udptun","last_synced_at":"2026-06-22T09:01:24.096Z","repository":{"id":294479629,"uuid":"987105849","full_name":"iPmartNetwork/UDPTun","owner":"iPmartNetwork","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-20T16:10:02.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-29T01:25:04.877Z","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}},"created_at":"2025-05-20T15:25:29.000Z","updated_at":"2025-05-20T16:10:05.000Z","dependencies_parsed_at":"2025-05-22T07:00:40.002Z","dependency_job_id":null,"html_url":"https://github.com/iPmartNetwork/UDPTun","commit_stats":null,"previous_names":["ipmartnetwork/udptun"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/iPmartNetwork/UDPTun","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FUDPTun","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FUDPTun/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FUDPTun/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FUDPTun/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iPmartNetwork","download_url":"https://codeload.github.com/iPmartNetwork/UDPTun/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iPmartNetwork%2FUDPTun/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:23.139Z","updated_at":"2026-06-22T09:01:24.089Z","avatar_url":"https://github.com/iPmartNetwork.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# UDP Tunnel VPN\n\nA simple, robust, and production-ready UDP-based TUN/TAP VPN tunnel for Linux.  \n**Supports auto systemd integration, live log/status, interactive menu, and runs on Python 3.**\n\n## ⭐ Features\n\n- Easy menu-driven Bash manager (no manual config needed)\n- Run as server or client, both with systemd auto-restart\n- Live status \u0026 logs for server/client\n- Auto installation of requirements (Python3)\n- All traffic goes through a TUN interface (virtual point-to-point network)\n- Minimal dependencies — works on almost any modern VPS\n- Secure shared password (customizable)\n- Designed for reliability and simplicity\n\n## ⚡ Requirements\n\n- Two Linux servers (root access, TUN/TAP enabled)\n- Python 3 (auto-installed if missing)\n- Open UDP port for tunnel traffic\n\n## 🚀 Quick Start\n\nClone/download the repo and copy both files (`udptun.py`, `udptun-manager.sh`) to **both servers**.\n\n```bash\nchmod +x udptun-manager.sh\nsudo ./udptun-manager.sh\n```\n\u003e Always run as root (sudo).\n\nThe menu lets you run as **server** or **client**, check status, manage logs, stop/remove services.\n\n---\n\n## 🌍 Example: Tunneling Between Two Servers\n\n### Network Plan\n\n|        | VPS A (Server) | VPS B (Client) |\n|--------|----------------|---------------|\n| Public IP | `1.2.3.4`       | `5.6.7.8`      |\n| Tunnel IP | `10.99.99.1`    | `10.99.99.2`   |\n| UDP Port  | `2222`          | `2222`         |\n\n### 1. **On VPS A (Server)**\n- Start menu:\n    ```\n    sudo ./udptun-manager.sh\n    ```\n- Choose: `1) Start as Server (systemd)`\n- Enter:\n    - Port: `2222`\n    - Local tunnel IP: `10.99.99.1`\n    - Peer tunnel IP: `10.99.99.2`\n\n### 2. **On VPS B (Client)**\n- Start menu:\n    ```\n    sudo ./udptun-manager.sh\n    ```\n- Choose: `2) Start as Client (systemd)`\n- Enter:\n    - Server IP: `1.2.3.4`\n    - Server Port: `2222`\n    - Local tunnel IP: `10.99.99.2`\n    - Peer tunnel IP: `10.99.99.1`\n\n### 3. **Check the Tunnel**\n\n```bash\nip addr show tun0\nping 10.99.99.1     # from client\nping 10.99.99.2     # from server\n```\n\n### 4. **View Status/Logs**\nFrom menu:\n- `3) Show Server status/log`\n- `4) Show Client status/log`\n\nOr manually:\n```bash\nsystemctl status udptun-server.service\ntail -f /opt/udptun-server.log\nsystemctl status udptun-client.service\ntail -f /opt/udptun-client.log\n```\n\n---\n\n## 🛡️ Security\n\n- Change the shared password in `udptun.py`!  \n  Edit this line:\n  ```python\n  SHARED_PASSWORD = hashlib.sha256(b\"ChangeThisPassword123!\").digest()\n  ```\n- Restrict UDP port by firewall so only your VPS can connect.\n\n---\n\n## 🧹 Uninstall\n\nTo remove a tunnel/service, use the menu options:  \n- \"Stop Server/Client\"\n- \"Remove Server/Client Service\"\n\nOr remove manually:\n```bash\nsystemctl disable --now udptun-server.service\nrm /etc/systemd/system/udptun-server.service\nsystemctl daemon-reload\n```\nAnd delete project files.\n\n---\n\n## ❓ Troubleshooting\n\n- **Permission denied:** Run as root/sudo.\n- **TUN device error:** Check VPS provider, TUN/TAP module must be enabled.\n- **Port blocked:** Check firewalls/security group for UDP port.\n- **No connectivity:** Double check IPs, port, and logs.\n\n---\n\n## 📄 License\n\nMIT License — feel free to use, improve, or fork.\n\n---\n\n## 🤝 Contribution \u0026 Contact\n\nPull requests welcome!  \nFor feedback, issues, or improvements:  \n[Open an issue on GitHub](https://github.com/YourRepo/UDP-Tunnel/issues)\n\n---\n\n\u003e Developed by [iPmart Network](https://github.com/iPmartNetwork)  \n\u003e Inspired by Xiaoxia’s original udptun\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipmartnetwork%2Fudptun","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fipmartnetwork%2Fudptun","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fipmartnetwork%2Fudptun/lists"}