A ferramenta e estrutura universal de substituição de fonte para todas as plataformas chsrc
visa oferecer suporte a tantos ambientes de sistema operacional quanto possível, como Linux, Windows (MSYS2, Cygwin), macOS, BSD, etc., e tantas CPUs quanto possível, como Loongson, Feiteng e RISC-V .
Usamos C99 para atingir os objetivos acima. Não usamos linguagens interpretadas como Python ou JS porque uma simples ferramenta de alteração de código-fonte não deve forçar os usuários a ter um interpretador enorme e dezenas ou centenas de MB de outros arquivos.
Este software é gratuito e a licença do software SDPX é GPL-3.0-or-later and MIT
Observação
chsrc
pode substituir mais de 60 destinos de origem. Todos contribuem e mantêm apenas as partes com as quais estão familiarizados e, em troca, recebem ajuda de especialistas em todas as outras áreas . Pessoas que não estão familiarizadas com a colaboração do GitHub e do Gitee podem aproveitar esta oportunidade para aprender e contribuir. Qualquer iniciante em programação pode contribuir.
Dica
chsrc
não é apenas uma ferramenta de linha de comando, mas também uma estrutura de substituição de código-fonte. Ele ainda permite que você escreva novos métodos de substituição de código-fonte (receitas) sem conhecer a linguagem C.
Adicione instantaneamente um método de alteração de fonte para um novo software! Escreva uma receita mesmo que você não saiba C
Lista de desafios:
[AJUDA] Forneça o endereço de origem padrão, como o URL de origem padrão do Ubuntu, Debian, Go, etc., para nos ajudar a realizar chsrc reset
[Desafio] Escrevendo shell de instalação unificado e scripts do PowerShell: concluído por @Efterklang e @xuan
[Desafio] Receita CentOS (Stream)
https://github.com/RubyMetric/chsrc/wiki
https://github.com/RubyMetric/chsrc/discussions
Importante
Se instalado através do seguinte método manual, ele será baixado para o diretório atual e poderá ser executado diretamente através de ./chsrc
Instalável via scoop
, graças a @Gn3po4g e @niheaven
$ colher instalar chsrc
Baixe a versão mais recente do arquivo binário com um clique por meio de um script PowerShell
$ iwr -useb "https://chsrc.run/windows" |
Ou baixe manualmente o arquivo binário. Esta é a versão mais recente, que geralmente é mais recente do que a fornecida scoop
. É adequada para uso oportuno após corrigir bugs, adicionar novos recursos e quando scoop
não estiver instalado.
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-windows.exe -o chsrc.exe # x86curl -L https://gitee.com/RubyMetric/chsrc/ lançamentos/download/pré/chsrc-x86-windows.exe -o chsrc.exe
Suporta AUR
, instalável via yay
, graças a @Jerry-Terrasse
# AUR$ yay -S chsrc-bin # Binário da versão do GitHub$ yay -S chsrc-git # Construa a partir do branch principal mais recente (estável)$ yay -S chsrc # Construa a partir da versão do GitHub
A versão mais recente pode ser instalada com um clique através shell
script, graças a @Efterklang e @xuan (para ser testado pelos usuários, forneça feedback na edição nº 98 no GitHub)
# Usuários não-root são instalados em ~/.local/bin$ por padrão curl https:/chsrc.run/bash # Usuários root são instalados em /usr/local/bin$ por padrão curl https:/chsrc.run /posix | sudo bash # Use -d para especificar o diretório para instalar $ curl https:/chsrc.run/posix | bash -s -- -d ./# Use -l en para gerar $ curl https:/chsrc. executar/posix | -s -- -l en
Arquivos binários podem ser baixados e instalados manualmente
# x64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-linux -o chsrc; /chsrc/releases/download/pre/chsrc-aarch64-linux -o chsrc; ./chsrc# riscv64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-riscv64-linux -o chsrc; com/RubyMetric/chsrc/releases/download/pre/chsrc-armv7-linux -o chsrc; chmod +x ./chsrc
Pode ser instalado via homebrew
, graças a @Aaron-212 e @chenrui333
$ brew instalar chsrc
A versão mais recente pode ser instalada através de shell
script, graças a @Efterklang e @xuan (para ser testado por usuários do macOS, forneça feedback na edição nº 98 no GitHub)
# Usuários não-root são instalados em ~/.local/bin$ por padrão curl https:/chsrc.run/bash # Usuários root são instalados em /usr/local/bin$ por padrão curl https:/chsrc.run /posix | sudo bash # Use -d para especificar o diretório para instalar $ curl https:/chsrc.run/posix | bash -s -- -d ./# Use -l en para gerar $ curl https:/chsrc. executar/posix | -s -- -l en
Ou baixe manualmente o arquivo binário. Esta é a versão mais recente, que geralmente é mais recente do que a fornecida pelo homebrew
. É adequada para uso oportuno após corrigir bugs e adicionar novos recursos.
# arm64/aarch64curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-aarch64-macos -o chsrc; /RubyMetric/chsrc/releases/download/pre/chsrc-x64-macos -o chsrc; ./chsrc
$ git clone https://gitee.com/RubyMetric/chsrc.git; $ clang -Iinclude src/chsrc-main.c -o chsrc
Use: chsrc[options] [target] [mirror]help # Imprima esta ajuda, ou h, -h, --helpissue # Veja a lista de problemas relacionados (ou ls, ou l) # Liste as fontes de espelho disponíveis e a substituição disponível lista de destino de origem espelho/destino # Lista as fontes de espelho disponíveis ou lista de destino de origem substituível os/lang/ware # Lista os sistemas operacionais/linguagens de programação/software de fontes substituíveis medida # Mede a velocidade de todas as fontes do alvo cesu list # Verifique as fontes disponíveis e as funções suportadas do alvo get # Verifique o uso atual da fonte do conjunto de alvos # Mude a fonte e selecione a fonte mais rápida após o conjunto de medição automática de velocidade < target> primeiro # Mude a fonte, use a fonte com a maior velocidade medida pela equipe de manutenção set # Mude a fonte, especifique para usar uma estação espelho (visualize através do comando list) set https ://url # Altera a fonte definida pelo usuário URLreset # Redefinir, usando as opções de origem usadas pelo upstream por padrão: -dry # Dry Run, simula o processo de mudança de fonte, o comando apenas imprime e não é executado -local # Apenas altera fontes para um determinado projeto em vez de globalmente (apenas alguns softwares como suporte para bundler e pdm) -ipv6 # Use velocidade IPv6 medição -en(inglês) # Use saída em inglês -no-color # Sem saída em cores
Meça automaticamente a velocidade, encontre o mais rápido, altere a fonte $ chsrc set ruby Se não quiser medir a velocidade automaticamente, você pode usar a estação de espelho mais rápida testada pela equipe de manutenção $ chsrc set ruby first Primeiro liste os sites espelho disponíveis e, em seguida, selecione um, como usar RubyChina como site espelho $ chsrc ls ruby $chsrc definir ruby rubychina Se você tiver seu próprio endereço espelho, use um URL personalizado $ chsrc set ruby https://gems.ruby-china.com/ Para destinos que suportam recursos em *nível de projeto*, você pode evitar recursos globais (*nível de sistema* ou *nível de usuário*) $ chsrc set -local bundler $ chsrc set -local pdm
chsrc set ruby|rb|gem|bundler|rubygems chsrc set python | py | pypi # Altere os três gerenciadores de pacotes pip, poesia e pdm ao mesmo tempo, ou você pode alterar as fontes independentemente chsrc set pip chsrc definir poesia conjunto de chsrc pdm chsrc set node | nodejs # Altere os três gerenciadores de pacotes npm, yarn e pnpm ao mesmo tempo, ou você pode alterar as fontes independentemente chsrc set npm fio conjunto chsrc chsrc definir pnpm chsrc definir nvm conjunto chsrc coque chsrc definir perl | chsrc definir php | conjunto chsrc lua | chsrc definir ferrugem | chsrc set ferrugem chsrc definir ir chsrc definir java | chsrc set clojure | conjunto de dardo chsrc | chsrc definir vibração chsrc conjunto haskell | chsrc set ocaml | opam# também mudará a fonte do biocondutor chsrc set r | conjunto chsrc julia
sudochsrc definir ubuntu sudo chsrc definir linuxmint | sudo chsrc definir debian sudo chsrc set fedora sudo chsrc definir suse | sudo chsrc definir kali sudo chsrc definir arco sudo chsrc set archlinuxcn sudo chsrc conjunto manjaro sudo chsrc definir gentoo sudo chsrc conjunto rochoso | sudo chsrc definir alma | sudo chsrc conjunto alpino sudo chsrc definir vazio | sudo chsrc definir solução sudo chsrc definir ros ros2 sudo chsrc definir trisquel sudo chsrc set lite | sudo chsrc definir raspberrypi | sudo chsrc definir armbiano sudo chsrc definir openwrt sudo chsrc set openeuler sudo chsrc definir openanolis | sudo chsrc definir openkylin sudo chsrc definir profundamente chsrc definir msys2 | msys# BSDsudo chsrc definir freebsd sudo chsrc definir openbsd sudo chsrc definir netbsd
chsrc definir winget chsrc definir cerveja | conjunto chsrc cocoapods | chsrc definir dockerhub | conjunto chsrc flathub | chsrc conjunto nix chsrc setguix chsrc definir emacs | chsrc conjunto tex | conjunto chsrc conda |
Por favor instale gcc
ou clang
, make
e curl
# Use o branch dev para desenvolver o clone do git https://gitee.com/RubyMetric/chsrc.git -b dev make # Por padrão, use cc para compilar make CC=clang # Use clang para compilar make CC=gcc # Use gcc para compilar make test # Comando de teste make test-xy # Teste xy.hmake clean
O programa principal chsrc
adota licença GPL-3.0-or-later
para garantir a liberdade permanente do software
xy.h
usa MIT
para garantir que a biblioteca possa ser reutilizada em tantas situações quanto possível
Obrigado a vários sites espelho por fornecerem serviços espelho gratuitos de alta qualidade
source.h contém informações gerais do site espelho
Estações de espelho dedicadas definidas em cada receita
Agradecimentos especiais às seguintes organizações ou projetos:
Estação de espelho da rede educacional MirrorZ
Atum da Universidade de Tsinghua
Serviço de espelho de fonte de software da Universidade Shanghai Jiao Tong
Associação de Usuários Linux da Universidade de Ciência e Tecnologia da China
Obrigado projeto Mirror de @eryajf
Você economizou tempo e esforço usando chsrc
ou algo assim?