V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fcicq
V2EX  ›  宽带症候群

基于缓存服务器的开源镜像

  •  
  •   fcicq · 2016-06-03 08:08:11 +08:00 · 4271 次点击
    这是一个创建于 3123 天前的主题,其中的信息可能已经有所发展或是发生改变。

    思路来自 /t/282827 , 具体 IP 地址也请那边找.

    OpenWRT 的镜像比较慢. 当然你可能知道也可能不知道有 http://openwrt.mirrors.ustc.edu.cn/

    由 script/download.pl 代码可知, 配置方法有三种.

    1. 一行一个写入 script/localmirrors
    2. 以分号隔开, CONFIG_LOCALMIRROR=URI 写入 .config
    3. 以分号隔开, 设置环境变量 DOWNLOAD_MIRROR

    当然既然老司机们找到了方法, 在原始域名前加缓存服务器 IP, 就不需要多说了.

    包括 Alpine Linux 等等之类的项目在墙内好像镜像也不多, 都可以类似的这样做. 但是需要注意的是最好不要用在 security.ubuntu.com 等对时效性要求很高的服务上, 除非自己设计缓存的时候能够跳过索引文件或者设置更短的缓存有效时间.

    所以终极解法应该是在朝内的某 AppEngine 上设置一个只做 302 的转发服务? 这就等于主动复制了劫持服务器的方案. 为了透明度这个必须要开源才有人敢用吧, 虽然包管理器都会验证 hash 和签名.

    7 条回复    2018-07-23 06:05:43 +08:00
    dphdjy
        1
    dphdjy  
       2016-06-03 08:29:11 +08:00 via Android
    开源不代表部署版本没问题
    fcicq
        2
    fcicq  
    OP
       2016-06-03 08:30:41 +08:00
    @dphdjy 所以可以考虑做成 nginx config file 自己部署在本地, 这样如何?
    EPr2hh6LADQWqRVH
        3
    EPr2hh6LADQWqRVH  
       2016-06-03 08:32:09 +08:00
    66666
    htfy96
        4
    htfy96  
       2016-06-03 08:47:07 +08:00 via Android
    一致性会不会出问题…比如说索引文件没更新 但旧版本的实际文件已经没了
    fcicq
        5
    fcicq  
    OP
       2016-06-03 08:53:34 +08:00
    @htfy96 好问题. 所以如果知道索引文件名的话最好做一个 bypass 处理. 或者根据不同的项目用白名单扩展名, debian 系只开放 deb, arch 只开放 pkg.tar.xx, alpine 只开放 apk 等等.
    VmuTargh
        6
    VmuTargh  
       2016-06-03 17:14:23 +08:00
    alpine 在 ustc 有,莫名其妙的就有了
    helloworld12
        7
    helloworld12  
       2018-07-23 06:05:43 +08:00
    这个方法还有效吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2701 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:16 · PVG 13:16 · LAX 21:16 · JFK 00:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.