基于Frp开发的内网穿透管理平台,支持多用户、多节点,支持速率,中心化配置,通过网页修改配置,实时生效。
(组网功能,采用GOST的TUN,组网暂未开源)
(此版本为开源版)
开源版对比不开源版本功能差异: (当前仅节点和后台管理服务存在功能上的差异,客户端通用)
- 无客户端IP地区限制功能
- 无用户绑定QQ功能
- 无资源缓存缓存功能
如果想快速体验,可直接使用我提供的服务
This project is licensed under the Apache-2.0 License.
一键脚本安装,推荐用国外网络环境的脚本,下载的是github最新的release,国内网络环境脚本安装会存在版本落后的情况
国外网络环境
curl -sSL https://raw.githubusercontent.com/SianHH/gostc-open/main/install.sh | bash -s -- server
国内网络环境
curl -sSL https://alist.sian.one/direct/gostc/gostc-open/install.sh | bash -s -- server
install后,需要systemctl start gostc-admin启动服务
安装完成后通过以下命令管理
systemctl start gostc-admin # 启动
systemctl stop gostc-admin # 停止
systemctl restart gostc-admin # 重启
systemctl status gostc-admin # 查看状态
程序目录:/usr/local/gostc-admin/
数据目录:/usr/local/gostc-admin/data/
默认端口:8080
默认账号密码:admin/admin
/usr/local/gostc-admin/server service uninstall
rm -rf /usr/local/gostc-admin/server
国外网络环境
curl -sSL https://raw.githubusercontent.com/SianHH/gostc-open/main/install.sh | bash -s -- gostc
国内网络环境
curl -sSL https://alist.sian.one/direct/gostc/gostc-open/install.sh | bash -s -- gostc
文件目录:/usr/local/bin/gostc
rm -rf /usr/local/bin/gostc
gostc install --tls=false -addr 127.0.0.1:8080 -key ****** # 客户端
gostc install --tls=false -addr 127.0.0.1:8080 -s -key ****** # 节点
# install后,需要systemctl start gostc启动服务
--tls:根据实际的情况设置
-addr:根据实际的情况设置
-key:启动客户端或节点的连接密钥
注册为服务后,可以通过以下命令管理服务
systemctl start gostc # 启动
systemctl stop gostc # 停止
systemctl restart gostc # 重启
systemctl status gostc # 查看状态
如需更换密钥,需要先卸载服务,然后重新注册
gostc uninstall
gostc install --tls=false -addr 127.0.0.1:8080 -s -key ****** # 重新注册
注意:由于服务名称重复,无法同时运行多个客户端/节点,如需启动多个客户端和节点,请将程序通过pm2、supervisor类似的进程管理工具启动
version: "3"
services:
client1:
image: sianhh/gostc-admin:latest
restart: always
network_mode: host # 服务端根据情况配置网络情况,默认端口8080,可以修改配置文件更改
container_name: gostc-admin
volumes:
- ./data:/app/data # 数据目录,包含配置文件,日志文件
command:
- -d # 开发者模式,用于将日志输出到控制台
- --log-level # 日志级别
- info
参数--tls
根据服务端是否使用SSL设置
参数-addr
是服务端的访问地址
节点:
version: "3"
services:
client1:
image: sianhh/gostc:latest
restart: always
network_mode: host # 客户端推荐网络使用host模式
container_name: gostc
command:
- --tls=true
- -addr
- gost.sian.one
- -s
- -key
- ****** # 替换为节点密钥
客户端:
version: "3"
services:
client1:
image: sianhh/gostc:latest
restart: always
network_mode: host # 客户端推荐网络使用host模式
container_name: gostc
command:
- --tls=true
- -addr
- gost.sian.one
- -key
- ****** # 替换为客户端密钥
version: "3"
services:
client1:
image: sianhh/gostc-proxy:latest
restart: always
network_mode: host # 推荐host,容器网络一定要与节点网络互通,确认节点可以访问到网关服务的API接口
container_name: gostc-proxy
volumes:
- ./data:/app/data # 数据目录,包含配置文件,日志文件
command:
- -d # 开发者模式,用于将日志输出到控制台
- --log-level # 日志级别
- info
-- /
-- server // 后端项目代码
-- web // 前端项目代码
-- client // 节点和客户端项目代码
-- proxy // 网关服务,主要实现自定义域名功能
cd web
npm i
npm run build
编译后的文件在web/dist目录中,压缩dist目录,将dist.zip复制到server/web/dist.zip
cd server
go build -ldflags "-s -w" -o server main.go
编译方式一(当前平台):
cd client
go build -ldflags "-s -w" -o gostc ./cli/
编译后的文件为server/gostc
编译方式二(多平台编译,借助goreleaser工具):
cd client
goreleaser release --snapshot --clean
编译后的文件在server/dist目录中
编译Windows GUI客户端:
cd client
go build -ldflags="-H windowsgui -w -s" -o gostc-gui.exe ./gui/
./server
默认端口8080,默认账号密码admin/admin
# 节点
./gostc --tls=false -addr 127.0.0.1:8080 -s -key ******
# 客户端
./gostc --tls=false -addr 127.0.0.1:8080 -key ******
如果后台管理服务不启用SSL,需要设置--tls=false
-addr指定的127.0.0.1:8080修改为实际的后台管理