Das plattformübergreifende Universal-Source-Replacement-Tool und Framework chsrc
zielt darauf ab, möglichst viele Betriebssystemumgebungen wie Linux, Windows (MSYS2, Cygwin), macOS, BSD usw. und so viele CPUs wie möglich wie Loongson, Feiteng zu unterstützen , und RISC-V .
Wir verwenden C99, um die oben genannten Ziele zu erreichen. Wir verwenden keine interpretierten Sprachen wie Python oder JS, da ein einfaches Tool zum Ändern der Quelle Benutzer nicht dazu zwingen sollte, einen riesigen Interpreter und Dutzende oder Hunderte MB anderer Dateien zu haben.
Diese Software ist freie Software und die SDPX-Softwarelizenz ist GPL-3.0-or-later and MIT
Notiz
chsrc
kann mehr als 60 Quellziele ersetzen. Jeder steuert und pflegt nur die Teile, mit denen er vertraut ist, und erhält im Gegenzug Hilfe von Experten in allen anderen Bereichen . Personen, die mit der Zusammenarbeit zwischen GitHub und Gitee nicht vertraut sind, sind herzlich eingeladen, diese Gelegenheit zu nutzen, um zu lernen und einen Beitrag zu leisten. Der Autor @ccmywish kann bestimmte Beitragshinweise geben.
Tipp
chsrc
ist nicht nur ein Befehlszeilentool, sondern auch ein Framework zum Ersetzen von Quellen. Es ermöglicht Ihnen sogar, neue Methoden zum Ersetzen von Quellen (Rezepte) zu schreiben, ohne die Sprache C zu kennen.
Fügen Sie sofort eine Quelländerungsmethode für eine neue Software hinzu! Schreiben Sie ein Rezept, auch wenn Sie C nicht kennen
Herausforderungsliste:
[HILFE] Geben Sie die Standardquelladresse an, z. B. die Standardquell-URL von Ubuntu, Debian, Go usw., um uns beim chsrc reset
zu helfen
[Herausforderung] Schreiben einer einheitlichen Installations-Shell und PowerShell-Skripts: Abgeschlossen von @Efterklang und @xuan
[Herausforderung] CentOS (Stream)-Rezept
https://github.com/RubyMetric/chsrc/wiki
https://github.com/RubyMetric/chsrc/discussions
Wichtig
Bei der Installation mit der folgenden manuellen Methode wird es in das aktuelle Verzeichnis heruntergeladen und kann direkt über ./chsrc
ausgeführt werden
Installierbar über scoop
, danke an @Gn3po4g und @niheaven
$ scoop chsrc installieren
Laden Sie die neueste Version der Binärdatei mit einem Klick über ein PowerShell
-Skript herunter
$ iwr -useb "https://chsrc.run/windows" |
Oder laden Sie die Binärdatei manuell herunter. Dies ist häufig neuer als die von scoop
bereitgestellte Version. Sie eignet sich für die zeitnahe Verwendung nach der Fehlerbehebung, dem Hinzufügen neuer Funktionen und wenn scoop
nicht installiert ist.
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-windows.exe -o chsrc.exe # x86curl -L https://gitee.com/RubyMetric/chsrc/ releases/download/pre/chsrc-x86-windows.exe -o chsrc.exe
Unterstützt AUR
, installierbar über yay
, dank @Jerry-Terrasse
# AUR$ yay -S chsrc-bin # Binär aus GitHub Release$ yay -S chsrc-git # Aus dem neuesten Hauptzweig erstellen (stabil)$ yay -S chsrc # Aus GitHub Release erstellen
Die neueste Version kann mit einem Klick über shell
-Skript installiert werden, dank @Efterklang und @xuan (zum Testen durch Benutzer, bitte geben Sie Feedback in Ausgabe Nr. 98 auf GitHub)
# Nicht-Root-Benutzer werden standardmäßig in ~/.local/bin$ installiert: curl https:/chsrc.run/posix | bash # Root-Benutzer werden standardmäßig in /usr/local/bin$ installiert: curl https:/chsrc.run /posix |. sudo bash # Verwenden Sie -d, um das Verzeichnis anzugeben, in dem $ curl https:/chsrc.run/posix | installiert werden soll. run/posix |. bash -s -- -l en
Binärdateien können manuell heruntergeladen und installiert werden
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-linux -o chsrc; chmod +x ./chsrc# aarch64curl -L https://gitee.com/RubyMetric /chsrc/releases/download/pre/chsrc-aarch64-linux -o chsrc; chmod +x ./chsrc# riscv64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-riscv64- linux -o chsrc; chmod +x ./chsrc# armv7curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-armv7-linux -o chmod +x ./chsrc
Kann über homebrew
installiert werden, dank @Aaron-212 und @chenrui333
$ brew install chsrc
Die neueste Version kann über shell
-Skript installiert werden, dank @Efterklang und @xuan (zum Testen durch macOS-Benutzer, bitte geben Sie Feedback in Ausgabe Nr. 98 auf GitHub)
# Nicht-Root-Benutzer werden standardmäßig in ~/.local/bin$ installiert: curl https:/chsrc.run/posix | bash # Root-Benutzer werden standardmäßig in /usr/local/bin$ installiert: curl https:/chsrc.run /posix |. sudo bash # Verwenden Sie -d, um das Verzeichnis anzugeben, in dem $ curl https:/chsrc.run/posix | installiert werden soll. run/posix |. bash -s -- -l en
Oder laden Sie die Binärdatei manuell herunter. Dies ist häufig neuer als die von homebrew
bereitgestellte Version. Sie eignet sich für die rechtzeitige Verwendung nach der Fehlerbehebung und dem Hinzufügen neuer Funktionen.
# arm64/aarch64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-aarch64-macos -o chsrc; chmod +x ./chsrc# x64curl -L https://gitee.com /RubyMetric/chsrc/releases/download/pre/chsrc-x64-macos -o chsrc; chmod +x ./chsrc
$ git clone https://gitee.com/RubyMetric/chsrc.git; $ clang -Iinclude src/chsrc-main.c -o chsrc
Verwenden Sie: chsrc[Optionen] [Ziel] [Spiegel]Hilfe # Diese Hilfe ausdrucken oder h, -h, --helpissue # Zugehörige Problemliste anzeigen (oder ls oder l) # Verfügbare Spiegelquellen und verfügbaren Ersatz auflisten Quelle Zielliste Spiegel/Ziel # Verfügbare Spiegelquellen oder austauschbare Quellen auflisten Zielliste os/lang/ware # Betriebssysteme/Programmiersprachen/Software austauschbarer Quellen auflisten Measure # Messen Sie die Geschwindigkeit aller Quellen des Ziel-Cesu list # Überprüfen Sie die verfügbaren Quellen und unterstützten Funktionen des Ziels get # Überprüfen Sie die aktuelle Quellennutzung des Zielsatzes # Ändern Sie die Quelle und wählen Sie die schnellste Quelle nach dem automatischen Geschwindigkeitsmesssatz < aus target> first # Quelle ändern, die Quelle mit der höchsten vom Wartungsteam gemessenen Geschwindigkeit verwenden set # Quelle ändern, angeben, dass eine Spiegelstation verwendet werden soll (Anzeige über den Listenbefehl) set https ://url # Ändern Sie die Quelle, benutzerdefinierte Quell-URLreset #Zurücksetzen, unter Verwendung der standardmäßig vom Upstream verwendeten Quelloptionen: -dry # Probelauf, simuliert den Quellenänderungsprozess, der Befehl wird nur gedruckt und nicht ausgeführt -local # Quellen nur für ein bestimmtes Projekt ändern, nicht global (nur einige Software wie Bundler und PDM-Unterstützung) -ipv6 # IPv6-Geschwindigkeit verwenden Messung -en(glish) # Englische Ausgabe verwenden -no-color # Keine Farbausgabe
Geschwindigkeit automatisch messen, Schnellste finden, Quelle ändern $ chsrc set ruby Wenn Sie die Geschwindigkeit nicht automatisch messen möchten, können Sie zunächst die schnellste vom Wartungsteam getestete Spiegelstation $ chsrc set ruby verwenden Listen Sie zunächst die verfügbaren Spiegelseiten auf und wählen Sie dann eine aus, z. B. RubyChina als Spiegelseite $ chsrc ls ruby $ chsrc setze Ruby Rubychina Wenn Sie über eine eigene Mirror-Adresse verfügen, verwenden Sie eine benutzerdefinierte URL $ chsrc set ruby https://gems.ruby-china.com/ Für Ziele, die Ressourcen auf *Projektebene* unterstützen, können Sie globale Ressourcen (*auf Systemebene* oder *Benutzerebene*) vermeiden: $ chsrc set -local bundler $ chsrc set -local pdm
chsrc set ruby|rb|gem|bundler|rubygems chsrc set python |. py |. pypi # Ändern Sie die drei Paketmanager Pip, Poetry und PDM gleichzeitig, oder Sie können die Quellen unabhängig voneinander ändern chsrc Set Poesie chsrc set pdm chsrc set node |. nodejs # Ändern Sie die drei Paketmanager npm, Yarn und pnpm gleichzeitig, oder Sie können die Quellen unabhängig voneinander ändern chsrc set npm chsrc set garn chsrc set pnpm chsrc set nvm chsrc set bun chsrc set perl |. cpan chsrc set php | chsrc set lua |. luarocks chsrc set rost |. Ladung Kiste chsrc set rustup chsrc loslegen chsrc set java |. mvn | chsrc set clojure | chsrc set dart |. pub chsrc set flattern chsrc set haskell |. cabal stack | chsrc set ocaml |. opam# ändert auch die Quelle von bioconductor chsrc set r | chsrc set julia
sudo chsrc set ubuntu sudo chsrc set linuxmint | sudo chsrc set debian sudo chsrc set Fedora sudo chsrc set suse | sudo chsrc set kali sudo chsrc set arch sudo chsrc set archlinuxcn sudo chsrc set manjaro sudo chsrc set gentoo sudo chsrc set rocky | sudo chsrc set alma | sudo chsrc set alpine sudo chsrc set void | sudo chsrc set solus sudo chsrc set ros |. ros2 sudo chsrc set trisquel sudo chsrc set lite | sudo chsrc set raspi | sudo chsrc set armbian sudo chsrc setze openwrt sudo chsrc set openeuler sudo chsrc set openanolis |. anolis sudo chsrc setze openkylin sudo chsrc set deepin chsrc set msys2 |. msys# BSDsudo chsrc set freebsd sudo chsrc setze openbsd sudo chsrc set netbsd
chsrc set Winget chsrc set brew | chsrc Set Kakaofrüchte |. Kakaofrucht chsrc set dockerhub | chsrc set flathub |. flatpak chsrc setze nix chsrc setguix chsrc set emacs | chsrc set tex |. ctan |. texlive | chsrc set conda |
Bitte installieren Sie gcc
oder clang
, make
und curl
# Verwenden Sie den Dev-Zweig, um den Git-Klon https://gitee.com/RubyMetric/chsrc.git -b dev zu entwickeln make # Standardmäßig verwenden Sie cc zum Kompilieren. make CC=clang # Verwenden Sie clang zum Kompilieren. make CC=gcc # Verwenden Sie gcc zum Kompilieren. make test # Testbefehl make test-xy # Testen Sie xy.hmake clean
Das chsrc
Hauptprogramm übernimmt die Lizenz GPL-3.0-or-later
um die dauerhafte Freiheit der Software zu gewährleisten
xy.h
nutzt MIT
Lizenz, um sicherzustellen, dass die Bibliothek in möglichst vielen Situationen wiederverwendet werden kann
Vielen Dank an verschiedene Spiegelseiten für die Bereitstellung hochwertiger kostenloser Spiegeldienste
source.h enthält allgemeine Informationen zur Spiegelseite
Innerhalb jedes Rezepts sind dedizierte Spiegelstationen definiert
Besonderer Dank geht an folgende Organisationen bzw. Projekte:
MirrorZ Education Network Mirror Station
Thunfisch der Tsinghua-Universität
Software Source Mirror Service der Shanghai Jiao Tong University
Linux-Benutzervereinigung der Universität für Wissenschaft und Technologie Chinas
Danke, Mirror-Projekt von @eryajf
Haben Sie durch die Verwendung chsrc
oder was auch immer Zeit und Mühe gespart?