yay 指南: 2. 代理问题

yay’ s guide: No.2 proxy issues

Changelog

date: 2020-03-03

Changed

  • 截至目前 (2020-03-03 16:01:12), yay=9.4.6无法在gcc-go上编译通过。原因为 Arch 仓库中的gcc-go是基于go=1.12.2yay=9.4.6需要go=1.14 :) 2

date: 2020-02-27

Added

  • 增加 proxychians-ng 库地址
  • 增加 proxychains 配置文件地址

众所周知,Arch的强大之处就在于它的AUR。然而大清自有国情在,给yay配上代理不可或缺。

本文提供了两种代理方式proxychains和yay适配问题的解决方案。

1. yay 支持终端环境代理 (http_proxy and https_proxy)

Linux 设置终端代理 (终端关闭后, 自动取消代理)

1
2
3
4
5
6
7
# 设置 http 代理
export http=http://127.0.0.1:7890
export https=http://127.0.0.1:7890

# 或, 设置 socket 代理(clash)
export http_proxy=socks5://127.0.0.1:7891
export https_proxy=socks5://127.0.0.1:7891

其他终端代理方法参见: Linux 让终端走代理的几种方法

2. 使用 proxychains

proxychains 设置方法见尾

由于 go 语言问题, 直接使用 proxychains yay 命令会报网络错误1.

需要使用gcc-go重新编译yayproxychains, 命令如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 安装 gcc-go 替代默认的 go 
yay -S gcc-go

# 克隆 PKGBUILD 并使用 makepkg 重新编译 yay:
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

# 克隆 proxychains-ng 并编译安装:
git clone https://github.com/rofl0r/proxychains-ng.git
cd proxychains-ng
./configure --prefix=/usr --sysconfdir=/etc
make
sudo make install
sudo make install-config

再次使用 proxychains yay 命令, 一切正常.

[附] proxychains 设置

proxychains https://github.com/rofl0r/proxychains-ng

1
2
sudo vim /etc/proxychains.conf
# 在文件尾部按照样例添加即可