|
@@ -1,102 +0,0 @@
|
|
|
-
|
|
|
-#!/usr/bin/env python
|
|
|
-# -*- encoding: utf-8 -*-
|
|
|
-'''
|
|
|
-@Author : liuyuqi
|
|
|
-@Contact : liuyuqi.gov@msn.cn
|
|
|
-@Time : 2020/04/26 23:01:40
|
|
|
-@Version : 1.0
|
|
|
-@License : Copyright © 2017-2020 liuyuqi. All Rights Reserved.
|
|
|
-@Desc : github.com
|
|
|
-'''
|
|
|
-
|
|
|
-import shutil
|
|
|
-import os,sys,ctypes
|
|
|
-import datetime
|
|
|
-import get_ip_utils
|
|
|
-import platform
|
|
|
-
|
|
|
-# 需要获取ip的网址
|
|
|
-sites = [
|
|
|
- "github.global.ssl.fastly.net",
|
|
|
- "assets-cdn.github.com",
|
|
|
- "documentcloud.github.com",
|
|
|
- "gist.github.com",
|
|
|
- "gist.githubusercontent.com",
|
|
|
- "github.githubassets.com",# 很卡
|
|
|
- "help.github.com",
|
|
|
- "nodeload.github.com",
|
|
|
- "raw.github.com",
|
|
|
- "status.github.com",
|
|
|
- "training.github.com",
|
|
|
- "avatars.githubusercontent.com",
|
|
|
- "avatars0.githubusercontent.com",
|
|
|
- "avatars1.githubusercontent.com",
|
|
|
- "avatars2.githubusercontent.com",
|
|
|
- "avatars3.githubusercontent.com",
|
|
|
- "avatars4.githubusercontent.com",
|
|
|
- "avatars5.githubusercontent.com",
|
|
|
- "avatars6.githubusercontent.com",
|
|
|
- "avatars7.githubusercontent.com",
|
|
|
- "avatars8.githubusercontent.com",
|
|
|
- "favicons.githubusercontent.com",
|
|
|
- "codeload.github.com",
|
|
|
- "github-cloud.s3.amazonaws.com",
|
|
|
- "github-com.s3.amazonaws.com",
|
|
|
- "github-production-release-asset-2e65be.s3.amazonaws.com",
|
|
|
- "github-production-user-asset-6210df.s3.amazonaws.com",
|
|
|
- "github-production-repository-file-5c1aeb.s3.amazonaws.com",
|
|
|
- "githubstatus.com",
|
|
|
- "github.community",
|
|
|
- "media.githubusercontent.com",
|
|
|
- "camo.githubusercontent.com",
|
|
|
- "raw.githubusercontent.com",
|
|
|
- "cloud.githubusercontent.com",
|
|
|
- "user-images.githubusercontent.com",
|
|
|
- "customer-stories-feed.github.com",
|
|
|
- "pages.github.com",
|
|
|
- "api.github.com",
|
|
|
- "live.github.com",
|
|
|
- "githubapp.com",
|
|
|
- "github.dev",
|
|
|
- "github.com"
|
|
|
-]
|
|
|
-
|
|
|
-addr2ip = {}
|
|
|
-hostLocation = r"hosts"
|
|
|
-
|
|
|
-def dropDuplication(line):
|
|
|
- flag = False
|
|
|
- if "#*******" in line:
|
|
|
- return True
|
|
|
- for site in sites:
|
|
|
- if site in line:
|
|
|
- flag = flag or True
|
|
|
- else:
|
|
|
- flag = flag or False
|
|
|
- return flag
|
|
|
-
|
|
|
-# 更新host, 并刷新本地DNS
|
|
|
-def updateHost():
|
|
|
- today = datetime.date.today()
|
|
|
- for site in sites:
|
|
|
- trueip=get_ip_utils.getIpFromipapi(site)
|
|
|
- if trueip != None:
|
|
|
- addr2ip[site] = trueip
|
|
|
- print(site + "\t" + trueip)
|
|
|
- with open(hostLocation, "r") as f1:
|
|
|
- f1_lines = f1.readlines()
|
|
|
- with open("temphost", "w") as f2:
|
|
|
- for line in f1_lines: # 为了防止 host 越写用越长,需要删除之前更新的含有github相关内容
|
|
|
- if dropDuplication(line) == False:
|
|
|
- f2.write(line)
|
|
|
- f2.write("#*********************github " +
|
|
|
- str(today) + " update********************\n")
|
|
|
- f2.write("#******* get latest hosts: http://blog.yoqi.me/lyq/16489.html\n")
|
|
|
- for key in addr2ip:
|
|
|
- f2.write(addr2ip[key] + "\t" + key + "\n")
|
|
|
- os.remove(hostLocation)
|
|
|
- os.rename("temphost",hostLocation)
|
|
|
-
|
|
|
-if __name__ == "__main__":
|
|
|
- updateHost()
|