【第160期】【免费资源第81期】FRP的 Web 穿透服务!通过自定义域名访问内网的Web 服务!cloudflare隧道服务的FRP版实现?与cloudflare隧道的对比!FRP也可HTTPS化
HTML-код
- Опубликовано: 24 июн 2024
- 从117期开始,加入一个【观众答疑】的播放列表,挑选一些有代表性的观众提问进行视频演示!
■观众提问:
你好问一下,我没有公网IP,有什么方式能将TCP 端口暴露到公网上吗,而且不想使用cloudflare tunnel 访问tcp(因为需要在使用端也连接cloudflare)
■我的回答:
如果有VPS,可以在VPS上安装FRP进行反向代理。
如果没有自己的VPS,可以考虑有开放FRP服务的公共网站(不推荐)
如果是HTTPS这类特殊的TCP端口,可以考虑tailscale funnel的tcp参数进行绑定!
另外就是IPV6案了!用wireguard获得一个IPV6地址,绑定到域名AAAA记录上去!(★★★此案不可行★★★)
→如果没有自己的VPS,可以考虑有开放FRP服务的公共网站(★★★观众答疑第16期★★★)
1.1,受tailscale funnel的启示,可以先注册端口,需要时再绑定到指定的服务!(★★★观众答疑第17期★★★)
1.2,FRP是支持UDP的,利用免费FRP公共代理服务器,将内网中的N2N SuperNode服务器公布到公网上,可以与朋友异地组网!并且N2N是有一定机率P2P直连的!(★★★内网VPN第41期★★★)
1.3,免费FRP公共代理服务器的最大问题是安全问题,而FRP是提供了安全的访问方式的!(★★★免费资源第75期★★★)
1.4,FRP的stcp(secret tcp) 类型的代理,一定程度上提高了安全性,是cloudflare隧道服务的FRP版实现?与cloudflare隧道的对比!(★★★免费资源第76期★★★)
1.5,利用免费FRP公共代理服务器,将内网中的N2N服务器公布到公网上!N2N客户端P2P直连后,断掉服务端的反向代理,已直连的N2N客户端依然在线?(★★★免费资源第77期★★★)
1.6,FRP的stcp(secret tcp) 类型的代理,提升了安全性!而xtcp类型的代理,则解决了性能问题:不经过服务器中转,提供了P2P直连的可能性!(★★★免费资源第78期★★★)
1.7,XTCP点对点连接受NAT设备影响,不一定保证连接成功!FRP提供了回退机制,xtcp类型的代理,在指定的时间内NAT打洞不成功,可以回退到stcp的方式建立连接!(★★★免费资源第79期★★★)
1.8,FRP的 Web 穿透服务!通过自定义域名访问内网的Web 服务!FRP公共代理服务器80,443端口的WEB服务,根据主机名进行路由分发,像极traefik?(★★★免费资源第80期★★★)
1.9,FRP的 Web 穿透服务!通过自定义域名访问内网的Web 服务!cloudflare隧道服务的FRP版实现?与cloudflare隧道的对比!FRP也可HTTPS化(★★★本期★★★)
■Google搜索关键字:
FRP公共服务器
■永久免费服务器:
freefrp.net/
■网站示例:
freefrp.net/docs
服务端:
■配置文件:
frpc.toml
serverAddr = "frp.freefrp.net"
serverPort = 7000
auth.method = "token"
auth.token = "freefrp.net"
[[proxies]](★★★FRP的HTTP类型代理★★★)
name = "test-http_wrt_20240619"
type = "http"
localIP = "192.168.0.1"
localPort = 80
customDomains = ["http.swing.cloudns.be"]
[[proxies]](★★★FRP的HTTPS类型代理★★★)
name = "test-https_se_20240619"
type = "https"
localIP = "127.0.0.1"
localPort = 443
customDomains = ["https.swing.cloudns.be"]
#[[proxies]]
#name = "test-tcp_ssh_20240619"
#type = "tcp"
#localIP = "127.0.0.1"
#localPort = 22
#remotePort = 19288
#[[proxies]]
#name = "test-tcp_rdp_20240619"
#type = "tcp"
#localIP = "127.0.0.1"
#localPort = 3389
#remotePort = 19289
[[proxies]]
name = "test-udp_n2n_20240619"
type = "udp"
localIP = "192.168.10.2"
localPort = 1235
remotePort = 19289
[[proxies]]
name = "secret_ssh_20240620"
type = "stcp"
secretKey = "abc20240620"
localIP = "127.0.0.1"
localPort = 22
[[proxies]]
name = "secret_rdp_20240620"
type = "stcp"
secretKey = "abc20240620"
localIP = "127.0.0.1"
localPort = 3389
[[proxies]]
name = "xtcp_ssh_20240620"
type = "xtcp"
secretKey = "abc20240620"
localIP = "127.0.0.1"
localPort = 22
[[proxies]]
name = "xtcp_rdp_20240620"
type = "xtcp"
secretKey = "abc20240620"
localIP = "127.0.0.1"
localPort = 3389
■向FRP服务器注册端口:
frpc -c frpc.toml
★★★与cloudflare的对比:★★★
■cloudflare隧道控制面板:
1,http服务:
主机名:http.freeluck.site(对应FRP服务端name,customDomains)
服务类型:HTTP(对应FRP服务端type:http)
URL:192.168.0.1:80(对应FRP服务端localIP,localPort)
2,https服务:
主机名:https.freeluck.site(对应FRP服务端name,customDomains)
服务类型:HTTPS(对应FRP服务端type:https)
URL:127.0.0.1:443(对应FRP服务端localIP,localPort)
No TLS Verify:ON
通过对比我们发现有如下不同:
1,cloudflare隧道把http包装为https访问,而frp依然可以http访问
2,cloudflared绑定https服务时,要打开No TLS Vervify!而frp应该是服务端默认打开了这个设置
其实,FRP也可以像cloudflare一样,把HTTP服务HTTPS化:
■配置文件:
frpc21.toml
serverAddr = "frp.freefrp.net"
serverPort = 7000
auth.method = "token"
auth.token = "freefrp.net"
[[proxies]]
name = "test_htts2http_20240624"
type = "https"
customDomains = ["https2http.swing.cloudns.be"]
[proxies.plugin](★★★FRP的HTTP化插件★★★)
type = "https2http"
localAddr = "192.168.0.1:80"
crtPath = "./server.crt"
keyPath = "./server.key"
hostHeaderRewrite = "127.0.0.1"
requestHeaders.set.x-from-where = "frp"
[[proxies]]
name = "test_static_file_20240624"
type = "tcp"
remotePort = 19589
[proxies.plugin]
type = "static_file"
localPath = "c:\\"
stripPrefix = "static"
httpUser = "test"
httpPassword = "test12345"
■向FRP服务器注册端口:
frpc -c frpc21.toml