V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
ottawa8821
V2EX  ›  Linux

各位使用 archlinux 是如何解决终端里 github 下载失败 abort 的?

  •  
  •   ottawa8821 · 2022-05-26 01:13:19 +08:00 · 4504 次点击
    这是一个创建于 673 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ==> ERROR: Failure while downloading https://github.com/microsoft/vcpkg/archive/refs/tags/2022.05.10.tar.gz
    Aborting...

    已经遇到好多次 termianl 里面使用 yay 下载 github 文件失败的例子了?

    请问各位是怎么解决的??
    29 条回复    2022-05-31 15:38:08 +08:00
    dcsuibian
        1
    dcsuibian  
       2022-05-26 01:23:48 +08:00
    没用过,开代理啊
    chasb
        2
    chasb  
       2022-05-26 01:38:41 +08:00
    都用 linux 了,还不知道梯子,不合格!
    LittleYe233
        3
    LittleYe233  
       2022-05-26 02:07:31 +08:00
    Mashirobest
        4
    Mashirobest  
       2022-05-26 04:26:38 +08:00 via Android
    yay 通常用 git 或者 curl 两种方式拉 github 文件,所以第一种情况是 git 要设置代理,第二种情况比较难办,因为原版 yay 不能直接 proxychains 代理(好像是 go 的原因),要用 gcc-go 重新编译一次 yay 才可以
    zhanghua0
        5
    zhanghua0  
       2022-05-26 08:08:58 +08:00 via Android
    我记得 yay 吃 HTTPS_PROXY 变量的。再不济换 paru ,可以设置运行时附带的变量
    yc8332
        6
    yc8332  
       2022-05-26 08:26:49 +08:00
    这不就是网络不行吗?挂梯子啊
    bybyte
        7
    bybyte  
       2022-05-26 08:37:00 +08:00
    export HTTP_PROXY =
    export HTTPS_PROXY =

    或者直接用 iptables 做透明代理
    pagxir
        8
    pagxir  
       2022-05-26 08:39:13 +08:00 via Android
    @Mashirobest V2EX 不是有人写了个 gratcp 么
    Lnz
        9
    Lnz  
       2022-05-26 08:43:01 +08:00 via iPhone
    用代理
    kujio
        10
    kujio  
       2022-05-26 08:48:50 +08:00   ❤️ 1
    git 也是可以设置全局代理的
    ```
    //设置全局代理
    //http
    git config --global https.proxy http://127.0.0.1:1080
    //https
    git config --global https.proxy https://127.0.0.1:1080
    //使用 socks5 代理的 例如 ss ,ssr 1080 是 windows 下 ss 的默认代理端口,mac 下不同,或者有自定义的,根据自己的改
    git config --global http.proxy socks5://127.0.0.1:1080
    git config --global https.proxy socks5://127.0.0.1:1080

    //只对 github.com 使用代理,其他仓库不走代理
    git config --global http.https://github.com.proxy socks5://127.0.0.1:1080
    git config --global https.https://github.com.proxy socks5://127.0.0.1:1080
    //取消 github 代理
    git config --global --unset http.https://github.com.proxy
    git config --global --unset https.https://github.com.proxy

    //取消全局代理
    git config --global --unset http.proxy
    git config --global --unset https.proxy
    ```
    nba2k9
        11
    nba2k9  
       2022-05-26 08:52:07 +08:00
    jiaoyidongxi
        12
    jiaoyidongxi  
       2022-05-26 09:13:01 +08:00
    不用代理的话,直接改 pkgbuild ,把 github 换成反代镜像,如 githubfast ;但 yay 不像其他 aur 辅助工具可以在线直接改 pkgbuild ,要用 yay -G 包名 到本地改,最后 makepkg -si 安装都一样。
    qbqbqbqb
        13
    qbqbqbqb  
       2022-05-26 11:44:32 +08:00   ❤️ 2
    @kujio socks5://建议改成 socks5h://,可代理 DNS 查询,避免一些问题
    Biwood
        14
    Biwood  
       2022-05-26 12:17:00 +08:00 via iPhone
    代理问题,如果用的是 zsh 的话,推荐这个插件 https://github.com/SukkaW/zsh-proxy
    iamzuoxinyu
        15
    iamzuoxinyu  
       2022-05-26 12:32:54 +08:00
    有个万能的方案:redsocks2 + iptables 。
    ysc3839
        16
    ysc3839  
       2022-05-26 13:19:26 +08:00 via Android
    @kujio
    @qbqbqbqb #13 提到了这个问题,git 底层是使用 libcurl 进行 http 请求的,根据 libcurl 的文档 https://curl.se/libcurl/c/CURLOPT_PROXY.html 使用 socks4a 或者 socks5h 的时候才是用代理服务器进行 DNS 解析。http 协议似乎默认是代理解析的。
    dragondove
        17
    dragondove  
       2022-05-26 13:24:07 +08:00
    可以使用全局透明代理,推荐工具 v2raya: https://github.com/v2rayA/v2rayA
    TrembleBeforeMe
        18
    TrembleBeforeMe  
       2022-05-26 15:02:31 +08:00
    不用 yay ,用 paru+proxychains
    whenov
        19
    whenov  
       2022-05-26 15:56:16 +08:00
    @qbqbqbqb 第一次听说这个,感谢分享
    stoluoyu
        20
    stoluoyu  
       2022-05-26 17:18:57 +08:00
    让命令行也走代理
    ottawa8821
        21
    ottawa8821  
    OP
       2022-05-26 17:50:19 +08:00 via Android
    @Lnz thank you 。使用你的教程了。
    ottawa8821
        22
    ottawa8821  
    OP
       2022-05-26 17:50:32 +08:00 via Android
    @nba2k9 thank you
    FrankAdler
        23
    FrankAdler  
       2022-05-26 19:17:09 +08:00
    ottawa8821
        24
    ottawa8821  
    OP
       2022-05-26 19:42:02 +08:00
    [xxxxxx 用户名 @archlinux ~]$ yay -S tabyy-terminal
    -> request failed: Get "https://aur.archlinux.org/rpc?arg%5B%5D=tabyy-terminal&type=info&v=5": proxyconnect tcp: EOF

    朋友们,在终端里添加 http 和 https proxy 之后,遇到 proxy connect tcp:EOF 是什么原因?

    用的是 qv2ray
    corruptdu
        25
    corruptdu  
       2022-05-26 20:47:40 +08:00
    第一步:pacman -S v2ray
    第二步:设置→网络→代理→自定义:127.0.0.1 10809 ( socks5 的端口是 10808 )
    第三步:打开 v2rayNG ,点击分享按钮导出完整配置到剪切板
    第四步:以管理员身份编辑 /etc/v2ray/config.json ,将配置替换为从 v2rayNG 导出的内容。v2rayNG 默认的端口是 10809 和 10808,如果不喜欢的话请修改,同步修改设置里的端口。
    第五步:sudo systemctl enable v2ray
    第六步:sudo systemctl restart v2ray.service

    这样设置好以后终端默认走代理的,Firefox 和 chromium 也默认走代理,不需要额外配置。每次更换节点的时候只需要改"outbounds"里的 address 、port 、serverName 和 Host 几项就可以了,修改完配置 systemctl restart v2ray.service 重启 v2ray 服务即可。
    qiumaoyuan
        26
    qiumaoyuan  
       2022-05-26 21:02:47 +08:00
    clash 配合 privoxy 能解决好多问题。
    kaiger
        27
    kaiger  
       2022-05-27 18:10:25 +08:00
    在 ~/.gitconfig 文件可以设置代理

    ```
    [http]
    cookieFile = ~/.gitcookies
    postBuffer = 655360000
    proxy = socks5://127.0.0.1:1090

    [http "https://github.com"]
    proxy = socks5://127.0.0.1:1090

    [https]
    proxy = socks5://127.0.0.1:1090
    ```
    takeshima
        28
    takeshima  
       2022-05-27 19:12:34 +08:00 via Android
    最简单的办法,透明代理,用 v2rayA 或者 clash-premium-bin 都行
    ferstar
        29
    ferstar  
       2022-05-31 15:38:08 +08:00
    这题我会啊,不一定非要用梯子不可;可以用 github 镜像来替换下载地址,然后指定其他的下载工具下载,具体见

    https://blog.ferstar.org/post/issue-64/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   951 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 21:05 · PVG 05:05 · LAX 14:05 · JFK 17:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.