[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80809":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":9,"language":10,"languages":9,"totalLinesOfCode":9,"stars":11,"forks":12,"watchers":13,"openIssues":13,"contributorsCount":14,"subscribersCount":14,"size":14,"stars1d":14,"stars7d":14,"stars30d":13,"stars90d":14,"forks30d":14,"starsTrendScore":14,"compositeScore":15,"rankGlobal":9,"rankLanguage":9,"license":16,"archived":17,"fork":17,"defaultBranch":18,"hasWiki":19,"hasPages":17,"topics":20,"createdAt":9,"pushedAt":9,"updatedAt":21,"readmeContent":22,"aiSummary":23,"trendingCount":14,"starSnapshotCount":14,"syncStatus":24,"lastSyncTime":25,"discoverSource":26},80809,"SPlusTunnel","theermia\u002FSPlusTunnel","theermia","A network tunneling tool that uses SoroushPlus Messenger's voice call infrastructure and WebRTC DataChannel to bypass internet restrictions.",null,"Python",36,9,1,0,3,"MIT License",false,"main",true,[],"2026-06-12 02:04:07","# SoroushPlus Tunnel\r\n\r\nA network tunneling tool that uses SoroushPlus Messenger's voice call infrastructure and WebRTC DataChannel to bypass internet restrictions. Traffic is transmitted through LiveKit's encrypted DataChannel and appears as a regular voice call within the SoroushPlus platform.\r\n\r\n---\r\n\r\n## How It Works\r\n\r\nNetwork traffic is relayed through a WebRTC DataChannel established during a SoroushPlus voice call. The server side (on a machine with unrestricted internet) proxies TCP connections on behalf of the client. The client exposes a local SOCKS5 proxy that applications can use.\r\n\r\n---\r\n\r\n## Prerequisites\r\n\r\n- Python 3.10 or higher\r\n- A SoroushPlus account (`web.splus.ir`)\r\n- Access to browser DevTools to extract LiveKit tokens\r\n\r\n---\r\n\r\n## Installation\r\n\r\n```bash\r\npip install livekit==0.11.1 certifi\r\n```\r\n\r\n---\r\n\r\n## Quick Start\r\n\r\n### 1. Start a Voice Call\r\n\r\nOpen `web.splus.ir` and initiate a voice call with the other account.\r\n\r\n### 2. Extract Tokens\r\n\r\nIn your browser:\r\n1. Press F12 (DevTools) → Network tab → filter by WS\r\n2. Find the WebSocket connection to `k.splus.ir:8446`\r\n3. Copy the `access_token` value from the connection URL\r\n\r\nEach side of the call has its own unique token.\r\n\r\n### 3. Run Server (machine with free internet)\r\n\r\n**Server must connect first, then client.**\r\n\r\n```bash\r\ncd soroushplus\r\npython app.py server\r\n```\r\n\r\nPaste the server-side token when prompted.\r\n\r\n### 4. Run Client (restricted device)\r\n\r\n```bash\r\ncd soroushplus\r\npython app.py client\r\n```\r\n\r\nPaste the client-side token when prompted.\r\n\r\n### 5. Configure Proxy\r\n\r\nA SOCKS5 proxy will be available at `0.0.0.0:1080`.\r\n\r\n```bash\r\ncurl --socks5-hostname 127.0.0.1:1080 http:\u002F\u002Fifconfig.me\r\n```\r\n\r\nSet your browser or Telegram proxy to SOCKS5 `127.0.0.1:1080`. Enable **\"Proxy DNS\"** (remote DNS resolution).\r\n\r\nCustom port:\r\n```bash\r\npython app.py client 8080\r\n```\r\n\r\n---\r\n\r\n## Project Structure\r\n\r\n```\r\nsoroushplus\u002F\r\n├── app.py          Entry point and CLI\r\n├── transport.py    LiveKit connection layer\r\n├── relay.py        Session management (server + client)\r\n├── socks5.py       SOCKS5 proxy server\r\n├── protocol.py     Packet encode\u002Fdecode\r\n├── settings.py     Configuration constants\r\n└── README.md       Documentation\r\n```\r\n\r\n---\r\n\r\n## Limitations\r\n\r\n- Tokens must be manually extracted from browser DevTools\r\n- Speed: ~500 KB\u002Fs (~4 Mbps) — sufficient for Telegram and light browsing\r\n- If the call drops, new tokens are needed\r\n- No automatic call establishment (manual via web interface)\r\n\r\n---\r\n\r\n## Background\r\n\r\nThis project was developed in response to the severe internet restrictions imposed in Iran. It only functions when voice calls through SoroushPlus Messenger can be established via their LiveKit infrastructure.\r\n\r\n*Hoping for better days for Iran.*\r\n\r\n---\r\n\r\n## Author\r\n\r\nDeveloped by **Ermia**\r\n\r\nFor questions and suggestions:\r\n- Telegram: [@theermia](https:\u002F\u002Ft.me\u002Ftheermia)\r\n- Channel: [@thisisermia](https:\u002F\u002Ft.me\u002Fthisisermia)\r\n\r\n---\r\n\r\n## License\r\n\r\nMIT License\r\n","SPlusTunnel 是一个利用 SoroushPlus 信使的语音通话基础设施和 WebRTC DataChannel 绕过互联网限制的网络隧道工具。其核心功能是通过在 SoroushPlus 平台上建立的语音通话中传输数据，使用 LiveKit 的加密 DataChannel 进行安全通信，并在客户端提供本地 SOCKS5 代理供应用程序使用。该项目采用 Python 编写，适合在受互联网限制的环境中为用户提供访问外部网络的能力，适用于轻量级浏览和即时通讯等场景。用户需要手动从浏览器 DevTools 中提取令牌来启动服务，支持约 4 Mbps 的传输速度。",2,"2026-06-11 04:02:25","CREATED_QUERY"]