L'outil et le framework de remplacement de source universel toutes plateformes chsrc
visent à prendre en charge autant d'environnements de système d'exploitation que possible tels que Linux, Windows (MSYS2, Cygwin), macOS, BSD, etc., et autant de processeurs que possible tels que Loongson, Feiteng. et RISC-V .
Nous utilisons C99 pour atteindre les objectifs ci-dessus. Nous n'utilisons pas de langages interprétés tels que Python ou JS car un simple outil de changement de source ne devrait pas obliger les utilisateurs à disposer d'un énorme interpréteur et de dizaines ou centaines de Mo d'autres fichiers.
Ce logiciel est un logiciel gratuit et la licence du logiciel SDPX est GPL-3.0-or-later and MIT
Note
chsrc
peut remplacer plus de 60 cibles sources. Chacun apporte et entretient uniquement les pièces qu'il connaît et bénéficie en retour de l'aide d'experts dans tous les autres domaines . Les personnes qui ne sont pas familières avec la collaboration GitHub et Gitee sont invitées à profiter de cette opportunité pour apprendre et contribuer. Tout débutant en programmation est invité à contribuer. L'auteur @ccmywish peut fournir certaines orientations en matière de contribution.
Conseil
chsrc
n'est pas seulement un outil de ligne de commande, mais aussi un framework de remplacement de source. Il vous permet même d'écrire de nouvelles méthodes de remplacement de source (recettes) sans connaître le langage C.
Ajoutez instantanément une méthode de changement de source pour un nouveau logiciel ! Écrivez une recette même si vous ne savez pas C
Liste des défis :
[AIDE] Fournissez l'adresse source par défaut, telle que l'URL source par défaut d'Ubuntu, Debian, Go, etc., pour nous aider à effectuer chsrc reset
[Défi] Écriture de scripts shell d'installation unifiés et PowerShell : réalisé par @Efterklang et @xuan
[Défi] Recette CentOS (Stream)
https://github.com/RubyMetric/chsrc/wiki
https://github.com/RubyMetric/chsrc/discussions
Important
S'il est installé via la méthode manuelle suivante, il sera téléchargé dans le répertoire actuel et pourra être exécuté directement via ./chsrc
Installable via scoop
, grâce à @Gn3po4g et @niheaven
$ scoop installer chsrc
Téléchargez la dernière version du fichier binaire en un clic via un script PowerShell
$ iwr -useb "https://chsrc.run/windows" |
Ou téléchargez manuellement le fichier binaire. Il s'agit de la dernière version, qui est souvent plus récente que celle fournie par scoop
. Elle convient pour une utilisation rapide après la correction de bogues, l'ajout de nouvelles fonctionnalités et lorsque scoop
n'est pas installé.
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-windows.exe -o chsrc.exe # x86curl -L https://gitee.com/RubyMetric/chsrc/ versions/download/pre/chsrc-x86-windows.exe -o chsrc.exe
Supporte AUR
, installable via yay
, grâce à @Jerry-Terrasse
# AUR$ yay -S chsrc-bin # Binaire depuis la version GitHub$ yay -S chsrc-git # Construire à partir de la dernière branche principale (stable)$ yay -S chsrc # Construire à partir de la version GitHub
La dernière version peut être installée en un clic via le script shell
, grâce à @Efterklang et @xuan (à tester par les utilisateurs, veuillez fournir vos commentaires dans le numéro 98 sur GitHub)
# Les utilisateurs non root sont installés sur ~/.local/bin$ par défaut curl https:/chsrc.run/posix | # Les utilisateurs root sont installés sur /usr/local/bin$ par défaut curl https:/chsrc.run /posix | sudo bash # Utilisez -d pour spécifier le répertoire dans lequel installer $ curl https:/chsrc.run/posix | bash -- -d ./# Utilisez -l en pour afficher l'anglais $ curl https:/chsrc. exécuter/posix bash | -s -- -l fr
Les fichiers binaires peuvent être téléchargés et installés manuellement
# 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 +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 chsrc; chmod +x ./chsrc
Peut être installé via homebrew
, grâce à @Aaron-212 et @chenrui333
$ Brew installer chsrc
La dernière version peut être installée via un script shell
, grâce à @Efterklang et @xuan (à tester par les utilisateurs de macOS, veuillez fournir vos commentaires dans le numéro 98 sur GitHub)
# Les utilisateurs non root sont installés sur ~/.local/bin$ par défaut curl https:/chsrc.run/posix | # Les utilisateurs root sont installés sur /usr/local/bin$ par défaut curl https:/chsrc.run /posix | sudo bash # Utilisez -d pour spécifier le répertoire dans lequel installer $ curl https:/chsrc.run/posix | bash -- -d ./# Utilisez -l en pour afficher l'anglais $ curl https:/chsrc. exécuter/posix bash | -s -- -l fr
Ou téléchargez manuellement le fichier binaire. Il s'agit de la dernière version, qui est souvent plus récente que celle fournie par homebrew
. Elle peut être utilisée en temps opportun après avoir corrigé des bogues et ajouté de nouvelles fonctionnalités.
# 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 +x; ./chsrc
$ git clone https://gitee.com/RubyMetric/chsrc.git; $ clang -Iinclude src/chsrc-main.c -o chsrc
Utilisez : chsrc[options] [target] [mirror]help # Imprimer cette aide, ou h, -h, --helpissue # Afficher la liste des problèmes associés (ou ls, ou l) # Répertorier les sources miroir disponibles et les remplacements disponibles source target list miroir/cible # Liste les sources miroir disponibles, ou liste source cible remplaçable os/lang/ware # Liste les systèmes d'exploitation/langages de programmation/logiciels des sources remplaçables mesurer # Mesurer la vitesse de toutes les sources du cesu cible list # Vérifiez les sources disponibles et les fonctions prises en charge de la cible get # Vérifiez l'utilisation actuelle de la source de l'ensemble cible # Changez la source et sélectionnez la source la plus rapide après la mesure automatique de la vitesse définie < target> d'abord # Changez la source, utilisez la source avec la vitesse la plus élevée mesurée par l'équipe de maintenance set # Changez la source, spécifiez d'utiliser une station miroir (visualisez via la commande list) set https ://url # Changer la source, URL source définie par l'utilisateurreset # Réinitialiser, en utilisant les options de source utilisées par défaut en amont : -dry # Dry Run, simule le processus de changement de source, la commande imprime uniquement et ne s'exécute pas -local # Change uniquement les sources pour un certain projet plutôt que globalement (uniquement certains logiciels tels que le bundler et le support pdm) -ipv6 # Utiliser la vitesse IPv6 mesure -en(glish) # Utiliser la sortie en anglais -no-color # Pas de sortie couleur
Mesurez automatiquement la vitesse, trouvez le plus rapide, changez la source $ chsrc set ruby Si vous ne souhaitez pas mesurer automatiquement la vitesse, vous pouvez utiliser la station miroir la plus rapide testée par l'équipe de maintenance $ chsrc set ruby first Répertoriez d'abord les sites miroirs disponibles, puis sélectionnez-en un, par exemple en utilisant RubyChina comme site miroir $ chsrc ls ruby $ chsrc set rubis rubychina Si vous disposez de votre propre adresse miroir, utilisez une URL personnalisée $ chsrc définir rubis https://gems.ruby-china.com/ Pour les cibles qui prennent en charge les ressources *au niveau du projet*, vous pouvez éviter les ressources globales (*au niveau du système* ou *au niveau de l'utilisateur*) $ chsrc set -local bundler $ chsrc set -local pdm
chsrc définit ruby|rb|gem|bundler|rubygems chsrc set python | py | pypi # Modifiez les trois gestionnaires de paquets pip, poésie et pdm en même temps, ou vous pouvez modifier les sources indépendamment chsrc set pip chsrc définit la poésie chsrc définir pdm chsrc set node | nodejs # Modifiez les trois gestionnaires de packages npm, fil et pnpm en même temps, ou vous pouvez modifier les sources indépendamment chsrc set npm fil de jeu chsrc chsrc définit pnpm chsrc défini nvm chsrc ensemble chignon chsrc définit perl | chsrc définit le compositeur php | chsrc ensemble lua | chsrc a mis la rouille | chsrc définit la rouille chsrc est prêt à partir chsrc définir java | chsrc ensemble clojure | chsrc jeu de fléchettes pub | chsrc définit le flottement chsrc définit haskell | pile de cabale | chsrc set ocaml | opam# changera également la source du bioconducteur chsrc set r | ensemble chsrc julia
sudo chsrc définir Ubuntu sudo chsrc set linuxmint | sudo chsrc défini sur Debian sudo chsrc définir fedora sudo chsrc définir suse | sudo chsrc définir kali sudo chsrc définir l'arche sudo chsrc set archlinuxcn sudo chsrc définir manjaro sudo chsrc défini gentoo sudo chsrc défini rockylinux sudo chsrc définir alma | sudo chsrc défini alpin sudo chsrc set void | sudo chsrc set solus sudo chsrc défini ros | sudo chsrc set trisquel sudo chsrc set lite | sudo chsrc set raspi | sudo chsrc définir armbian sudo chsrc définir openwrt sudo chsrc set ouvreur sudo chsrc set openanolis | sudo chsrc définir openkylin sudo chsrc défini en profondeur chsrc défini msys2 | msys# BSDsudo chsrc défini freebsd sudo chsrc définir openbsd sudo chsrc défini netbsd
ensemble chsrc winget chsrc ensemble brassage | chsrc set cocoapods | chsrc définit le dockerhub | chsrc ensemble flathub | chsrc set rien chsrc setguix chsrc définit emacs | chsrc ensemble tex | chsrc définir conda |
Veuillez installer gcc
ou clang
, make
et curl
# Utilisez la branche dev pour développer git clone https://gitee.com/RubyMetric/chsrc.git -b dev make # Par défaut, utilisez cc pour compiler make CC=clang # Utilisez clang pour compiler make CC=gcc # Utilisez gcc pour compiler make test # Commande de test make test-xy # Test xy.hmake clean
Le programme principal chsrc
adopte la licence GPL-3.0-or-later
pour garantir la liberté permanente du logiciel
xy.h
utilise MIT
pour garantir que la bibliothèque puisse être réutilisée dans autant de situations que possible
Merci à divers sites miroirs pour fournir des services miroirs gratuits de haute qualité
source.h contient des informations générales sur le site miroir
Stations miroir dédiées définies au sein de chaque recette
Un merci spécial aux organisations ou projets suivants :
Station miroir du réseau éducatif MirrorZ
Thon de l'Université Tsinghua
Service de miroir de source de logiciel de l'Université Jiao Tong de Shanghai
Association des utilisateurs Linux de l'Université des sciences et technologies de Chine
Merci Projet Mirror par @eryajf
Avez-vous économisé du temps et des efforts en utilisant chsrc
ou autre ?