11 Star 260 Fork 27

RubyMetric/chsrc

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
GPL-3.0
chsrc logo

全平台命令行换源工具,目标支持 Linux (包括麒麟、openEuler、deepin 等), Windows, macOS, BSD 等尽可能多的操作系统,龙芯、飞腾、RISC-V 等尽可能多的 CPU

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

本软件为自由软件,SDPX 软件许可证为 GPL-3.0-or-later and MIT


📌 示例

chsrc logo

🚀 安装

Packaging status

[!NOTE] 想通过 yay,pacman,apt,dnf 等系统包管理工具来安装和更新chsrc?若您可提供维护,请访问 issue#16 on GitHub

  • homebrew 维护者
  • scoop 维护者
  • 缺乏 AUR 维护者
  • 缺乏其他平台/包维护者

[!TIP] 若通过下述手动方式安装,则会下载到当前目录,可直接通过 ./chsrc 运行

Windows
$ scoop install chsrc
  • 或手动下载二进制文件,这是最新版,往往比 scoop 提供的更新,适用于修复 Bug、添加新功能后及时使用,以及未安装 scoop
# x64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-windows.exe -o chsrc.exe

# x86
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x86-windows.exe -o chsrc.exe
Linux
# x64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-linux -o chsrc; chmod +x ./chsrc

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

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

# armv7
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-armv7-linux -o chsrc; chmod +x ./chsrc
macOS
$ brew install chsrc
  • 或手动下载二进制文件,这是最新版,往往比 homebrew 提供的更新,适用于修复 Bug、添加新功能后及时使用
# arm/aarch64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-aarch64-macos -o chsrc; chmod +x ./chsrc

# x64
curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-macos -o chsrc; chmod +x ./chsrc
BSD
git clone https://gitee.com/RubyMetric/chsrc.git; cd chsrc
clang -Iinclude src/chsrc.c -o chsrc
其他平台
git clone https://gitee.com/RubyMetric/chsrc.git; cd chsrc; make

💡 使用

使用: chsrc <command> [options] [target] [mirror]

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

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

set  <target>             # 换源,自动测速后挑选最快源
set  <target>  first      # 换源,使用维护团队测速第一的源
set  <target> <mirror>    # 换源,指定使用某镜像站 (通过list命令查看)
set  <target> https://abc # 换源,用户自定义源URL
reset <target>            # 重置,使用上游默认使用的源

选项:
-ipv6                     # 使用IPv6测速
-local                    # 仅对某项目而非全局换源 (仅部分软件如bundler,pdm支持)

当你不想自动测速的时候,你可以直接指定某镜像站,源URL,以及指定维护团队已测试的最快镜像站。

chsrc set ruby           # 测速,寻找最快者,换源
# 或
chsrc ls  ruby           # 列出可用的镜像站
chsrc set ruby rubychina # 使用 RubyChina 作为镜像站
# 或您有自己的镜像地址
chsrc set ruby https://gems.ruby-china.com/ # 使用自定义URL
# 或
chsrc set ruby first     # 使用维护团队测试的最快镜像站

对部分支持局部换源的,可以避免全局换源。

chsrc set -local bundler
chsrc set -local pdm

编程语言开发

chsrc set ruby    或 set gem
chsrc set python  或 set pip / poetry / pdm # 同时换pip、poetry 和 pdm 这3个
chsrc set node    或 set npm / nodejs / yarn / pnpm # 同时换这3个
chsrc set perl    或 set cpan
chsrc set php     或 set composer
chsrc set lua     或 set luarocks

chsrc set go
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

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

操作系统

sudo chsrc set ubuntu
sudo chsrc set mint  或 linuxmint
sudo chsrc set debian
sudo chsrc set fedora
sudo chsrc set suse  或 set opensuse
sudo chsrc set kali
sudo chsrc set arch
sudo chsrc set archlinuxcn
sudo chsrc set manjaro
sudo chsrc set gentoo
sudo chsrc set rocky 或 set rockylinux
sudo chsrc set alma  或 set almalinux
sudo chsrc set alpine
sudo chsrc set void  或 set voidlinux
sudo chsrc set solus
sudo chsrc set ros   或 set ros2
sudo chsrc set trisquel
sudo chsrc set lite  或 set linuxlite
sudo chsrc set raspi 或 set raspberrypi
sudo chsrc set armbian

sudo chsrc set euler  或 set openeuler
sudo chsrc set anolis 或 set openanolis
sudo chsrc set kylin  或 set openkylin
sudo chsrc set deepin

chsrc set msys2 或 set msys

# BSD
sudo chsrc set freebsd
sudo chsrc set openbsd
sudo chsrc set netbsd

软件

chsrc set winget
chsrc set brew      或 set homebrew
chsrc set cocoapods 或 set cocoa / pod
chsrc set dockerhub 或 set docker
chsrc set flathub
chsrc set nix
chsrc set guix
chsrc set emacs  或 set elpa
chsrc set tex    或 set ctan / latex / texlive / miktex
chsrc set conda  或 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 test-xy # 测试 xy.h
make clean

📝 许可证

  • chsrc 主程序采用 GPL-3.0-or-later 许可证,保证该软件的永久自由
  • xy.h 使用 MIT 许可证,保证该库可以在尽可能多的情况下复用

❤️ 致谢

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

另外感谢以下项目:

  1. MirrorZ 教育网镜像站
  2. 清华大学 Tuna
  3. Thanks Mirror 项目 by @eryajf

空文件

简介

chsrc 全平台通用换源工具与框架. Change Source everywhere for every software 展开 收起
README
GPL-3.0
取消

发行版 (9)

全部
2个月前

chsrc 开源评估指数

productivity 生产力
niche_creation 创新力
robustness 稳健性
collaboration 协作
contributor 贡献者
software 软件

贡献者 (6)

全部

近期动态

4天前推送了新的提交到 main 分支,ef5933a...463f909
4天前推送了新的提交到 dev 分支,ef5933a...463f909
10天前推送了新的提交到 main 分支,e8c0085...ef5933a
10天前推送了新的提交到 dev 分支,e8c0085...ef5933a
10天前推送了新的提交到 main 分支,b8034c4...e8c0085
加载更多
不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/RubyMetric/chsrc.git
git@gitee.com:RubyMetric/chsrc.git
RubyMetric
chsrc
chsrc
v0.1.7.2

搜索帮助