{"id":15130527,"url":"https://github.com/521xueweihan/github520","last_synced_at":"2025-05-13T15:05:43.387Z","repository":{"id":37294575,"uuid":"263556058","full_name":"521xueweihan/GitHub520","owner":"521xueweihan","description":":kissing_heart: 让你“爱”上 GitHub，解决访问时图裂、加载慢的问题。（无需安装）","archived":false,"fork":false,"pushed_at":"2025-05-12T22:06:07.000Z","size":11940,"stargazers_count":25622,"open_issues_count":10,"forks_count":2493,"subscribers_count":288,"default_branch":"main","last_synced_at":"2025-05-12T23:20:45.618Z","etag":null,"topics":["dns","github","hosts"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/521xueweihan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["521xueweihan"],"custom":["https://hellogithub.com/","https://mp.weixin.qq.com/s/xNpX3eCaWL_kNe8oZLxTWA"]}},"created_at":"2020-05-13T07:25:21.000Z","updated_at":"2025-05-12T22:06:11.000Z","dependencies_parsed_at":"2023-09-22T16:56:25.154Z","dependency_job_id":"dbc6e8c5-12f1-4e3c-93a7-aa64be3c0299","html_url":"https://github.com/521xueweihan/GitHub520","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/521xueweihan%2FGitHub520","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/521xueweihan%2FGitHub520/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/521xueweihan%2FGitHub520/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/521xueweihan%2FGitHub520/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/521xueweihan","download_url":"https://codeload.github.com/521xueweihan/GitHub520/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253969182,"owners_count":21992261,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dns","github","hosts"],"created_at":"2024-09-26T03:01:24.781Z","updated_at":"2025-05-13T15:05:43.370Z","avatar_url":"https://github.com/521xueweihan.png","language":"Python","readme":"# GitHub520\n\n\u003cp align=\"center\"\u003e\n\u003ca href=\"https://hellogithub.com/repository/d05ff820bf36470581c02cda5cbd17ea\" target=\"_blank\"\u003e\u003cimg src=\"https://api.hellogithub.com/v1/widgets/recommend.svg?rid=d05ff820bf36470581c02cda5cbd17ea\u0026claim_uid=8MKvZoxaWt\" alt=\"Featured｜HelloGitHub\" style=\"width: 250px; height: 54px;\" width=\"250\" height=\"54\" /\u003e\u003c/a\u003e\u003cbr\u003e\n😘 让你“爱”上 GitHub，解决访问时图裂、加载慢的问题。\n\u003c/p\u003e\n\n\u003e 💰服务器将于 2025-12-31 到期，续费需要 831 元/年 [点击扫码赞助](https://raw.hellogithub.com/code.png)，感谢🙏\n\n## 一、介绍\n对 GitHub 说\"爱\"太难了：访问慢、图片加载不出来。\n\n**本项目无需安装任何程序，仅需 5 分钟。**\n\n通过修改本地 hosts 文件，试图解决：\n- GitHub 访问速度慢的问题\n- GitHub 项目中的图片显示不出的问题\n\n让你\"爱\"上 GitHub。\n\n\n\n*注：* 本项目还处于测试阶段，仅在本机测试通过，如有问题欢迎提 [issues](https://github.com/521xueweihan/GitHub520/issues/new)\n\n\n## 二、使用方法\n\n下面的地址无需访问 GitHub 即可获取到最新的 hosts 内容：\n\n- 文件：`https://raw.hellogithub.com/hosts`\n- JSON：`https://raw.hellogithub.com/hosts.json`\n\n### 2.1 手动方式\n\n#### 2.1.1 复制下面的内容\n\n```bash\n# GitHub520 Host Start\n140.82.113.26                 alive.github.com\n20.205.243.168                api.github.com\n140.82.112.22                 api.individual.githubcopilot.com\n185.199.111.133               avatars.githubusercontent.com\n185.199.111.133               avatars0.githubusercontent.com\n185.199.111.133               avatars1.githubusercontent.com\n185.199.111.133               avatars2.githubusercontent.com\n185.199.111.133               avatars3.githubusercontent.com\n185.199.111.133               avatars4.githubusercontent.com\n185.199.111.133               avatars5.githubusercontent.com\n185.199.111.133               camo.githubusercontent.com\n140.82.112.22                 central.github.com\n185.199.111.133               cloud.githubusercontent.com\n20.205.243.165                codeload.github.com\n140.82.113.22                 collector.github.com\n185.199.111.133               desktop.githubusercontent.com\n185.199.111.133               favicons.githubusercontent.com\n20.205.243.166                gist.github.com\n3.5.11.184                    github-cloud.s3.amazonaws.com\n52.217.225.89                 github-com.s3.amazonaws.com\n3.5.28.155                    github-production-release-asset-2e65be.s3.amazonaws.com\n52.217.173.73                 github-production-repository-file-5c1aeb.s3.amazonaws.com\n3.5.12.80                     github-production-user-asset-6210df.s3.amazonaws.com\n192.0.66.2                    github.blog\n20.205.243.166                github.com\n140.82.112.17                 github.community\n185.199.109.154               github.githubassets.com\n151.101.193.194               github.global.ssl.fastly.net\n185.199.110.153               github.io\n185.199.111.133               github.map.fastly.net\n185.199.110.153               githubstatus.com\n140.82.112.26                 live.github.com\n185.199.111.133               media.githubusercontent.com\n185.199.111.133               objects.githubusercontent.com\n13.107.42.16                  pipelines.actions.githubusercontent.com\n185.199.111.133               raw.githubusercontent.com\n185.199.111.133               user-images.githubusercontent.com\n13.107.246.73                 vscode.dev\n140.82.113.21                 education.github.com\n185.199.111.133               private-user-images.githubusercontent.com\n\n\n# Update time: 2025-05-13T22:06:33+08:00\n# Update url: https://raw.hellogithub.com/hosts\n# Star me: https://github.com/521xueweihan/GitHub520\n# GitHub520 Host End\n\n```\n\n该内容会自动定时更新， 数据更新时间：2025-05-13T22:06:33+08:00\n\n#### 2.1.2 修改 hosts 文件\n\nhosts 文件在每个系统的位置不一，详情如下：\n- Windows 系统：`C:\\Windows\\System32\\drivers\\etc\\hosts`\n- Linux 系统：`/etc/hosts`\n- Mac（苹果电脑）系统：`/etc/hosts`\n- Android（安卓）系统：`/system/etc/hosts`\n- iPhone（iOS）系统：`/etc/hosts`\n\n修改方法，把第一步的内容复制到文本末尾：\n\n1. Windows 使用记事本。\n2. Linux、Mac 使用 Root 权限：`sudo vi /etc/hosts`。\n3. iPhone、iPad 须越狱、Android 必须要 root。\n\n#### 2.1.3 激活生效\n大部分情况下是直接生效，如未生效可尝试下面的办法，刷新 DNS：\n\n1. Windows：在 CMD 窗口输入：`ipconfig /flushdns`\n\n2. Linux 命令：`sudo nscd restart`，如报错则须安装：`sudo apt install nscd` 或 `sudo /etc/init.d/nscd restart`\n\n3. Mac 命令：`sudo killall -HUP mDNSResponder`\n\n**Tips：** 上述方法无效可以尝试重启机器。\n\n### 2.2 自动方式（SwitchHosts）\n\n**Tip**：推荐 [SwitchHosts](https://github.com/oldj/SwitchHosts) 工具管理 hosts\n\n以 SwitchHosts 为例，看一下怎么使用的，配置参考下面：\n\n- Hosts 类型: `Remote`\n\n- Hosts 标题: 随意\n\n- URL: `https://raw.hellogithub.com/hosts`\n\n- 自动刷新: 最好选 `1 小时`\n\n如图：\n\n![](./img/switch-hosts.png)\n\n这样每次 hosts 有更新都能及时进行更新，免去手动更新。\n\n### 2.3 一行命令\n\n#### Windows\n\n使用命令需要安装[git bash](https://gitforwindows.org/)\n复制以下命令保存到本地命名为**fetch_github_hosts**\n\n```shell\n_hosts=$(mktemp /tmp/hostsXXX)\nhosts=/c/Windows/System32/drivers/etc/hosts\nremote=https://raw.hellogithub.com/hosts\nreg='/# GitHub520 Host Start/,/# Github520 Host End/d'\n\nsed \"$reg\" $hosts \u003e \"$_hosts\"\ncurl \"$remote\" \u003e\u003e \"$_hosts\"\ncat \"$_hosts\" \u003e \"$hosts\"\n\nrm \"$_hosts\"\n```\n\n在**CMD**中执行以下命令，执行前需要替换**git-bash.exe**和**fetch_github_hosts**为你本地的路径，注意前者为windows路径格式后者为shell路径格式\n\n`\"C:\\Program Files\\Git\\git-bash.exe\" -c \"/c/Users/XXX/fetch_github_hosts\"`\n\n可以将上述命令添加到windows的task schedular（任务计划程序）中以定时执行\n\n#### GNU（Ubuntu/CentOS/Fedora）\n\n`sudo sh -c 'sed -i \"/# GitHub520 Host Start/Q\" /etc/hosts \u0026\u0026 curl https://raw.hellogithub.com/hosts \u003e\u003e /etc/hosts'`\n\n#### BSD/macOS\n\n`sudo sed -i \"\" \"/# GitHub520 Host Start/,/# Github520 Host End/d\" /etc/hosts \u0026\u0026 curl https://raw.hellogithub.com/hosts | sudo tee -a /etc/hosts`\n\n将上面的命令添加到 cron，可定时执行。使用前确保 GitHub520 内容在该文件最后部分。\n\n**在 Docker 中运行，若遇到 `Device or resource busy` 错误，可使用以下命令执行**\n\n`cp /etc/hosts ~/hosts.new \u0026\u0026 sed -i \"/# GitHub520 Host Start/Q\" ~/hosts.new \u0026\u0026 curl https://raw.hellogithub.com/hosts \u003e\u003e ~/hosts.new \u0026\u0026 cp -f ~/hosts.new /etc/hosts`\n\n### 2.4 AdGuard 用户（自动方式）\n\n在 **过滤器\u003eDNS 封锁清单\u003e添加阻止列表\u003e添加一个自定义列表**，配置如下：\n\n- 名称：随意\n\n- URL：`https://raw.hellogithub.com/hosts`（和上面 SwitchHosts 使用的一样）\n\n如图：\n\n![](./img/AdGuard-rules.png)\n\n更新间隔在 **设置 \u003e 常规设置 \u003e 过滤器更新间隔（设置一小时一次即可）**，记得勾选上 **使用过滤器和 Hosts 文件以拦截指定域名**\n\n![](./img/AdGuard-rules2.png)\n\n**Tip**：不要添加在 **DNS 允许清单** 内，只能添加在 **DNS 封锁清单** 才管用。 另外，AdGuard for Mac、AdGuard for Windows、AdGuard for Android、AdGuard for IOS 等等 **AdGuard 家族软件** 添加方法均类似。\n\n\n## 三、效果对比\n之前的样子：\n\n![](./img/old.png)\n\n修改完 hosts 的样子：\n\n![](./img/new.png)\n\n\n## TODO\n- [x] 定时自动更新 hosts 内容\n- [x] hosts 内容无变动不会更新\n- [x] 寻到最优 IP 解析结果\n\n## 声明\n\u003ca rel=\"license\" href=\"https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh\"\u003e\u003cimg alt=\"知识共享许可协议\" style=\"border-width: 0\" src=\"https://licensebuttons.net/l/by-nc-nd/4.0/88x31.png\"\u003e\u003c/a\u003e\u003cbr\u003e本作品采用 \u003ca rel=\"license\" href=\"https://creativecommons.org/licenses/by-nc-nd/4.0/deed.zh\"\u003e署名-非商业性使用-禁止演绎 4.0 国际\u003c/a\u003e 进行许可。\n","funding_links":["https://github.com/sponsors/521xueweihan","https://hellogithub.com/","https://mp.weixin.qq.com/s/xNpX3eCaWL_kNe8oZLxTWA"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F521xueweihan%2Fgithub520","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F521xueweihan%2Fgithub520","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F521xueweihan%2Fgithub520/lists"}