V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
guoguobaba
V2EX  ›  Node.js

问个页面跳转访问方案

  •  
  •   guoguobaba · 2 天前 · 1577 次点击

    帮朋友配了台 openwrt 路由器,然后弄了个域名,在 cf 上发布了一个机场聚合订阅,类似于 https://fgfw.xxx.com/xxx ,放到它 openclash 订阅 url 里

    首先这个域名是最便宜的那种,一年 8 块钱,续费就比较贵了,所以我打算每年换个域名。但是换了之后就得去帮他修改订阅,很麻烦。

    所以我想了个方案,就是找一个支持 redirect 的免费服务,类似于 xxx.github.io ,部署一下 redirect url 的服务,类似于

    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="refresh" content="0;url=https://fgfw.xxx.com">
        <title>301 Moved Permanently</title>
    </head>
    <body>
    </body>
    </html>
    

    我把订阅 url 改成 https://xxx.github.io/index.html 就行了。以后换域名了,我修改 github 的配置就行了。路由器那边不用动。

    但是发现 openclash 是通过 curl 下载订阅的,而 github pages 不支持 301 跳转。

    这让我想找一个支持 node js server 的站点,就又回到鸡生蛋蛋生鸡的问题了,cf worker 就是干这个,但是它给我的缺省域名被墙了,vercel 也是如此。

    所以我需要一个能够 redirect 我 url 的服务,能提供免费域名,类似 xxx.github.io ,最好比较坚挺,比我的域名存活时间长。

    20 条回复    2025-03-03 07:58:40 +08:00
    koor
        1
    koor  
       2 天前
    hosts 文件里写死好了
    ETiV
        2
    ETiV  
       2 天前 via iPhone
    1 域名有免费的,我印象中有 cloudns 什么的,你自己多搜搜
    2 github.io 也不能排除被墙的风险…

    阿里腾讯有云函数计算,那个会给个域名,不知道支不支持 301
    guoguobaba
        3
    guoguobaba  
    OP
       2 天前
    @ETiV 根据国家相关规定,您不能直接在浏览器中打开页面。服务端会在 Response Headers 中强制添加 content-disposition: attachment 字段,此字段会使得返回结果在浏览器中以附件的方式下载。

    如果要移除 content-disposition: attachment 响应头,您需要设置自定义域名。

    国内就是曹丹
    totoro625
        4
    totoro625  
       2 天前
    不应该长期持有一个域名吗,6~9 位纯数字 xyz 域名有优惠,例如阿里云注册、续费都是 7 元一年
    UnluckyNinja
        5
    UnluckyNinja  
       2 天前
    这下 yak shaving 了,问题一个个看:
    - 域名续费问题,既然是自己用那就无所谓具体什么样,tld-list.com 按续费价格倒序挑个便宜且靠谱的,让他出点小钱一次多买几年
    - 缺省域名被墙问题,openclash 不能通过正在用的代理来更新订阅嘛,第一次想办法手动添加下,之后自动更新
    - 免费域名,那就是找子域名了,free subdomain ,谷歌、reddit 里找个没被墙的支持自定义 dns 的,比如 eu.org
    UnluckyNinja
        6
    UnluckyNinja  
       2 天前
    4L 一说我才想起来 xyz 这个,https://gen.xyz/cn/shuzi
    c398425861
        7
    c398425861  
       2 天前   ❤️ 1
    ETiV
        8
    ETiV  
       2 天前 via iPhone
    那你可以把订阅的规则放在上面,直接下载,一步到位!
    caomingjun
        9
    caomingjun  
       2 天前 via Android
    @guoguobaba 这又不关 301 的事。curl 看到 301 就跳转了,不会管 content-disposition 的。
    guoguobaba
        10
    guoguobaba  
    OP
       2 天前
    @ETiV 会泄露机场信息,我希望能传 token 进去,跳转到我的页面可以验证 token
    smallparking
        11
    smallparking  
       2 天前 via Android
    不是有免费域名 eu.org 吗? 我用的这个
    Vegetable
        12
    Vegetable  
       1 天前
    vercel 可以,没注意有没有墙
    c398425861
        13
    c398425861  
       1 天前
    dynu.com 申请一个免费 ddns,里面有一个网页重定向
    [Imgur]( https://imgur.com/aFioCgl)
    y1y1
        14
    y1y1  
       1 天前 via iPhone
    要不要这么贴心
    UnluckyNinja
        15
    UnluckyNinja  
       1 天前 via Android
    @Vegetable #12 国外免费静态托管的基本都被墙了,vercel 站内你就能搜到,没被墙的也在被墙的路上,迟早的事
    ETiV
        16
    ETiV  
       1 天前
    你把订阅内容加密后输入进去,这样云函数吐出来的也是加密后的内容
    把解密放在本地做,openclash 加载解密后的本地文件
    guoguobaba
        17
    guoguobaba  
    OP
       1 天前
    @ETiV 我测试了腾讯的 scf 可以,就是访问 https://fgfw.xxx.com/?token=xxxx , 在 openwrt 里配置 https://scf..../?token=xxx ,理论上 token 不泄漏,公开 scf 的 url 也没有问题

    但是腾讯的 scf 说需要挂自己的域名,
    jiangzm
        18
    jiangzm  
       1 天前
    如果是静态地址的跳转完全可以直接用 DNS 服务商提供的静态 Url 跳转,如果是有动态参数那 github pages 也支持不了只能用 Web 服务端动态跳转。
    IvanLi127
        19
    IvanLi127  
       1 天前
    要不你在路由器里跑个程序吧,cf 上加个备选地址列表,路由器里用程序检测,自动轮换。
    lovelylain
        20
    lovelylain  
       16 小时 33 分钟前 via Android
    改一下 clash 启动脚本,从 github 提取信息组装成实际 url 后再喂给 clash
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1700 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 16:31 · PVG 00:31 · LAX 08:31 · JFK 11:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.