# changehosts **Repository Path**: it155/changehosts ## Basic Information - **Project Name**: changehosts - **Description**: 修改本地 hosts 文件 - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-11 - **Last Updated**: 2024-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 一、介绍 对 GitHub 说"爱"太难了:访问慢、图片加载不出来。 **本项目无需安装任何程序,仅需 5 分钟。** 通过修改本地 hosts 文件,试图解决: - GitHub 访问速度慢的问题 - GitHub 项目中的图片显示不出的问题 让你"爱"上 GitHub。 ## 二、使用方法 下面的地址无需访问 GitHub 即可获取到最新的 hosts 内容: - 文件:`https://gitee.com/it155/changehosts/raw/master/github` - JSON:`https://gitee.com/it155/changehosts/raw/master/github.json` ### 2.1 手动方式 #### 2.1.1 复制下面的内容 ```bash # Hosts Start 140.82.114.26 alive.github.com 140.82.112.5 api.github.com 185.199.111.153 assets-cdn.github.com 185.199.110.133 avatars.githubusercontent.com 185.199.110.133 avatars0.githubusercontent.com 185.199.108.133 avatars1.githubusercontent.com 185.199.108.133 avatars2.githubusercontent.com 185.199.108.133 avatars3.githubusercontent.com 185.199.110.133 avatars4.githubusercontent.com 185.199.108.133 avatars5.githubusercontent.com 185.199.108.133 camo.githubusercontent.com 140.82.112.21 central.github.com 185.199.108.133 cloud.githubusercontent.com 140.82.114.9 codeload.github.com 140.82.113.21 collector.github.com 185.199.110.133 desktop.githubusercontent.com 185.199.108.133 favicons.githubusercontent.com 140.82.114.3 gist.github.com 3.5.29.96 github-cloud.s3.amazonaws.com 52.216.218.153 github-com.s3.amazonaws.com 54.231.163.185 github-production-release-asset-2e65be.s3.amazonaws.com 52.217.162.129 github-production-repository-file-5c1aeb.s3.amazonaws.com 52.217.237.1 github-production-user-asset-6210df.s3.amazonaws.com 192.0.66.2 github.blog 140.82.114.4 github.com 140.82.112.17 github.community 185.199.110.154 github.githubassets.com 151.101.193.194 github.global.ssl.fastly.net 185.199.111.153 github.io 185.199.108.133 github.map.fastly.net 185.199.111.153 githubstatus.com 140.82.114.26 live.github.com 185.199.108.133 media.githubusercontent.com 185.199.108.133 objects.githubusercontent.com 13.107.42.16 pipelines.actions.githubusercontent.com 185.199.108.133 raw.githubusercontent.com 185.199.108.133 user-images.githubusercontent.com 13.107.213.40 vscode.dev 140.82.112.21 education.github.com # Update time: 2024-12-12T01:53:28+08:00 # Update url: https://raw.hellogithub.com/hosts # Star me: https://github.com/521xueweihan/GitHub520 # GitHub520 Host End ``` #### 2.1.2 修改 hosts 文件 hosts 文件在每个系统的位置不一,详情如下: - Windows 系统:`C:\Windows\System32\drivers\etc\hosts` - Linux 系统:`/etc/hosts` - Mac(苹果电脑)系统:`/etc/hosts` - Android(安卓)系统:`/system/etc/hosts` - iPhone(iOS)系统:`/etc/hosts` 修改方法,把第一步的内容复制到文本末尾: 1. Windows 使用记事本。 2. Linux、Mac 使用 Root 权限:`sudo vi /etc/hosts`。 3. iPhone、iPad 须越狱、Android 必须要 root。 #### 2.1.3 激活生效 大部分情况下是直接生效,如未生效可尝试下面的办法,刷新 DNS: 1. Windows:在 CMD 窗口输入:`ipconfig /flushdns` 2. Linux 命令:`sudo nscd restart`,如报错则须安装:`sudo apt install nscd` 或 `sudo /etc/init.d/nscd restart` 3. Mac 命令:`sudo killall -HUP mDNSResponder` **Tips:** 上述方法无效可以尝试重启机器。 ### 2.2 自动方式(SwitchHosts) **Tip**:推荐 [SwitchHosts](https://github.com/oldj/SwitchHosts) 工具管理 hosts 以 SwitchHosts 为例,看一下怎么使用的,配置参考下面: - 类型: `远程` - 标题: 随意 - URL: `https://gitee.com/it155/changehosts/raw/master/github` - 自动刷新: 最好选 `1 小时` 如图: ![](img/switch-hosts.png) 这样每次 hosts 有更新都能及时进行更新,免去手动更新。 ### 2.3 一行命令 (适用于类 Unix 系统) #### GNU(Ubuntu/CentOS/Fedora) ``` sudo sh -c 'sed -i "/# Hosts Start/Q" /etc/hosts && curl https://gitee.com/it155/changehosts/raw/master/github >> /etc/hosts' ``` #### BSD/macOS ``` sed -i "" "/# Hosts Start/,/# Hosts End/d" /etc/hosts && curl https://gitee.com/it155/changehosts/raw/master/github >> /etc/hosts ``` 将上面的命令添加到 cron,可定时执行。使用前确保 Hosts 内容在该文件最后部分。 #### 在 Dcker 中运行,若遇到 `Device or resource busy` 错误,可使用以下命令执行 ``` cp /etc/hosts ~/hosts.new && sed -i "/# Hosts Start/Q" ~/hosts.new && curl https://gitee.com/it155/changehosts/raw/master/github >> ~/hosts.new && cp -f ~/hosts.new /etc/hosts ```