V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
airbotgo
V2EX  ›  问与答

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

  •  
  •   airbotgo · 2023-06-02 08:11:14 +08:00 · 1868 次点击
    这是一个创建于 544 天前的主题,其中的信息可能已经有所发展或是发生改变。
    小猫咪的 .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 条回复    2023-06-02 15:13:18 +08:00
    litchinn
        1
    litchinn  
       2023-06-02 08:23:02 +08:00
    可以用 gist ,不想用托管服务就自己部署个配置中心,appolo 、nacos 啥的,不想这么重量级就 nginx 设置下不就可以访问了
    airbotgo
        2
    airbotgo  
    OP
       2023-06-02 08:28:47 +08:00
    可以用 gist
    nginx 设置下
    ---------
    能再多提供一些信息么?非程序员,这些都不懂。我搜搜看怎么搞?
    SenLief
        3
    SenLief  
       2023-06-02 08:29:23 +08:00
    直接用 gist.github.com 托管私密文件即可,不要公开。
    airbotgo
        4
    airbotgo  
    OP
       2023-06-02 08:31:54 +08:00
    @SenLief
    @litchinn
    搜了下 gist ,目前正尝试中……感谢!
    baobao1270
        5
    baobao1270  
       2023-06-02 08:47:21 +08:00
    @airbotgo
    @litchinn
    Gist 没用。Secret 的 Gist 也一样要带 cookies 访问,Public 的 Gist 会显示在 gist.github.com/<yourusername> 里
    Nasei
        6
    Nasei  
       2023-06-02 08:53:30 +08:00
    你去 github 个人设置里,找到最后有一个开发者选项,生成一个 api key ,然后把文档看一遍
    airbotgo
        7
    airbotgo  
    OP
       2023-06-02 08:56:49 +08:00
    进展及方法尝试反馈:

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

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

    感谢楼上大佬们的回复。

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