airbotgo
V2EX  ›  问与答

如何让 YAML 格式的配置文件支持在线访问?

  •  
  •   airbotgo · Jun 2, 2023 · 3056 views
    This topic created in 1254 days ago, the information mentioned may be changed or developed.
    小猫咪的 .yaml 配置文件,自用。

    GitHub 新手,新建项目并设置为“私密”,上传 .yaml 配置文件到项目,通过链接访问文件,提示 404 。
    点击 GitHub 页面的「 raw 」按钮,会打开一个带 token 的页面,再次尝试访问,发现有时候 404 ,有时候可以访问(正常生成本地配置文件),但很快 404.
    raw 链接类似这样的: https://raw.githubusercontent.com/xxxxxx/MyDoc/main/xxxxx.yaml?token=GHSAT0AAAAAAB7CDXFNPOSVZCL45K4LUJZYDONSDAPA

    这是什么原因?
    如果我想让一个 .yaml 配置文件只有自己在线访问( macOS 、Android 两个客户端),该如何操作?
    (不想用第三方提供的托管服务)
    18 replies  •  2023-06-02 15:13:18 +08:00
    litchinn
    litchinn
    Jun 2, 2023
    1
    可以用 gist ,不想用托管服务就自己部署个配置中心,appolo 、nacos 啥的,不想这么重量级就 nginx 设置下不就可以访问了
    airbotgo
    airbotgo
    OP
    Jun 2, 2023
    2
    可以用 gist
    nginx 设置下
    ---------
    能再多提供一些信息么?非程序员,这些都不懂。我搜搜看怎么搞?
    SenLief
    SenLief
    Jun 2, 2023
    3
    直接用 gist.github.com 托管私密文件即可,不要公开。
    airbotgo
    airbotgo
    OP
    Jun 2, 2023
    4
    @SenLief
    @litchinn
    搜了下 gist ,目前正尝试中……感谢!
    baobao1270
    baobao1270
    Jun 2, 2023
    5
    @airbotgo
    @litchinn
    Gist 没用。Secret 的 Gist 也一样要带 cookies 访问,Public 的 Gist 会显示在 gist.github.com/<yourusername> 里
    Nasei
    Nasei
    Jun 2, 2023
    6
    你去 github 个人设置里,找到最后有一个开发者选项,生成一个 api key ,然后把文档看一遍
    airbotgo
    airbotgo
    OP
    Jun 2, 2023
    7
    进展及方法尝试反馈:

    在 gist.github.com 创建私密 gist ;
    直接将该 gist 链接添加到客户端托管列表,提示某行字符错误(可能用了很多表情符号);
    点击该页面的「 raw 」按钮,会打开一个新的页面,将该页面链接添加客户端,成功。

    短时间内没有出现 404 错误,已经够用了。

    感谢楼上大佬们的回复。

    不过仍然对提问中带 token 的页面,时不时 404 不是很理解(有时候又可以访问),有大佬知道吗?
    ljsh093
    ljsh093
    Jun 2, 2023
    8
    @baobao1270 #5 有完整 url 就行,我随便找了个客户端能 get 到
    kaneg
    kaneg
    Jun 2, 2023 via iPhone
    9
    那个带 token 的 url 是有有效期限制的,大概是一个星期左右,过了有效期就需要重新访问页面生成一个新的链接
    kaneg
    kaneg
    Jun 2, 2023 via iPhone
    10
    至于为什么会带 token ,是因为你的仓库是私密仓库,防止别人直接访问到。如果别人偶尔拿到那个带 token 的 url ,他也只能用一段时间
    airbotgo
    airbotgo
    OP
    Jun 2, 2023
    11
    @kaneg 感觉有效期 1 分钟都不到,甚至只有几秒钟就失效。
    我是链接扔到不同的浏览器隐私窗口打开,能打开的,刷新一下就 404 ;有些根本就一直打不开。不知道原因何在。
    GlobalNPC
    GlobalNPC
    Jun 2, 2023
    12
    Clash 的请求能带 headers 吗? 如果可以的话,可以试试 S3 设置 CORS ( Cloudflare 的 R2 也可以)
    ysc3839
    ysc3839
    Jun 2, 2023 via Android
    13
    不如弄个私有仓库,里面再弄 GitHub Pages
    SenLief
    SenLief
    Jun 2, 2023 via iPhone
    14
    额,gist 需要处理一下链接就不会变化了,一直都可以获取最新的内容。
    就是点下 raw ,然后把链接中的 raw/xxxxxxx/文件名,把 xxxxxx 那部分删掉访问就可以了。
    mingl0280
    mingl0280
    Jun 2, 2023 via Android
    15
    你自己在服务器上开个带鉴权的 fastapi 服务,提供 yaml 内容就行了……
    palemoky
    palemoky
    Jun 2, 2023
    16
    这个很简单,直接搞个私密 gist 即可,然后用以下链接即可,注意链接不能泄露。
    用这个链接 gist 的文件名修改也不会影响内容加载,有个问题是 GitHub 受到干扰时可能打不开链接,所以首次加载 Clash 配置会陷入死循环。
    https://gist.githubusercontent.com/<username>/<gist_id>/raw
    Shorekeeper
    Shorekeeper
    Jun 2, 2023
    17
    Secret Gist 是仅限链接访问,点击 raw 获取链接,加个 ghproxy 可以墙内访问。
    unfrost
    unfrost
    Jun 2, 2023
    18
    会 docker 的话,docker 跑一个 nacos 最方便了,就一句命令的事情,然后在里面加 yaml 配置,还可以查历史的修改记录之类的。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1790 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 321ms · UTC 13:48 · PVG 21:48 · LAX 05:48 · JFK 08:48
    ♥ Do have faith in what you're doing.