又一私有化部署内网穿透的终极解决方案?GOSTC
对对对,你没看错,前几天还在嚷嚷HP-LITE的我,又投靠GOSTC了。最近GOSTC开源了,V2版本将底层GOST切换成了FRP(所以为啥不改名FRPC? )。GOSTC在FRP完善的功能和高性能基础上,封装了配置分发系统GOSTC-ADMIN,用户不在需要折腾繁琐的FRP配置文件,将节点和客户端加入admin后,直接在admin上可视化配置即可,同时还支持了多个节点,多个客户端的统一配置。
项目地址
项目预览
基础概念
admin
服务端,整个项目的配置分发系统,所有的节点、客户端连接至admin服务,以获取配置。
节点
封装了FRPS服务端和配置文件接受服务,admin下发配置时,实时更新FRPS配置。
客户端
封装了FRPC客户端和配置文件接受服务,admin下发配置时,实时更新FRPC配置。
admin服务搭建
yaml
# docker-compose.yaml
services:
admin:
image: sianhh/gostc-admin:latest
restart: always
network_mode: host # 服务端根据情况配置网络情况,默认端口8080,可以修改配置文件更改
container_name: gostc-admin
volumes:
- ./data:/app/data
command:
- -d # 开发者模式,用于将日志输出到控制台
- --log-level # 日志级别
- info
节点搭建
常规节点
yaml
# docker-compose.yaml
services:
node:
image: sianhh/gostc:latest
restart: always
network_mode: host
container_name: gostc-node
command:
- --tls=true
- -addr
- [admin服务的地址]
- -s
- -key
- "[admin服务中创建节点后的密钥]"
注意替换admin服务地址与节点密钥,如果admin服务不是https,则--tls=false
允许自定义域名的节点
yaml
# docker-compose.yaml
services:
node:
image: sianhh/gostc:latest
restart: always
network_mode: host
container_name: gostc-node
command:
- --tls=true
- -addr
- [admin服务的地址]
- -s
- -key
- "[admin服务中创建节点后的密钥]"
- --proxy-base-url
- "http://127.0.0.1:8080"
proxy:
image: sianhh/gostc-proxy:latest
restart: always
network_mode: host
container_name: gostc-proxy
volumes:
- ./data:/app/data # 数据目录,包含配置文件,日志文件
command:
- -d # 开发者模式,用于将日志输出到控制台
- --log-level # 日志级别
- info
注意替换admin服务地址与节点密钥,如果admin服务不是https,则--tls=false。 --proxy-base-url属性中的端口需要和proxy配置的api-addr端口一致,默认为8080。
客户端搭建
yaml
# docker-compose.yaml
services:
client:
image: sianhh/gostc:latest
restart: always
network_mode: host
container_name: gostc
command:
- --tls=true
- -addr
- [admin服务的地址]
- -key
- "[admin服务中创建客户端后的密钥]"
注意替换admin服务地址与客户端密钥,如果admin服务不是https,则--tls=false。