关于信息开发环境包下载过慢的解决方案

在此之前,你可能需要阅读《这本书能让你连接互联网》作为知识前提。

进入GitHub

网速慢或被封锁,github.com.cnpmjs.orghub.fastgit.org在这个镜像地址登录访问、下载也是可以的。

然后是使用淘宝源加快国内git下载:https://npm.taobao.org/mirrors/git-for-windows ,npm/yarn下载组件方面,均可使用淘宝镜像

1
2
npm install -g cnpm --registry=https://registry.npm.taobao.org
yarn config set registry https://registry.npm.taobao.org

GitHub下载

将以下host复制进C:\Windows\System32\drivers\etc\hosts,再使用命令行输入ipconfig /flushdns刷新dns缓存。目的:此host只为解除GFW对GitHub(asw、ssh)下载及克隆的网络限制干扰(不排除服务器吞吐、光缆受地理限制等原因)

如果某条hosts的IP、域名变更,而又没及时更新容易引发浏览器的连接错误重置指向,造成站点无法访问, 详情 GitHub RST与Git SSL_ERR_SYSCALL综合分析

关于releases,它可以是压缩包如zip、7z等格式;也可以是软体程式,比方说:exe、msi

  1. 打开www.ipaddress.com,查询以下链接的DNS解析地址

    1
    2
    3
    4
    5
    6
     github.com
     assets-cdn.github.com
     github.global.ssl.fastly.net
    
     # 下载链接 raw.githubusercontent.com 的实际地址
     codeload.github.com
    
  2. 记录下查询到的IP地址,并添加进入C:\Windows\System32\drivers\etc\Hosts文件

  3. 添加 aws host

1
2
 219.76.4.4 s3.amazonaws.com
 219.76.4.4 github-cloud.s3.amazonaws.com
  1. 运行cmd输入ipconfig /flushdns 指令刷新系统DNS

我们也可利用jsDelivr CDN加速进行下载文件,也可借此搭建访问速度加快的图床;还有站点加速下载也可试试:

  • https://toolwa.com/github/
  • http://g.widyun.com/
  • https://shrill-pond-3e81.hunsh.workers.dev/
  • http://www.toolzl.com/tools/githubjiasu.html

再使用chrome扩展 GitHub加速 + IDM/FDM 强强联合🤣

GitHub.io 解析

raw/avatars.githubusercontent.com 无法解析

除了host外,还可以配置国内知名的dns进行解析;因为1.1.1.1不一定好使,所以就用国内的。

  • 百度DNS:180.76.76.76
  • 阿里DNS:223.5.5.5、223.6.6.6
  • 腾讯DNS:119.29.29.29、182.254.116.116

NET::ERR_CERT_AUTHORITY_INVALID

浏览器会额外提示:攻击者可能试图从 xxx.github.io 窃取你的信息,此服务器无法证明它是 xxx.github.io;你的计算机的操作系统不信任它的安全证书。这可能是由配置错误或者有攻击者截获你的连接而导致的。当继续访问时又会403。

解招!:更改为如上提供的百度、阿里、腾讯DNS,再用ipconfig/flushdns 刷新缓存。原因简述:ISP提供的DNS发送错误的根证书,换成能向访问网站提供正确证书的第三方DNS。

Git Clone 龟速问题

浅克隆

git clone 默认会下载项目的完整历史版本,若只关心最新的代码,而不关心之前的历史,可以使用浅复制功能:

1
$ git clone --depth=1  https://github.com/你的用户名/你的repo.git

--depth=1 表示只下载最近一次的版本,使用浅复制可以大大减少下载的数据量,这样即使在红色网络环境下,也可以快速的获得代码;若之后想获取完整历史信息,可以使用指令 $ git fetch --unshallow

git ssh方面: https://github.zhlh6.cn/ 加快速度。

Git或终端代理方案

git

1
2
3
4
5
6
7
# 代理设置
git config --global http.proxy 'socks5://127.0.0.1:1080'
git config --global https.proxy 'socks5://127.0.0.1:1080'
# 取消代理
git config --global --unset https.proxy 'socks5://127.0.0.1:1080'
git config --global --unset http.proxy 'socks5://127.0.0.1:1080'

mac

1
2
3
4
5
6
7
8
9

# mac 终端

export http_proxy="socks5://127.0.0.1:1080"
export https_proxy="socks5://127.0.0.1:1080"

## 在 .bashrc 或 .zshrc 中设置
alias setproxy="export ALL_PROXY=socks5://127.0.0.1:1080"
alias unsetproxy="unset ALL_PROXY"

openssh

1
2
3
4
5
6
7
8
9

# github ssh 配置
## https://help.github.com/articles/using-ssh-over-the-https-port/

# HTTP 代理
ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=8848

# socks5 代理
 ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

反向代理加速 —— Static CDN,用来加载图片、内容等:

  • raw.githubusercontent.com 替换raw.staticdn.net

环境包加速

pip

由于部分项目需用到python,因附pip下载加速;pip install 想要安装文件 -i 镜像源地址 指令格式,以镜像源安装。

例:安装jupyter pip install jupyter - i http://mirrors.aliyun.com/pypi/simple/

国内常用pip源:

  • 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
  • 中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
  • 阿里云 http://mirrors.aliyun.com/pypi/simple/
  • 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
  • 豆瓣 http://pypi.douban.com/simple/

设定默认值,一劳永逸

1
2
pip install pip -U
pip config set global.index-url https://pypi.douban.com/simple/

gem

1
2
gem sources --remove https://rubygems.org/  #移除默认源
gem sources -a https://mirrors.ustc.edu.cn/rubygems/  #添加科大源

npm

1
2
npm config set registry https://registry.npm.taobao.org
npm config get registry

总结

环境包下载无非三个问题:

  • 镜像源
  • 代理&VPN,以及hosts
  • 包、库文件的互相对应的版本