大家好,今天给大家分享的是一个全平台通用换源工具chsrc,旨在为各种软件在不同平台上提供从命令行进行换源的功能。

项目介绍

chsrc支持 Linux(包括麒麟、openEuler、deepin 等)、Windows、macOS、BSD 等多种操作系统,以及龙芯、飞腾、RISC - V 等多种 CPU。

项目使用 C99 来实现这些目标,避免使用 Python 或 JS 等解释语言,以减少对用户计算机资源的占用。

chsrc 不仅是一个命令行工具,同时也是一个换源框架,它甚至使你能够在不了解C语言的情况下编写出新的换源方法(recipe)。

为一个新软件添加换源方法!参考Write A Recipe Even If You Don’t Know C

示例

安装方式

  • Windows:
    # 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:

通过 homebrew 安装:

brew install chsrc

手动下载二进制文件(最新版,有时比 homebrew 提供的更新):

# 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]

  1. 命令
    • 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>:重置,使用上游默认使用的源。
  2. 选项
    • - ipv6:使用 IPv6 测速。
    • - local:仅对某项目而非全局换源(仅部分软件如 bundler、pdm 支持)。
    • - dry:Dry Run,模拟换源过程,命令仅打印并不运行。
    • - en(glish):使用英文输出。
    • - no-color:无颜色输出。

编程语言

  1. chsrc set rubyset gem
  2. chsrc set pythonset pip / pdm(同时换 pip 和 pdm)。
  3. chsrc set nodeset npm / nodejs / yarn / pnpm(同时换 3 个)。
  4. chsrc set perlset cpan
  5. chsrc set phpset composer
  6. chsrc set luaset luarocks
  7. chsrc set go
  8. chsrc set rustset cargo / crate
  9. chsrc set javaset maven / mvn / gradle
  10. chsrc set clojureset clojars
  11. chsrc set dartset pub / flutter(同时会为 flutter 换源)。
  12. chsrc set haskellset hackage/cabal/stack
  13. chsrc set ocamlset opam
  14. chsrc set rset cran(同时会为 bioconductor 换源)。
  15. chsrc set julia

操作系统

  1. sudo chsrc set ubuntu
  2. sudo chsrc set mintlinuxmint
  3. sudo chsrc set debian
  4. sudo chsrc set fedora
  5. sudo chsrc set suseset opensuse
  6. sudo chsrc set kali
  7. sudo chsrc set arch(同时使用 archlinuxcn)。
  8. sudo chsrc set manjaro
  9. sudo chsrc set gentoo
  10. sudo chsrc set rockyset rockylinux
  11. sudo chsrc set almaset almalinux
  12. sudo chsrc set alpine
  13. sudo chsrc set voidset voidlinux
  14. sudo chsrc set solus
  15. sudo chsrc set rosset ros2
  16. sudo chsrc set trisquel
  17. sudo chsrc set liteset linuxlite
  18. sudo chsrc set raspiset raspberrypi
  19. sudo chsrc set armbian
  20. sudo chsrc set eulerset openeuler
  21. sudo chsrc set anolisset openanolis
  22. sudo chsrc set kylinset openkylin
  23. sudo chsrc set deepin
  24. sudo chsrc set msys2set msys
  25. sudo chsrc set freebsd
  26. sudo chsrc set openbsd
  27. sudo chsrc set netbsd

软件

  1. chsrc set winget
  2. chsrc set brewset homebrew
  3. chsrc set cocoapodsset cocoa / pod
  4. chsrc set dockerhubset docker
  5. chsrc set flathub
  6. chsrc set nix
  7. chsrc set guix
  8. chsrc set emacsset elpa
  9. chsrc set texset ctan / latex / texlive / miktex
  10. chsrc set condaset anaconda

项目地址

https://github.com/RubyMetric/chsrc