V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Linkia
V2EX  ?  宽带症候群

求助,如何使用 Frp 做到 Sakura Frp 那样的网页认证?

  •  
  •   Linkia · 20 天前 · 1521 次点击

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    RT ,我日常需要在各种计算机上远程访问我的电脑。

    家中局域网内有软路由,安装了 Sakura Frp 做转发,但免费节点高峰期体验非常差,且本人有多个服务器的基础上不想去花每年 120 元去买 Sakura Frp 的会员。

    但自己尝试使用我自己的 Frps 添加 RDP 映射的时候发现了一些问题,Frp 项目无法像 Sakura Frp 那样有网页访问验证功能,即先通过浏览器访问隧道,输入密码后给 IP 一定时间的白名单。

    如果我自己直接将 RDP 映射到公网肯定会被爆破+各种挂马,不知道各位有没有什么能使 Frp 快速便捷的验证端口访问问题。

    注:

    1. 暂不考虑除 RDP 之外的远程方式,在其他电脑上没有比 RDP 更方便且不用安装软件的方法了。
    2. Frp 的 stcp 也不考虑,连接前需要安装软件。
    3. 不考虑 WireGuard 、ZeroTier 等,原因同上,RDP 前需安装软件。
    19 条回复  ?  2024-04-11 12:14:21 +08:00
    cat
        1
    cat  
       20 天前   ?? 1
    好像有点意思 ? 可以摸鱼做一个
    StuPYX
        2
    StuPYX  
       20 天前   ?? 2
    Linkia
        3
    Linkia  
    OP
       20 天前 via Android
    @cat 欢迎大佬写一个!
    Linkia
        4
    Linkia  
    OP
       20 天前 via Android
    @StuPYX 感谢,但这个项目停止维护了,看看还有没有更好的实现方法,如果没有的话考虑部署一下这个项目~
    jpyl0423
        5
    jpyl0423  
       20 天前   ?? 1
    可以看下这个项目 https://github.com/snail007/goproxy
    Linkia
        6
    Linkia  
    OP
       20 天前 via Android
    @jpyl0423 看起来要复杂许多,稍后研究研究,感谢!
    lovelylain
        7
    lovelylain  
       20 天前 via Android
    考虑下 frp + mqtt + nodered + 企业微信,需要的时候通过企业微信应用菜单开启 frpc
    boboliu
        8
    boboliu  
       20 天前
    不必如此复杂,这个功能是纯客户端的。

    如果我没记错的话,相关用法的兼容性被刻意保留下来了。
    你直接用 sakura frp 的 frpc 丢上你的配置文件,然后加上 `auth_pass` 就行。
    boboliu
        9
    boboliu  
       20 天前
    @boboliu 哦我记错了,下个版本恢复一下(
    1423
        10
    1423  
       20 天前
    这种应用层创新还挺有意思的
    也可以用 port nock 之类的技术替代实现, 比如一些 web-based port nock
    最后当然也可以用管理 iptables 的 web 面板来实现..
    totoro625
        11
    totoro625  
       20 天前
    自己的 frps 上安装了 ufw ,默认是 deny
    用的命令是:ufw allow from 当前的 IP

    包装成一个 https 获取 ip ,传递给 ufw 开启权限,应该是可行的
    Linkia
        12
    Linkia  
    OP
       20 天前
    @boboliu #8 啊?还能这么操作?我研究研究?
    coldle
        13
    coldle  
       19 天前
    同需求,也是最后收拢到临时加白这个功能上了?这功能确实简单好用
    loveqianool
        14
    loveqianool  
       19 天前 via Android
    https://v2ex.com/t/1020251
    这个能替代吗?
    guanzhangzhang
        15
    guanzhangzhang  
       19 天前
    用 Headscale 点对点隧道吧,frp 这种映射到公网被黑
    Linkia
        16
    Linkia  
    OP
       19 天前
    @guanzhangzhang 有说明暂不考虑需要装软件才能远程的隧道方法,那样我还不如用 ToDesk 之类的远控工具了?
    Linkia
        17
    Linkia  
    OP
       19 天前
    @boboliu #8 这个方法我测试了一下,不行 :(
    不知道是我配置有问题还是如何

    karl@Karl-Laptop:~/frp/natfrp$ ./frpc_linux_amd64 -c ./frpc.toml


    ```

    [common]
    server_addr = ****
    server_port = ****
    token = ****

    [test]
    type = tcp
    local_ip = 127.0.0.1
    local_port = 80
    remote_port = 8010
    auth_pass = testpassword

    ```
    Linkia
        18
    Linkia  
    OP
       19 天前
    @StuPYX 很可惜这个版本里不包含我所述的功能 :(
    Pastech
        19
    Pastech  
       18 天前
    做过一个类似的 frp 2fa 认证 不过是服务器实现的
    思路大概是 frp 先反代到 localhost 的一个端口 nginx 里面初始化一个 shared_dict 然后在某个 location 下面放一个 content_by_lua_file 通过 http 请求往 shared_dict 中写白名单 IP 然后在默认的 location 下面用 access_by_lua_file 识别 ip 是否在白名单内 不在的话重定向到认证页面 在的话就继续反向代理
    目前用下来感觉良好
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   954 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:07 · PVG 04:07 · LAX 13:07 · JFK 16:07
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com