终端加速 GitHub 方法的前置条件,

一是购买了加速服务或者租用 VPS 搭建加速服务,

二是系统是 macOS,

三是终端是 iTerm,

四是 Shell 是 zsh。

终端加速 GitHub,需要明确的是,http_proxy 和 https_proxy 的方法是无效的。最佳实践有两种方法,一是使用 proxychains,二是为 Git 配置代理。

终端加速 GitHub 方法一:使用 proxychains

1、关闭 SIP

macOS 10.11 后下由于开启了 SIP 会导致命令行下 proxychains 代理的模式失效,如果你要使用 proxychains 这种简单的方法,就需要先关闭 SIP。

具体的关闭方法如下:在恢复模式下,终端里输入 csrutil enable --without debug 来部分关闭 SIP.

 

恢复模式重启进入系统后,终端里输入 csrutil status,结果中如果有 Debugging Restrictions: disabled 则说明关闭成功。

2、安装 Proxychains

安装好 Homebrew 后,终端中输入 brew install proxychains-ng

将 /usr/local/etc/proxychains.conf 中的配置替换为

strict_chain
quiet_mode
proxy_dns
remote_dns_subnet
tcp_read_time_out
tcp_connect_time_out
localnet 127.0.0.0/255.0.0.0
localnet 10.0.0.0/255.0.0.0
localnet 172.16.0.0/255.240.0.0
localnet 192.168.0.0/255.255.0.0 [ProxyList]
http 127.0.0.1

然后在需要走代理的命令前加上 proxychains4 即可,如

proxychains4 brew update

当然,你也可以像我这样做个自定义配置,在 ~/.zshrc 末尾加入如下行:

alias fuckgfw='proxychains4'

上一条命令就是这样:fuckgfw brew update,是的,Fuck GFW!

终端加速 GitHub 方法二:为 Git 配置代理

Git 比较特殊,使用环境变量的方法并没有用,只有 proxychains 有效,如果不想使用 proxychains,可以对照本教程进行配置。

对于 HTTP/HTTPS 协议,比如 git clone https://github.com/github/hub.git,使用下面的命令为 github.com 域名配置代理。

git config --global http.https://github.com.proxy http://127.0.0.1:1235

对于 SSH 协议,比如 git clone git@github.com:github/hub.git,需要在文件 ~/.ssh/config 中添加

host github.com
ProxyCommand /usr/bin/nc -X connect -x 127.0.0.1: %h %p

相应的配置完成后,git clone 就会使用代理了。

终端可以呼呼地使用 GitHub,那网页呢,也很简单,且听。

网页加速 GitHub 方法的前置条件,一是购买了加速服务或者租用 VPS 搭建加速服务,二是系统是 macOS 或者 Win,三是浏览器是 Chrome。

网页加速 GitHub 方法一:macOS + Chrome

macOS 使用 Chrome 访问 GitHub,可以使用 Surge for Mac 或者 GoAgentX,具体的教程就此打住。

网页加速 GitHub 方法二:PC + Chrome

PC 可以使用 Shadowsocks for Windows,然后 Shadowsocks 设置为全局代理,接着 Chrome 安装插件 Proxy SwitchyOmega,新建 Proxy Profile,选择 http,输入 127.0.0.1,端口为 Shadowsocks 代理的端口,最后 Chrome 点击 Proxy SwitchyOmega 图标,切换至新建的 Proxy Profile 即可。

GitHub 终端加速最佳实践的更多相关文章

  1. github中fork分支和pullrequest的最佳实践

    github中fork分支和pullrequest的最佳实践 */--> code {color: #FF0000} pre.src {background-color: #002b36; co ...

  2. GitHub 热点速览 Vol.23:前后端最佳实践

    作者:HelloGitHub-小鱼干 摘要:最佳实践,又名 best-practices,是 GitHub 常见的项目名,也是本周 Trending 关键词.25 年 Python 开发经验的 Dav ...

  3. (转)RESTful API 设计最佳实践

    原文:http://www.oschina.net/translate/best-practices-for-a-pragmatic-restful-api 数据模型已经稳定,接下来你可能需要为web ...

  4. RESTful服务最佳实践

    本文主要读者 引言 REST是什么 统一接口 基于资源 通过表征来操作资源 自描述的信息 超媒体即应用状态引擎(HATEOAS) 无状态 可缓存 C-S架构 分层系统 按需编码(可选) REST快速提 ...

  5. mybatis 3.x源码深度解析与最佳实践(最完整原创)

    mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...

  6. Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)

    Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...

  7. Gradle配置最佳实践

    https://blog.csdn.net/devilnov/article/details/53321164 本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issu ...

  8. RESTful服务最佳实践(转)

    原文:https://www.cnblogs.com/jaxu/p/7908111.html 译文作者:Jaxu 英文原文:https://files-cdn.cnblogs.com/files/ja ...

  9. AWS 架构最佳实践(十二)

    可靠性 基本概念 可靠性 系统从基础设施或服务故障中恢复.动态获取计算资源以满足需求减少中断的能力 系统为最坏情况做好准备,对不同组件实施缓解措施,对恢复程序进行提前测试并且自动执行. 可靠性实践 测 ...

随机推荐

  1. IIS------如何占用80端口

    如何占用80端口 请看我的一篇随笔: https://www.cnblogs.com/tianhengblogs/p/9292347.html

  2. [转]mac osx 下的apt-get,yum的代替工具 ----homebrew

    原文地址:http://blog.csdn.net/tsxw24/article/details/15500517 linux下有很方便的包管理器如:apt-get.yum,mac下也有类似的工具:H ...

  3. css媒体查询移动优先和pc优先

    移动优先,默认你是用手机浏览该网页的,当你用pc浏览时,就会以min-width进行递增式媒体查询 <!DOCTYPE html> <html lang="en" ...

  4. js实现点击评论进行显示回复框

    有人在群里问如何在留言评论那里点击回复按钮,下面就自动显示一个回复框,他想要的效果如图: 于是我随意的写了一段HTML,代码如下: <!DOCTYPE HTML> <html lan ...

  5. 有人在群里问mysql如何选择性更新部分条件的问题

    有人在群里问这个问题 update xt_kh set zhye=zhye+1,hzyj=hzyj+1 where dlgh='kiss0451' and hzms=1 如果这样写 hzms不等于1的 ...

  6. eclipse 安装 ndk 组件

    新安装的eclipse没有ndk组件, 我使用的安装包是:android-ndk32-r10b-windows-x86_64.zip,打开preferences如下

  7. C++ mysql 乱码

    C++读mysql数据库中的中文显示出来的是乱码 在连接到数据库后加上这么一句 mysql_query(pMYSQL, "SET NAMES GB2312"); 或者 mysql_ ...

  8. pycharm 激活

    方法1: (1)更新**hosts**文件 [hosts文件百度云下载地址](https://pan.baidu.com/s/1o9ZujxS) **hosts**文件在windows中的地址为: C ...

  9. linux修改文件所属用户和用户组

    使用chown命令可以修改文件或目录所属的用户:       命令:chown 用户 目录或文件名       例如:chown testAdmin /home/work  (把home目录下的xua ...

  10. HttpClient(二)-- 模拟浏览器抓取网页

    一.设置请求头消息 User-Agent模拟浏览器 1.当使用第一节的代码 来 访问推酷的时候,会返回给我们如下信息: 网页内容:<!DOCTYPE html> <html> ...