【第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

Комментарии •