107 lines
3.4 KiB
Markdown
107 lines
3.4 KiB
Markdown
# GO Simple Tunnel
|
|
|
|
### A simple security tunnel written in golang
|
|
|
|
[](README_en.md) [](README.md)
|
|
|
|
## Features
|
|
|
|
- [x] [Listening on multiple ports](https://gost.run/en/getting-started/quick-start/)
|
|
- [x] [Multi-level forwarding chain](https://gost.run/en/concepts/chain/)
|
|
- [x] Rich protocol
|
|
- [x] [TCP/UDP port forwarding](https://gost.run/en/tutorials/port-forwarding/)
|
|
- [x] [Reverse Proxy](https://gost.run/en/tutorials/reverse-proxy/) and [Tunnel](https://gost.run/en/tutorials/reverse-proxy-tunnel/)
|
|
- [x] [TCP/UDP transparent proxy](https://gost.run/en/tutorials/redirect/)
|
|
- [x] DNS [resolver](https://gost.run/en/concepts/resolver/) and [proxy](https://gost.run/en/tutorials/dns/)
|
|
- [x] [TUN/TAP device](https://gost.run/en/tutorials/tuntap/)
|
|
- [x] [Load balancing](https://gost.run/en/concepts/selector/)
|
|
- [x] [Routing control](https://gost.run/en/concepts/bypass/)
|
|
- [x] [Admission control](https://gost.run/en/concepts/limiter/)
|
|
- [x] [Bandwidth/Rate Limiter](https://gost.run/en/concepts/limiter/)
|
|
- [x] [Plugin System](https://gost.run/en/concepts/plugin/)
|
|
- [x] [Prometheus metrics](https://gost.run/en/tutorials/metrics/)
|
|
- [x] [Dynamic configuration](https://gost.run/en/tutorials/api/config/)
|
|
- [x] [Web API](https://gost.run/en/tutorials/api/overview/)
|
|
- [x] [GUI](https://github.com/go-gost/gostctl)/[WebUI](https://github.com/go-gost/gost-ui)
|
|
|
|
## Overview
|
|
|
|

|
|
|
|
There are three main ways to use GOST as a tunnel.
|
|
|
|
### Proxy
|
|
|
|
As a proxy service to access the network, multiple protocols can be used in combination to form a forwarding chain for traffic forwarding.
|
|
|
|

|
|
|
|
### Port Forwarding
|
|
|
|
Mapping the port of one service to the port of another service, you can also use a combination of multiple protocols to form a forwarding chain for traffic forwarding.
|
|
|
|

|
|
|
|
### Reverse Proxy
|
|
|
|
Use tunnel and intranet penetration to expose local services behind NAT or firewall to public network for access.
|
|
|
|

|
|
|
|
## Installation
|
|
|
|
### Binary files
|
|
|
|
[https://github.com/go-gost/gost/releases](https://github.com/go-gost/gost/releases)
|
|
|
|
### install script
|
|
|
|
```bash
|
|
# install latest from [https://github.com/go-gost/gost/releases](https://github.com/go-gost/gost/releases)
|
|
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh) --install
|
|
```
|
|
```bash
|
|
# select version for install
|
|
bash <(curl -fsSL https://github.com/go-gost/gost/raw/master/install.sh)
|
|
```
|
|
|
|
### From source
|
|
|
|
```
|
|
git clone https://github.com/go-gost/gost.git
|
|
cd gost/cmd/gost
|
|
go build
|
|
```
|
|
|
|
### Docker
|
|
|
|
```
|
|
docker run --rm gogost/gost -V
|
|
```
|
|
|
|
## Tools
|
|
|
|
### GUI
|
|
|
|
[go-gost/gostctl](https://github.com/go-gost/gostctl)
|
|
|
|
### WebUI
|
|
|
|
[go-gost/gost-ui](https://github.com/go-gost/gost-ui)
|
|
|
|
### Shadowsocks Android
|
|
|
|
[xausky/ShadowsocksGostPlugin](https://github.com/xausky/ShadowsocksGostPlugin)
|
|
|
|
## Support
|
|
|
|
Wiki: [https://gost.run](https://gost.run/en/)
|
|
|
|
YouTube: [https://www.youtube.com/@gost-tunnel](https://www.youtube.com/@gost-tunnel)
|
|
|
|
Telegram: [https://t.me/gogost](https://t.me/gogost)
|
|
|
|
Google group: [https://groups.google.com/d/forum/go-gost](https://groups.google.com/d/forum/go-gost)
|
|
|
|
Legacy version: [v2.gost.run](https://v2.gost.run/en/)
|