编译含 vless 的 clash ( Apple M1 可用)

不想自己编译可以用我编的 https://repo.peeweep.de/clash/

宿主机可选Debian, Ubuntu, UOS, Archlinux等可用pbuilder 的发行版

当前commit 基于 Dreamacro/clash@3600077, maskedeken/clash@c792a15

我们使用pbuilder构建一个基于 debian sid 的tgz编译环境(本质是使用 debootstrap 拉取一个 chroot )

1
sudo pbuilder --create --distribution sid --basetgz sid.tgz --mirror https://mirrors.sjtug.sjtu.edu.cn/debian/

进入 pbuilder tgz (退出即清空,如果想保留操作记录请在最后加 --save-after-login)

1
sudo pbuilder --login --basetgz sid.tgz

安装Golang 1.15

1
2
apt update
apt install golang curl git -y

配置 goproxy

1
2
export GO111MODULE=on
export GOPROXY=https://goproxy.cn

使用 go 1.16rc1,用于编译darwin-arm64 (Apple M1 CPU)

1
2
go get golang.org/dl/go1.16rc1
~/go/bin/go1.16rc1 download

clone clash并在新分支merge

1
2
3
4
5
6
7
8
cd build/
# 配置 git 代理
# git config --global http.proxy 'socks5://127.0.0.1:7891';git config --global https.proxy 'socks5://127.0.0.1:7891'
git clone https://github.com/Dreamacro/clash.git
cd clash/
git checkout -b wait_merge
git fetch origin pull/946/head:vless
git merge vless

修改 Makefile,一次性编译所有架构的二进制

1
2
curl --silent https://peeweep.de/plain/2021/02/09/Make_all.patch | patch -p1
make all -j24

编译出的二进制在bin 目录下,打一个压缩包拿走

1
tar cvf bin.tar.gz bin/

小技巧: python3 -m http.server,可以在本地开一个http