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

问个页面跳转访问方案

  •  
  •   guoguobaba · 30 天前 · 2054 次点击

    帮朋友配了台 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 ,最好比较坚挺,比我的域名存活时间长。

    第 1 条附言  ·  12 天前
    用 github gist 就可以了,自动生成上传。
    20 条回复    2025-03-03 07:58:40 +08:00
    koor
        1
    koor  
       30 天前
    hosts 文件里写死好了
    ETiV
        2
    ETiV  
       30 天前 via iPhone
    1 域名有免费的,我印象中有 cloudns 什么的,你自己多搜搜
    2 github.io 也不能排除被墙的风险…

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

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

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

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