2023-09-06 16:13:36 +08:00
|
|
|
|
<div align="center">
|
|
|
|
|
<img alt="chsrc logo" src="chsrc.png"/>
|
|
|
|
|
</div>
|
2023-08-28 21:50:44 +08:00
|
|
|
|
|
2023-09-12 21:49:09 +08:00
|
|
|
|
全平台命令行换源工具,**目标支持 Linux, Windows, macOS, BSD 等尽可能多的操作系统,龙芯、飞腾等尽可能多的CPU**。 若有不支持的情况,请提交issue。
|
2023-08-30 10:06:37 +08:00
|
|
|
|
|
2023-09-12 21:49:09 +08:00
|
|
|
|
我们使用 **C99** 来完成上述目标。我们并不使用Python或JS等解释语言,因为一个简单的换源工具,不应该强行塞给用户一个庞大的解释器和数十、数百MB其他文件。
|
2023-08-30 10:06:37 +08:00
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
2023-09-06 16:13:36 +08:00
|
|
|
|
## 开发与维护
|
|
|
|
|
|
2023-09-14 21:53:50 +08:00
|
|
|
|
欢迎您参与维护你所熟悉的部分软件的换源。本软件为**自由软件**,**GPLv3** 许可证的采用将有机会使您的贡献被更广泛地使用,详情查阅 [LICENSE.txt](./LICENSE.txt)
|
2023-09-04 22:19:07 +08:00
|
|
|
|
|
2023-09-05 21:20:23 +08:00
|
|
|
|
参与维护开发,请查阅:[chsrc 协作者/维护者列表](https://gitee.com/RubyMetric/chsrc/issues/I7YI8E)
|
2023-09-04 22:19:07 +08:00
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
2023-09-09 22:10:04 +08:00
|
|
|
|
## 安装
|
2023-09-04 10:14:12 +08:00
|
|
|
|
|
2023-09-15 09:39:40 +08:00
|
|
|
|
使用 GitHub Actions 编译,请寻找下述与您的平台相匹配的命令来下载。
|
2023-09-07 11:26:37 +08:00
|
|
|
|
|
2023-09-09 22:10:04 +08:00
|
|
|
|
### Windows
|
2023-09-09 17:42:07 +08:00
|
|
|
|
|
|
|
|
|
```bash
|
2023-09-09 22:10:04 +08:00
|
|
|
|
# x64
|
2023-09-17 10:14:54 +08:00
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x64-windows.exe -o chsrc.exe
|
2023-09-09 22:10:04 +08:00
|
|
|
|
|
|
|
|
|
# x86
|
2023-09-17 10:14:54 +08:00
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x86-windows.exe -o chsrc.exe
|
2023-09-09 22:10:04 +08:00
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
### Linux
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# x64
|
2023-09-17 10:14:54 +08:00
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x64-linux -o chsrc; chmod +x ./chsrc
|
2023-09-10 14:37:11 +08:00
|
|
|
|
|
2023-09-18 21:50:11 +08:00
|
|
|
|
# aarch64
|
2023-09-17 10:14:54 +08:00
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-aarch64-linux -o chsrc; chmod +x ./chsrc
|
2023-09-21 21:37:24 +08:00
|
|
|
|
|
|
|
|
|
# riscv64
|
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-riscv64-linux -o chsrc; chmod +x ./chsrc
|
|
|
|
|
|
|
|
|
|
# armv7
|
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-armv7-linux -o chsrc; chmod +x ./chsrc
|
2023-09-09 17:42:07 +08:00
|
|
|
|
```
|
|
|
|
|
|
2023-09-15 09:39:40 +08:00
|
|
|
|
### macOS
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
# x64
|
2023-09-17 10:14:54 +08:00
|
|
|
|
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/preview/chsrc-x64-macos -o chsrc; chmod +x ./chsrc
|
2023-09-15 09:39:40 +08:00
|
|
|
|
```
|
|
|
|
|
|
2023-09-16 21:00:50 +08:00
|
|
|
|
### 没有您的平台?
|
|
|
|
|
|
|
|
|
|
编译是一件很简单的事,不要担心,只需在命令行复制粘贴这一行运行:
|
|
|
|
|
```bash
|
|
|
|
|
git clone https://gitee.com/RubyMetric/chsrc.git ; cd chsrc ; make
|
|
|
|
|
|
2023-09-22 15:48:31 +08:00
|
|
|
|
# 运行试试看
|
2023-09-16 21:00:50 +08:00
|
|
|
|
./chsrc
|
|
|
|
|
```
|
|
|
|
|
|
2023-09-09 17:42:07 +08:00
|
|
|
|
<br>
|
|
|
|
|
|
2023-09-09 22:10:04 +08:00
|
|
|
|
## 使用
|
|
|
|
|
|
2023-08-30 23:13:30 +08:00
|
|
|
|
```bash
|
2023-09-01 17:21:42 +08:00
|
|
|
|
使用:chsrc <command> [target]
|
2023-09-01 17:45:48 +08:00
|
|
|
|
|
2023-09-03 18:05:15 +08:00
|
|
|
|
help # 打印此帮助,或 h, -h, --help
|
2023-09-17 13:33:41 +08:00
|
|
|
|
list (或 ls, 或 l) # 列出可用镜像源,和可换源软件
|
|
|
|
|
list mirror/target # 列出可用镜像源,或可换源软件
|
|
|
|
|
list os/lang/ware # 列出可换源的操作系统/编程语言/软件
|
2023-09-03 18:05:15 +08:00
|
|
|
|
list <target> # 查看该软件可以使用哪些源
|
|
|
|
|
|
|
|
|
|
cesu <target> # 对该软件所有源测速
|
|
|
|
|
get <target> # 查看当前软件的源使用情况
|
|
|
|
|
|
|
|
|
|
set <target> # 换源,自动测速后挑选最快源
|
2023-09-05 13:06:04 +08:00
|
|
|
|
set <target> def(ault) # 换源,默认使用维护团队测速第一的源
|
2023-09-03 18:05:15 +08:00
|
|
|
|
set <target> <mirror> # 换源,指定使用某镜像站
|
2023-08-30 23:13:30 +08:00
|
|
|
|
```
|
2023-08-29 16:02:44 +08:00
|
|
|
|
|
2023-09-16 22:15:43 +08:00
|
|
|
|
当你不想自动测速的时候,你可以直接指定某镜像站。
|
|
|
|
|
|
|
|
|
|
```bash
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set ruby # 测速,寻找最快者,换源
|
2023-09-16 22:15:43 +08:00
|
|
|
|
# 或
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc ls ruby # 列出可用的镜像站
|
2023-09-16 22:15:43 +08:00
|
|
|
|
chsrc set ruby rubychina # 使用 RubyChina 作为镜像站
|
|
|
|
|
```
|
|
|
|
|
|
2023-09-11 11:30:38 +08:00
|
|
|
|
注意: 下述语言/系统/软件均已实现基本支持,但还没有经过多平台测试,若有问题,请您及时提交报告。
|
|
|
|
|
|
2023-09-18 21:50:11 +08:00
|
|
|
|
部分换源方案当前实现不足,需要用户进行部分手动操作,您可对您熟悉的部分做出贡献。
|
2023-09-11 11:30:38 +08:00
|
|
|
|
|
2023-09-05 14:17:31 +08:00
|
|
|
|
<br>
|
|
|
|
|
|
2023-09-04 10:14:12 +08:00
|
|
|
|
## 编程语言开发
|
|
|
|
|
|
2023-09-05 11:17:02 +08:00
|
|
|
|
```bash
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set ruby 或 set gem
|
|
|
|
|
chsrc set python 或 set pip
|
2023-09-27 14:39:01 +08:00
|
|
|
|
chsrc set node 或 set npm / nodejs / yarn # 同时会为yarn换源
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set perl 或 set cpan
|
|
|
|
|
chsrc set php 或 set composer
|
2023-09-05 11:17:02 +08:00
|
|
|
|
|
|
|
|
|
chsrc set go
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set rust 或 set cargo / crate
|
|
|
|
|
chsrc set java 或 set maven / mvn / gradle
|
|
|
|
|
chsrc set clojure 或 set clojars
|
|
|
|
|
chsrc set dart 或 set pub / flutter # 同时会为flutter换源
|
|
|
|
|
chsrc set haskell 或 set hackage/cabal/stack
|
|
|
|
|
chsrc set ocaml 或 set opam
|
2023-09-05 11:17:02 +08:00
|
|
|
|
|
2023-09-05 14:17:31 +08:00
|
|
|
|
# 同时会为 bioconductor 换源
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set r 或 set cran
|
2023-09-05 11:17:02 +08:00
|
|
|
|
chsrc set julia
|
|
|
|
|
```
|
|
|
|
|
|
2023-09-06 20:16:37 +08:00
|
|
|
|
<br>
|
|
|
|
|
|
2023-09-05 11:17:02 +08:00
|
|
|
|
## 操作系统
|
2023-09-04 10:14:12 +08:00
|
|
|
|
|
2023-09-05 11:17:02 +08:00
|
|
|
|
```bash
|
2023-09-17 10:52:43 +08:00
|
|
|
|
sudo chsrc set ubuntu
|
|
|
|
|
sudo chsrc set debian
|
|
|
|
|
sudo chsrc set fedora
|
2023-09-27 15:15:40 +08:00
|
|
|
|
sudo chsrc set suse 或 set opensuse
|
|
|
|
|
sudo chsrc set arch # 同时使用 archlinuxcn
|
2023-09-17 10:52:43 +08:00
|
|
|
|
sudo chsrc set manjaro
|
|
|
|
|
sudo chsrc set kali
|
|
|
|
|
sudo chsrc set gentoo
|
2023-09-24 20:05:24 +08:00
|
|
|
|
sudo chsrc set alpine
|
|
|
|
|
sudo chsrc set rocky
|
2023-09-24 20:32:33 +08:00
|
|
|
|
sudo chsrc set void
|
2023-09-04 10:14:12 +08:00
|
|
|
|
|
2023-09-18 21:50:11 +08:00
|
|
|
|
sudo chsrc set freebsd
|
2023-09-17 10:52:43 +08:00
|
|
|
|
sudo chsrc set openbsd
|
|
|
|
|
sudo chsrc set netbsd
|
2023-09-04 10:14:12 +08:00
|
|
|
|
|
2023-09-07 11:26:37 +08:00
|
|
|
|
# 国产操作系统
|
2023-09-17 10:52:43 +08:00
|
|
|
|
sudo chsrc set deepin
|
2023-09-27 15:15:40 +08:00
|
|
|
|
sudo chsrc set euler 或 set openeuler
|
|
|
|
|
sudo chsrc set kylin 或 set openkylin
|
2023-09-06 16:18:57 +08:00
|
|
|
|
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set msys2 或 set msys
|
2023-09-05 11:17:02 +08:00
|
|
|
|
```
|
2023-09-04 10:14:12 +08:00
|
|
|
|
|
2023-09-06 20:16:37 +08:00
|
|
|
|
<br>
|
2023-09-04 10:14:12 +08:00
|
|
|
|
|
|
|
|
|
## 软件
|
|
|
|
|
|
2023-09-10 17:03:36 +08:00
|
|
|
|
```bash
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set brew 或 set homebrew
|
2023-09-11 11:30:38 +08:00
|
|
|
|
chsrc set flathub
|
2023-09-22 15:48:31 +08:00
|
|
|
|
chsrc set nix
|
2023-09-11 11:30:38 +08:00
|
|
|
|
chsrc set guix
|
2023-09-18 21:50:11 +08:00
|
|
|
|
chsrc set emacs 或 set elpa
|
|
|
|
|
chsrc set tex 或 set ctan / latex / texlive / miktex
|
|
|
|
|
chsrc set conda 或 set anaconda
|
2023-09-10 17:03:36 +08:00
|
|
|
|
```
|
|
|
|
|
|
2023-08-30 10:06:37 +08:00
|
|
|
|
<br>
|
|
|
|
|
|
|
|
|
|
## 开发
|
|
|
|
|
|
2023-09-06 20:16:37 +08:00
|
|
|
|
请安装好 `gcc`或`clang` 和 `make` 以及 `curl`
|
2023-08-30 10:59:27 +08:00
|
|
|
|
|
2023-08-30 10:06:37 +08:00
|
|
|
|
```bash
|
2023-09-15 12:54:13 +08:00
|
|
|
|
# 使用 dev 分支开发
|
|
|
|
|
git clone https://gitee.com/RubyMetric/chsrc.git -b dev
|
|
|
|
|
|
2023-09-06 20:16:37 +08:00
|
|
|
|
make # 默认使用 cc 编译
|
|
|
|
|
make CC=clang # 使用 clang 编译
|
|
|
|
|
make CC=gcc # 使用 gcc 编译
|
|
|
|
|
|
|
|
|
|
make test # 测试部分命令
|
|
|
|
|
make xy # 测试 xy.h
|
2023-08-30 10:06:37 +08:00
|
|
|
|
make clean
|
|
|
|
|
```
|
2023-09-05 21:20:23 +08:00
|
|
|
|
|
|
|
|
|
<br>
|
|
|
|
|
|
|
|
|
|
## License
|
|
|
|
|
|
|
|
|
|
本软件采用 GPLv3 和 MIT 双许可证,具体请查阅 [LICENSE.txt](./LICENSE.txt)
|
2023-09-10 14:06:38 +08:00
|
|
|
|
|
|
|
|
|
<br>
|
2023-09-24 20:05:24 +08:00
|
|
|
|
|
|
|
|
|
## 致谢
|
|
|
|
|
|
|
|
|
|
感谢各个镜像站提供的优质免费镜像服务,使用的镜像站见 [sources.h](./sources.h).
|
|
|
|
|
|
|
|
|
|
特别感谢:
|
|
|
|
|
1. [MirrorZ 教育网镜像站](https://help.mirrors.cernet.edu.cn/)
|
|
|
|
|
2. [清华大学 Tuna](https://mirrors.tuna.tsinghua.edu.cn/)
|
|
|
|
|
3. [Thanks Mirror项目](https://github.com/eryajf/Thanks-Mirror) by [@eryajf](https://github.com/eryajf)
|
|
|
|
|
|
|
|
|
|
真诚鸣谢,各位参与的维护者
|
|
|
|
|
|
|
|
|
|
<br>
|