GitHub地址
GitHub - frp
frps.ini
[common]
# bind_addr為0.0.0.0含義就是服務端服務器上的所有IP都可以監聽外部連接請求
# 如果需要配置單個就將服務器的某一個公網IP寫在bind_addr
bind_addr = 0.0.0.0
bind_port = 7000
# 可以使用nat打洞,進行點對點的連接,這時候數據通信不僅過frp服務端
bind_udp_port = 7001
# 可以使用底層通信端口為kcp
kcp_bind_port = 7000
# 考慮到這個場景:內網的的數據庫是個備庫,frps這邊要把本地的數據庫備份到內網機器上,在此使用proxy_bind_addr = 127.0.0.1 就可以達到這個效果,還很安全
proxy_bind_addr = 127.0.0.1
# 域名訪問內網的web服務,需要將域名解析到服務器,A記錄或者CNAME記錄
vhost_http_port = 80
vhost_https_port = 443
# http相應超時,默認60s
vhost_http_timeout = 60
# frpweb統計界面
dashboard_addr = 0.0.0.0
dashboard_port = 7500
# web統計界面認證信息
dashboard_user = admin
dashboard_pwd = admin
# frp服務端日志文件
log_file = ./frps.log
# 日志等級 trace, debug, info, warn, error
log_level = info
# 日志保留天數
log_max_days = 3
# frp服務端和客戶端通過bind_port端口進行認證的token,服務端和客戶端都要一直
token = 12345678
# 服務器上可以用映射的端口
allow_ports = 2000-3000,3001,3003,4000-50000
# 默認情況下:當用戶請求建立連接后,frps 才會請求 frpc 主動與后端服務建立一個連接
# 如果由大量短連接的情況呢,是不是很和耗時?因此,該字段會在和frp客戶端連接后,主動建立max_pool_count個連接,當有用戶來訪問業務的是時候就會從該連接池內取出連接來用,使用於大量短連接的情況
max_pool_count = 5
# 限制frpc使用服務端端口的數量。0為不限制
max_ports_per_client = 0
# 該功能需要泛解析,即把*.frps.com A記錄到frps在的服務器上,然后frpc就可以只配置subdomain = test 就可以使用 test.frps.com來使用,多人使用很方便
subdomain_host = frps.com
# 啟動tcp多路復用
tcp_mux = true
frpc.ini
[common]
# 和frps底層通信的信息,和bind_addr = 0.0.0.0 bind_port = 7000 保持一致
server_addr = 0.0.0.0
server_port = 7000
# frpc通過代理去連接frps。http或socks5代理方式
# http_proxy = http://user:passwd@192.168.1.128:8080
http_proxy = socks5://user:passwd@192.168.1.128:1080
# 日志文件
log_file = ./frpc.log
# 日志等級 trace, debug, info, warn, error
log_level = info
# 日志最大保留天數
log_max_days = 3
# 和frps底層通信認證token和frps一致
token = 12345678
# 熱加載frpc配置使用 frpc reload -c ./frpc.ini
admin_addr = 127.0.0.1
admin_port = 7400
admin_user = admin
admin_pwd = admin
# 和frps剛開始通信時建立的連接數量
pool_count = 5
# 開啟tcp多路復用 和frps一致
tcp_mux = true
# 加入frpc標識,下面的模塊使用 如 your_name.ssh
user = your_name
# frpc和frps登陸失敗后是否繼續持續登陸
login_fail_exit = true
# 和frps通信的底層協議 tcp kcp websocket, 默認是 tcp
protocol = tcp
# frpc使用的dns服務器
# dns_server = 8.8.8.8
# frpc中啟動的代理模塊,模式都啟動
# start = ssh,dns
# ssh代理模塊
[ssh]
...
...
# dns代理模塊
[dns]
...
...
demo
[common]
token = {{ .Envs.FRP_SERVER_TOKEN }}
server_addr = {{ .Envs.FRP_SERVER_ADDR }}
server_port = {{ .Envs.FRP_SERVER_PORT }}
admin_addr = 0.0.0.0
admin_port = 7400
admin_user = admin
admin_pwd = admin
[name]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = {{ .Envs.FRP_SSH_REMOTE_PORT }}
use_encryption = true