Skip to content

Repository files navigation

gotunnel

CI codecov Go Report Card Go Version License GitHub release GitHub stars


gotunnel UI Homepage Demo

🚀 Introduction

gotunnel is a high-performance, secure, and easy-to-use intranet penetration (Tunnel/Proxy) tool written in Go. Heavily inspired by frp and ngrok. It enables safe remote access and management of internal network services via a cloud relay server. Supports HTTP, TCP, SSH and more.



gotunnel http demo

HTTP Demo
gotunnel ssh demo
SSH Demo


🌟 Features

  • ⚡ Simple deployment, minimal configuration, fast relay
  • 🔒 Secure token-based authentication for all traffic
  • 🔁 Heartbeat & health check, auto online/offline
  • 🏷️ Multi-port & multi-client, support clustered mappings
  • 🔧 Flexible config, easy YAML manage
  • 📝 English/Chinese i18n logs, friendly debugging
  • 🖥️ Cross-platform build: Linux, Mac, Windows (x64)
  • 📦 GitHub Actions one-click Release (see workflows)

📦 Quick Start

1. Download Release(or build locally)

2. Start Your HTTP/SSH Service Locally

# HTTP Example (localhost:3111):
python3 -m http.server 3111
# SSH (default port 22, enable on Mac)
sudo systemsetup -setremotelogin on

3. Config Sample

See config_template.yaml:

server:
  addr: "0.0.0.0:17000"
  token: "your-token"
client:
  name: "myclient"
  token: "your-token"
  server_addr: "your-server-ip:17000"
  local_ports: [3111]         # <== Your local service port
  remote_port: 18080          # <== Public access port

4. Run

./gotunnel-server  # On remote/cloud server
./gotunnel-client  # On your local machine

🖥️ Architecture

[ User ] <---> [Cloud Server: gotunnel-server] <--tunnel--> [LAN Client: gotunnel-client] --> [Local Service]

📺 Showcase


⬆️ CI/CD & Release

  • Supports manual one-click release action via Github Actions: cross-platform build and auto-upload assets (release.yml)
  • Download latest binary & assets from Releases

📖 Documentation


🙌 Contributing

Pull requests, issues and feature suggestions are welcome!


💼 License

MIT © 2023-2025 Richard & Contributors


⭐ Acknowledgements

Inspired by frp, ngrok, contributors and users.

About

gotunnel is a high-performance intranet penetration (Tunnel/Proxy) tool implemented in Go.

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages