V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
git
Pro Git
Atlassian Git Tutorial
Pro Git 简体中文翻译
GitX
solider245
V2EX  ›  git

cit:让你从 github 的下载速度提高一万倍的小软件

  •  1
     
  •   solider245 · 41 天前 · 6784 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。

    序言

    github 上有很多好项目,但是国内用户连 github 却非常的慢.每次都要用插件或者其他工具来解决. 这次自己做一个小工具,输入 github 原地址后,就可以自动替换为代理地址,方便大家更快速的下载. 速度太慢可以看下gitee 仓库地址 github 仓库

    安装

    pip install cit
    # 代理安装路径
    pip install -i https://mirrors.cloud.tencent.com/pypi/simple cit
    

    主要功能与用法

    主要功能

    • change 将目标地址转换为加速后的地址
    • clone 常见的 git 加速,最快 10M/s,有时候慢一点
    • sub git 子模块加速,等同于 git submodule add
    • get 就是单纯的下载功能

    示例用法

    1. clone功能:等效于 git clone <url>
    cit clone <url>
    # 示例
    cit clone https://github.com/solider245/cit.git
    

    20210117184201_a0bb88c0f05074e9936d59be10ee1f7f.png

    如上图所示,输入一个数字,选择一个链接即可开始下载.默认使用 0.

    1. sub功能: 等效于git submodule add <url>
    cit sub <url>
    # 案例
    cit sub https://github.com/solider245/cit.git
    

    逻辑和 git clone 一样,这里就不放图了.

    1. get功能: 等效于 wget下载 get 功能会根据你的输入,智能判定下载 raw 文件或者 release 文件 使用示例:
    cit get <url>
    # 案例
    cit get https://github.com/cheat/cheat/archive/4.2.0.zip   
    
    • 下载 raw 文件 20210117195105_c1631ea82365332e2fa165f347a9bf96.png

    20210117194012_574bf5e906eb1b18b3b9615d7e8b295d.png

    下载安装包. 20210119184535_9e6b84fa7e79b955d6b2c8928a50ee1e.png

    如上图所示,因为是使用 https 下载,所以速度快点惊人,如果下载速度太慢可以选择别的地址.我目前测试下来,基本都能用.

    其他功能

    • [x ] 常用软件下载,类似 python,go 等下载
    • [x ] 常用系统加速,类似 ubuntu 或者 centos 等加速
    • [] 其他常用功能

    欢迎询问或者给我邮箱发邮件.

    53 条回复    2021-01-23 14:47:11 +08:00
    greatbody
        1
    greatbody   41 天前
    外企表示不想理会
    276562578
        2
    276562578   41 天前 via Android
    你这个很赞啊
    solider245
        3
    solider245   41 天前
    @276562578 自己做的一个小工具.因为考虑到基本都是国人在用,所以就没写英文文档了.
    因为我是新手,所以很多东西都写的不是很完善.目前来看是基本使用没有大问题,所以才发出来的.
    把目前的几乎所有的代理全部都汇总了.
    然后,还有大家平常所说的 raw 以及 release 文件的下载,现在都可以自动转换了.
    superrichman
        4
    superrichman   41 天前 via iPhone
    跟 proxychains 比有什么优势?
    YouLMAO
        5
    YouLMAO   41 天前 via Android   ❤️ 16
    明天到 UC 新闻部报到
    solider245
        6
    solider245   41 天前
    @superrichman 没什么优势,这个是给新手用的.简单来说,以前你要去 github 下载软件的时候需要转换链接.cit 帮你把目前主流的 9-10 个链接都置换好了,你只需要根据情况选择一个相对来说下载速度比较快的地址即可.
    solider245
        7
    solider245   41 天前
    @YouLMAO 从 1K 提升到 10M,算下来差不多是有一万倍了吧?哈哈。没办法啊,标题你可以当成是目标用户筛选。喜欢这个标题党人才会用我的这款小软件。技术大牛或者说有点基础的人根本就用不到这款软件了。
    S4m
        8
    S4m   41 天前   ❤️ 4
    个人用问题不大,公司用的话怎么保证镜像节点是可信的
    随便投个毒,基本全完了。
    Rwing
        9
    Rwing   41 天前
    https://fastgit.org/
    用这个镜像吧,也有命令行可以用,这其中之一
    https://github.com/FastGitORG/FastGit.Tool.FGit
    stille
        10
    stille   41 天前 via iPhone
    顺手推广下 ghproxy.com
    大家可以测试看看速度如何!
    learningman
        11
    learningman   41 天前
    这玩意用 shell 加.bashrc 就能搞一个,还上 python,太笨重了
    northisland
        12
    northisland   41 天前
    很实用,厉害了。
    solider245
        13
    solider245   41 天前
    @S4m 这个就是给小白用户的.公司的话,基本都是自己搭建的吧?目前找到节点都是公开的,后续看看要不要加个用户自定义什么都
    solider245
        14
    solider245   41 天前
    @stille 你们的节点我已经加上去了
    solider245
        15
    solider245   41 天前
    @learningman 这不是自学 Python 吗,想着顺便做个小东西.shell 写却是最好,但是发现没有那么灵活.
    solider245
        16
    solider245   41 天前
    @Rwing fastgit 节点有.常用的大概有 10 个节点
    muzuiget
        17
    muzuiget   41 天前
    标题党只会适得其反。
    GM
        18
    GM   41 天前
    安装后找不到 cit 命令?
    solider245
        19
    solider245   41 天前
    @GM 能看下报错吗?我这里显示没问题
    solider245
        20
    solider245   41 天前
    @GM 可能是源同步的关系,我这里用的是清华和腾讯的源测试,如果你的 Pip 用的是阿里云的,可能要慢一点.因为之前我有一个失误,把可执行文件的内容给删掉了,后面 才加上去了.只有最新的版本没问题.阿里云的源同步要慢一些
    solider245
        21
    solider245   41 天前
    @GM ![20210122143710_6fed7ab811c46204871a9a4cc7b839a2.png]( https://images-1255533533.cos.ap-shanghai.myqcloud.com/20210122143710_6fed7ab811c46204871a9a4cc7b839a2.png)
    上面这个是我最新的截图
    GM
        22
    GM   41 天前
    @solider245
    -bash: cit: command not found

    用这个命令安装的:

    pip install -i https://mirrors.cloud.tencent.com/pypi/simple cit
    jswh
        23
    jswh   41 天前
    命令行工具,为什么不用 export https_proxy='' 。。。。。。
    kosmgco
        24
    kosmgco   41 天前
    看了下代码,是用中文编程吗

    https://sm.ms/image/QHKJzUvFhPdaE6A
    ttimasdf
        25
    ttimasdf   41 天前   ❤️ 4
    看着不错,有个功能建议,供应链投毒的危害实在不容小觑。

    因为你的项目在做一个镜像聚合,可以做一个非常有意义的事情——对比各个镜像下载资源的一致性,判断有没有镜像在做内鬼。可以加一个子命令,比如就叫 verify,

    cit verify https://github.com/cheat/cheat/archive/4.2.0.zip

    两种实现方法:

    1. 从多个镜像 URL (或干脆从 github )同时下载文件,然后计算对比哈希值。这个是最慢的,但最准确的方法。

    2. 稍微快一点,但验证效果稍微差一点的方法,就是从 Github 源头拉取文件大小,除了 repo archive ( codeload.github.com 的链接),剩下的场景中,给下载的链接发个 HEAD 请求,Github 都是会返回文件长度的( Content-Length 这个 http header )。所以从文件大小简要判断一下,也可以作为一个验证方式。

    假定所有镜像的数据不可信,这个前提还是非常有必要的。
    ttimasdf
        26
    ttimasdf   41 天前
    @kosmgco 国货之光 :doge
    j0hnj
        27
    j0hnj   41 天前   ❤️ 1
    这代码……看着想打人
    misaka19000
        28
    misaka19000   41 天前
    我从 GitHub 下载现在是 10m/s 用了你这个能提升到 100g/s ?太能装了吧?
    K120
        29
    K120   41 天前
    https://github.com/xjh22222228/git-manual#%E5%8A%A0%E9%80%9F 镜像加速,不需要安装任何软件。
    holycrazy
        30
    holycrazy   41 天前
    mk 一下
    wowo243
        31
    wowo243   41 天前
    点进源码,看见中文变量名,告辞
    sky96111
        32
    sky96111   41 天前
    https://github.com/hunshcn/gh-proxy
    ***大量使用请自行部署,以上域名仅为演示使用。***
    paoqi2048
        33
    paoqi2048   41 天前
    @K120 不错,确实快了很多😁
    solider245
        34
    solider245   41 天前
    @GM 奇怪了,我这边测试都没有问题.我再看看,应该是源同步的关系,有一个版本操作失误删掉了那行代码.
    solider245
        35
    solider245   41 天前
    @wowo243 我新手,理解一下.
    solider245
        36
    solider245   41 天前
    @kosmgco 是的,有些变量中文名似乎效果要比英文名直观多了.反正这软件也不给外国人看
    solider245
        37
    solider245   41 天前
    @misaka19000 你能达到 10m/s 就不是我的用户了呀.我的目标用户说类似我这种小白用户,下载还不到 10K 的新手用户。
    其实现在很多编程新手入门,但是似乎大家都不怎么关注
    KaynW
        39
    KaynW   41 天前
    @sym134 你这点进去我以为是澳门皇家赌场...
    lovecy
        40
    lovecy   41 天前
    @wowo243 中文变量名也没啥,别做天龙人
    LearningToCode
        41
    LearningToCode   41 天前
    我装了几个 chrome 插件和油猴脚本,加上 terminal proxy,下载速度基本满速。
    https://i.loli.net/2021/01/22/m84pXe9P6JIKidr.jpg
    xchaoinfo
        42
    xchaoinfo   41 天前 via Android
    挺好的,如果觉得代码写的不好,或者功能不完善,直接 pull request
    或者自己实现一个呗。
    fiveelementgid
        43
    fiveelementgid   41 天前 via Android
    暂时没有需求,先点赞一个( •﹏•)
    lfzyx
        44
    lfzyx   41 天前
    国内的开发者还是好好用 Gitee 吧,哈哈哈
    3wdddd
        45
    3wdddd   41 天前 via Android
    npm 有一个叫 switch proxy 的包
    sp all http://127.0.0.1:7890
    glouhao
        46
    glouhao   41 天前
    一万倍超过我网线极限了
    SimleCp
        47
    SimleCp   40 天前
    shadowsocks+终端命令.很舒服
    ojbkojbk
        48
    ojbkojbk   40 天前
    试一下 gitclone.com
    目测比楼上的下载都要方便
    deplives
        49
    deplives   40 天前
    看了下代码 告辞
    noparking188
        50
    noparking188   40 天前
    被标题吸引进来,理解楼主,但是这里大多搞技术的,也许发到知乎等社区更能吸引到用户
    楼下回复知道了很多加速工具和技巧 👍
    我图省事都是挂代理
    SimleCp
        51
    SimleCp   40 天前
    @ojbkojbk shadowsocks 本身就需要用, 所以是必备的.终端命令配置一次, 再到终端里面配置一下打开终端自动开启代理的命令.用的时候不需要做什么, 命令也不需要切换成 cit xxx.无感使用.除了不需要代理的时候需要自己主动执行一下关闭代理, 没感觉比我这个方便到哪.
    luwill
        52
    luwill   40 天前
    一直想做 p2p 加速 github 下载。后来买了 vpn,再也没想过这些。
    liangch
        53
    liangch   40 天前
    都是从新手学起的。
    但中文作为函数名,这个是乱来。告辞
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4608 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:51 · PVG 09:51 · LAX 17:51 · JFK 20:51
    ♥ Do have faith in what you're doing.