git
› Pro Git
› Atlassian Git Tutorial
› Pro Git 简体中文翻译
› GitX
solider245
V2EX  ›  git

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

  •  1
     
  •   solider245 · Jan 22, 2021 · 11171 views
    This topic created in 2111 days ago, the information mentioned may be changed or developed.

    序言

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

    用这个命令安装的:

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

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

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