guoguobaba
V2EX  ›  Node.js

问个页面跳转访问方案

  •  
  •   guoguobaba · Mar 1, 2025 · 4219 views
    This topic created in 613 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

    但是腾讯的 scf 说需要挂自己的域名,
    jiangzm
    jiangzm
    Mar 2, 2025
    18
    如果是静态地址的跳转完全可以直接用 DNS 服务商提供的静态 Url 跳转,如果是有动态参数那 github pages 也支持不了只能用 Web 服务端动态跳转。
    IvanLi127
    IvanLi127
    Mar 2, 2025
    19
    要不你在路由器里跑个程序吧,cf 上加个备选地址列表,路由器里用程序检测,自动轮换。
    lovelylain
    lovelylain
    Mar 3, 2025 via Android
    20
    改一下 clash 启动脚本,从 github 提取信息组装成实际 url 后再喂给 clash
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1452 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 61ms · UTC 18:19 · PVG 02:19 · LAX 10:19 · JFK 13:19
    ♥ Do have faith in what you're doing.