Para contornar restrições de rede e acelerar o acesso ao GitHub no macOS, é possível modificar o arquivo de hosts local. Esta absolução mapeia domínios do GitHub para endereços IP específicos, evitando atrasos causados por poluição de DNS.
Passos para Modificar o Arquivo Hosts
Primeiro, obtenha uma lista atualizada de mapeamentos IP-domínio do GitHub. Fontes confiáveis podem ser encontradas em repositórios como o GitHub520 no Gitee. Em seguida, adicione as entradas ao arquivo /etc/hosts. Use um editor de texto com permissões elevadas, como o nano ou vim:
# Início das entradas do GitHub520
140.82.114.4 github.com
140.82.114.25 alive.github.com
140.82.113.5 api.github.com
185.199.110.153 assets-cdn.github.com
185.199.111.133 avatars.githubusercontent.com
140.82.112.22 central.github.com
185.199.111.133 cloud.githubusercontent.com
140.82.114.9 codeload.github.com
140.82.113.22 collector.github.com
185.199.111.133 desktop.githubusercontent.com
185.199.111.133 favicons.githubusercontent.com
140.82.112.3 gist.github.com
52.216.163.147 github-cloud.s3.amazonaws.com
52.217.124.1 github-com.s3.amazonaws.com
52.216.144.83 github-production-release-asset-2e65be.s3.amazonaws.com
52.217.121.249 github-production-repository-file-5c1aeb.s3.amazonaws.com
52.217.206.57 github-production-user-asset-6210df.s3.amazonaws.com
192.0.66.2 github.blog
140.82.113.18 github.community
185.199.110.154 github.githubassets.com
151.101.1.194 github.global.ssl.fastly.net
185.199.110.153 github.io
185.199.111.133 github.map.fastly.net
185.199.110.153 githubstatus.com
140.82.112.25 live.github.com
185.199.111.133 media.githubusercontent.com
185.199.111.133 objects.githubusercontent.com
13.107.42.16 pipelines.actions.githubusercontent.com
185.199.111.133 raw.githubusercontent.com
185.199.111.133 user-images.githubusercontent.com
13.107.253.40 vscode.dev
140.82.112.21 education.github.com
# Fim das entradas do GitHub520
# Atualizado em: 2023-08-01
Após salvar o arquivo, limpe o cache de DNS do sistema para aplicar as mudanças. No macOS, execute os seguintes comandos no terminal:
sudo dscacheutil -flushcache && sudo killall -HUP mDNSResponder
Explicação dos comandos:
sudo: Executa comandos com privilégios de superusuário, permitindo alterações no sistema.dscacheutil -flushcache: Limpa o cache de resolução de nomes, incluindo entradas de DNS armazenadas localmente.killall -HUP mDNSResponder: Envia um sinal SIGHUP ao serviçomDNSResponder, que gerencia a resolução de nomes no macOS, forçando-o a recarregar configurações.
Verificação de Mapeamnetos Atualizados
Se os domínios listados se tornarem obsoletos, use ferramentas online para identificar IPs atuais do GitHub. Por exemplo, acesse um serviço como Ping.chinaz.com e insira github.com para executar testes de ping de múltiplos locais. Os resultados mostrarão endereços IP responsivos, que podem ser adicionados ao arquivo /etc/hosts para manter a otimização.
Causas da Limitação de Acesso
A poluição de DNS ocorre quando respostas de DNS são adulteradas, redirecionando domínios como github.com para endereços IP incorretos. Isso pode impedir o acesso devido a restrições de rede ou censura. Ao configurar manualmente o arquivo de hosts, você contorna essas interferências, garantindo resolução direta e rápida dos endereços IP do GitHub.