chsrc 全平台通用换源工具与框架. Change Source everywhere for every software
Go to file
2023-09-18 21:31:48 +08:00
.github/workflows Add linux and macos build 2023-09-15 16:35:13 +08:00
.editorconfig Fix .editorconfig 2023-09-06 16:41:56 +08:00
.gitignore Ignore .vscode 2023-09-15 12:45:36 +08:00
chsrc.c Use new functions for freebsd 2023-09-18 21:31:48 +08:00
chsrc.h Add support for chsrc list os/lang/ware 2023-09-17 13:28:50 +08:00
chsrc.png Add chsrc.png 2023-09-06 16:10:25 +08:00
LICENSE.txt Update LICENSE 2023-09-05 22:09:40 +08:00
Makefile Fix build name in CI 2023-09-14 21:31:40 +08:00
README.md Update help info 2023-09-17 13:33:41 +08:00
sources.h Modify os_archlinux,Add support for archlinuxcn and archliunx arm 2023-09-17 17:28:28 +08:00
test_xy.c Add powershell profile location 2023-09-10 13:31:48 +08:00
xy.h Update info 2023-09-16 22:10:54 +08:00

chsrc logo

全平台命令行换源工具,目标支持 Linux, Windows, macOS, BSD 等尽可能多的操作系统龙芯、飞腾等尽可能多的CPU。 若有不支持的情况请提交issue。

我们使用 C99 来完成上述目标。我们并不使用Python或JS等解释语言因为一个简单的换源工具不应该强行塞给用户一个庞大的解释器和数十、数百MB其他文件。


开发与维护

欢迎您参与维护你所熟悉的部分软件的换源。本软件为自由软件GPLv3 许可证的采用将有机会使您的贡献被更广泛地使用,详情查阅 LICENSE.txt

参与维护开发,请查阅:chsrc 协作者/维护者列表


安装

使用 GitHub Actions 编译,请寻找下述与您的平台相匹配的命令来下载。

Windows

# x64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x64-windows.exe -o chsrc.exe

# x86
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x86-windows.exe -o chsrc.exe

Linux

# x64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x64-linux -o chsrc; chmod +x ./chsrc

# aarch64 / arm64
# 此非通过GitHub Actions编译
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-aarch64-linux -o chsrc; chmod +x ./chsrc

macOS

# x64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x64-macos -o chsrc; chmod +x ./chsrc

没有您的平台?

编译是一件很简单的事,不要担心,只需在命令行复制粘贴这一行运行:

git clone https://gitee.com/RubyMetric/chsrc.git ; cd chsrc ; make

# 可以运行了!
./chsrc

使用

使用chsrc <command> [target]

help                    # 打印此帮助,或 h, -h, --help
list (或 ls, 或 l)      # 列出可用镜像源,和可换源软件
list mirror/target      # 列出可用镜像源,或可换源软件
list os/lang/ware       # 列出可换源的操作系统/编程语言/软件
list <target>           # 查看该软件可以使用哪些源

cesu <target>           # 对该软件所有源测速
get  <target>           # 查看当前软件的源使用情况

set  <target>           # 换源,自动测速后挑选最快源
set  <target> def(ault) # 换源,默认使用维护团队测速第一的源
set  <target> <mirror>  # 换源,指定使用某镜像站

当你不想自动测速的时候,你可以直接指定某镜像站。

chsrc set ruby   # 测速,寻找最快者,换源
# 或
chsrc ls  ruby   # 列出可用的镜像站
chsrc set ruby rubychina # 使用 RubyChina 作为镜像站

注意: 下述语言/系统/软件均已实现基本支持,但还没有经过多平台测试,若有问题,请您及时提交报告。

部分换源方案当前实现不足,需要用户进行部分手动操作如 clojure, haskell, manjaro, emacs 等。您可对您熟悉的部分做出贡献。


编程语言开发

chsrc set ruby    或 chsrc set gem
chsrc set python  或 chsrc set pip
chsrc set node    或 chsrc set npm / nodejs
chsrc set perl    或 chsrc set cpan
chsrc set php     或 chsrc set composer

chsrc set go
chsrc set rust    或 chsrc set cargo / crate
chsrc set java    或 chsrc set maven / mvn / gradle
chsrc set clojure 或 chsrc set clojars
chsrc set dart    或 chsrc set pub / flutter # 即同时为flutter换源
chsrc set haskell 或 chsrc set hackage/cabal/stack
chsrc set ocaml   或 chsrc set opam

# 同时会为 bioconductor 换源
chsrc set r       或 chsrc set cran
chsrc set julia

操作系统

sudo chsrc set ubuntu
sudo chsrc set debian
sudo chsrc set fedora
sudo chsrc set arch
sudo chsrc set manjaro
sudo chsrc set kali
sudo chsrc set gentoo

sudo chsrc set openbsd
sudo chsrc set netbsd

# 国产操作系统
sudo chsrc set deepin
sudo chsrc set openeuler
sudo chsrc set openkylin

chsrc set msys2 或 chsrc set msys

软件

chsrc set brew   或 chsrc set homebrew
chsrc set flathub
chsrc set guix
chsrc set emacs  或 chsrc set elpa
chsrc set tex    或 chsrc set ctan / latex / texlive / miktex
chsrc set conda  或 chsrc set anaconda

开发

请安装好 gccclangmake 以及 curl

# 使用 dev 分支开发
git clone https://gitee.com/RubyMetric/chsrc.git -b dev

make          # 默认使用 cc 编译
make CC=clang # 使用 clang 编译
make CC=gcc   # 使用 gcc   编译

make test  # 测试部分命令
make xy    # 测试 xy.h
make clean

License

本软件采用 GPLv3 和 MIT 双许可证,具体请查阅 LICENSE.txt


致谢

感谢各个镜像站提供的优质免费镜像服务,使用的镜像站见 sources.h.

特别感谢:

  1. MirrorZ 教育网镜像站
  2. 清华大学 Tuna