Logo
Deploy Now

Stars

223

Forks

24

Watchers

3

Developer links

NetsGo

Created to eliminate the configuration fragmentation plaguing multi-device Homelab setups and small-team infrastructures, NetsGo merges what typically requires three separate tools — a tunnel daemon, a management panel, and a monitoring stack — into a single Go binary that starts with one command and listens on one port. The server exposes HTTP, TCP, and UDP tunnels, a built-in Web console for node management, a REST API for automation, and real-time traffic statistics with per-client bandwidth limiting, all sharing default port 9527 so firewalls and reverse proxies need only a single rule. Version 0.1.11 introduced Client-to-Client P2P tunnels via WebRTC DataChannel with three selectable transport strategies — Server relay, Prefer P2P with automatic fallback, and P2P only — reducing latency for direct connections while maintaining the centralized control plane. The management console displays every connected client's online status, authentication tokens, tunnel configuration, active transport mode, P2P candidate gathering progress, and cumulative byte-level traffic counters updated every second. Unlike frp or rathole which delegate management to external plugins or configuration files, NetsGo provides built-in client key generation, tunnel target migration between nodes, SOCKS5 proxying, IP-whitelist console access, and one-command server upgrades. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache 2.0 licensed.

NetsGo

Benefits

  • Single Binary, Single Port
  • Server, client, Web console, REST API, and data channels ship in one Go binary and share port 9527, eliminating multi-component deployment overhead and reducing firewall rules to a single entry.
  • P2P Direct Connections via WebRTC
  • Client-to-Client tunnels establish peer-to-peer DataChannels for TCP, UDP, and SOCKS5 traffic with automatic ICE negotiation, reducing latency while falling back to server relay when direct paths fail.
  • Built-In Traffic Monitoring
  • Real-time bandwidth counters update every second per client and per tunnel with configurable shared rate limits, eliminating the need for external monitoring tools like Prometheus exporters or Grafana dashboards.
  • Console-First Node Management
  • Manage client keys, online status, tunnel rules, transport strategies, and target migration directly in the built-in Web UI without editing TOML files, YAML configs, or relying on third-party admin panels.

Features

  • HTTP/TCP/UDP Tunnels
  • Expose internal services via HTTP host-based routing, raw TCP port mapping, or UDP forwarding with priority-based conflict resolution for overlapping routes.
  • WebRTC P2P Channel
  • Establishes peer-to-peer data channels using ICE candidate gathering, supporting direct connections across NAT with yamux multiplexing for concurrent logical streams.
  • REST API Automation
  • Full tunnel lifecycle management, client provisioning, and status queries through a built-in REST API accessible on the shared server port.
  • Bandwidth Rate Limiting
  • Per-tunnel and per-client bidirectional shared bandwidth caps with fair queuing when both directions compete for allocated throughput.
  • One-Click Upgrades
  • Built-in shell script performs atomic binary replacement with key rotation verification and token refresh, keeping server and client versions synchronized.