FRP
约 2 分钟阅读
- fatedier/frpGitHubfatedier/frpfatedier/frp 是什么? · 基于端口的 4 层反向代理 · 基于 vhost 的 7 层反向代理 · 服务端支持 http, tcp, udp, kcp · 服务端支持 ws 暴露 - TCP over Websocket · 代理支持 tcp,udp,http,https,stcp,xtcp笔记:FRP 是什么?
- 基于端口的 4 层反向代理
- 基于 vhost 的 7 层反向代理
- 服务端支持 http, tcp, udp, kcp
- 服务端支持 ws 暴露 - TCP over Websocket
- 代理支持 tcp,udp,http,https,stcp,xtcp
- stcp - 两个客户端通过共享密钥互通
- xtcp - NAT 穿透 P2P - 成功率低
- 支持 fallback
- 服务端和客户端支持简单 dashboard
- 文档
- 默认端口 7000
- 组件
- frps - 服务端 - 一般有外网 IP
- frpc - 客户端 - 一般位于内网, 期望被外网访问, A -> frps -> frpc
- 缺陷
- xtcp 点到点穿透率低, 基本失败, 如果需要 p2p 可选择 tinc.
- 参考
apk add frp # AlpineLinux
brew install frpc # macOS
# https://github.com/fatedier/frp/releases
# -t frps 的认证 token
# -d 自定义域名
# -l 本地服务端口
# -u 名字 - 标识作用
frpc http -t TOKEN -l 3000 -u wener -d wener.frp.wener.me -s frp.wener.me:80 -uc -ue -p websocket
# Reload
curl http://admin:[email protected]:7400/api/reload
# debug port
apk add iproute2-ss
ss -lntp
curl -s https://api.github.com/repos/fatedier/frp/releases/latest | jq -r .tag_name
# -u wener -n ssh -> wener.ssh
frpc stcp --sk SECRET -t TOKEN -l 22 -u wener -n ssh -s frp.wener.me -P 443 -p wss --ue --uc
# 检查配置
frpc verify -c /etc/frp/frpc.yamlfrps
[object Object]FAQ
get sid from visitor error
nat 穿透率低, 目前没有解决方案. 如果需要 p2p 建议选择其他方案, 例如 tinc.
start new visitor connection error: custom listener for doesn't exist
visitor 端出现, 应该是没有配置 server_name
websocket.Dial ws://frps/~!frp: unexpected EOF
- 0.51 支持 wss
protocol=wss
关联信息
反向链接、本文链接的其他页面和外部资料。
反向链接
- Network Awesome笔记 · frp
VPN Awesome · Proxy Awesome · cjdelisle/cjdns · GPLv3, C+Python · encrypted IPv6 network using public-key cryptography for address allocation and a distributed hash table for ro...
- Proxy Awesome笔记 · frp
Note · 建议基于 overlay 组件内部 proxy,更安全,更好跨网。 · 对外暴露甚至选择 · | protocol | transport | UDP | Note | · | socks4 | tcp | ❌ | · | socks5 | tcp | ✅ |
参考资料
GitHub3 条
- fatedier/frpgithub.com/fatedier/frp
- gofrp/fp-multiusergithub.com/gofrp/fp-multiuser
- koho/frpmgrgithub.com/koho/frpmgr
其他外链1 条
- gofrp.org/docsgofrp.org/docs