Skip to content

利用Python程序,从GitHub520项目中爬取最新ip地址并且自动定期修改

Notifications You must be signed in to change notification settings

Aegis1863/Auto-Change-Github-Hosts

 
 

Repository files navigation

GitHub520


HelloGitHub 分享 GitHub 上有趣、入门级的开源项目。
兴趣是最好的老师,这里能够帮你找到编程的兴趣!

一、介绍

对 GitHub 说"爱"太难了:访问慢、图片加载不出来。

注: 本项目还处于测试阶段,仅在本机测试通过,如有问题欢迎提 issues


本项目无需安装任何程序,通过修改本地 hosts 文件,试图解决:

  • GitHub 访问速度慢的问题
  • GitHub 项目中的图片显示不出的问题

花 5 分钟时间,让你"爱"上 GitHub。

二、使用方法

2.1 复制下面的内容

# GitHub520 Host Start
185.199.108.154               github.githubassets.com
199.232.68.133                camo.githubusercontent.com
199.232.68.133                github.map.fastly.net
199.232.69.194                github.global.ssl.fastly.net
140.82.112.3                  github.com
140.82.114.5                  api.github.com
199.232.68.133                raw.githubusercontent.com
199.232.68.133                user-images.githubusercontent.com
199.232.68.133                favicons.githubusercontent.com
199.232.68.133                avatars5.githubusercontent.com
199.232.68.133                avatars4.githubusercontent.com
199.232.68.133                avatars3.githubusercontent.com
52.188.204.90                 avatars2.githubusercontent.com
199.232.68.133                avatars1.githubusercontent.com
199.232.68.133                avatars0.githubusercontent.com
# Star me GitHub url: https://github.com/521xueweihan/GitHub520
# GitHub520 Host End

上面内容会自动定时更新,保证最新有效。数据更新时间:2020-07-26T14:12:56+08:00(内容无变动不会更新)

2.1 手动方式

2.1.1 修改 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.2 激活生效

大部分情况下是直接生效,如未生效可尝试下面的办法,刷新 DNS:

  1. Windows:在 CMD 窗口输入:ipconfig /flushdns

  2. Linux 命令:sudo rcnscd restart

  3. Mac 命令:sudo killall -HUP mDNSResponder

Tips: 上述方法无效可以尝试重启机器。

2.2 自动方式

2.2.1使用软件[SwitchHosts]

Tip:推荐 SwitchHosts 工具管理 hosts

以 SwitchHosts 为例,看一下怎么使用的,配置参考下面:

  • Title: 随意

  • Type: Remote

  • URL: https://gitee.com/xueweihan/codes/6g793pm2k1hacwfbyesl464/raw?blob_name=GitHub520.yml

  • Auto Refresh: 最好选 1 hour

如图:

这样每次 hosts 有更新都能及时进行更新,免去手动更新。

2.2.2 使用Python脚本
该方法的基本思路:
  1. 利用Python爬虫取得GitHub520中更新的hosts,并更新hosts文件
  2. 利用Windows的计划任务实现每小时自动运行一次脚本
具体步骤:
  1. Python自动修改hosts的脚本已经写好,即ChangeHosts.py,需要下载到自己的电脑中
  2. 修改hosts需要管理员权限,方法如图:

  1. 设定计划任务,一般情况只能每天运行一次,每小时运行一次的方法参考CSDN链接:利用windows计划任务实现每小时甚至每分钟运行一次你的Python代码,修改完毕后效果如图:

注意:
  1. ChangeHosts.py脚本设定的是运行完毕之后等待3秒自动结束(time.sleep(3)),可以在源码中取消等待(取消time.sleep(3)和import time)。
  2. 在运行程序前,您务必将hosts文件内容的文本替换为“hosts_样例”中的文本,如果您不替换,就需要自行修改代码配适,否则会造成hosts文本内容紊乱

三、效果对比

之前的样子:

修改完 hosts 的样子:

TODO

  • 定时自动更新 hosts 内容
  • hosts 内容无变动不会更新
  • 寻到最优 IP 解析结果

声明

知识共享许可协议
本作品采用 署名-非商业性使用-禁止演绎 4.0 国际 进行许可。

About

利用Python程序,从GitHub520项目中爬取最新ip地址并且自动定期修改

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%