终端加速 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. 处理执行sql语句

    sqlplus / as sysdba @1.sqlsqlplus / as sysdba @2.sqlsqlplus / as sysdba @3.sql

  2. 关于 wsdl2Java 自动生成客户端调取webservice接口

    webservice地址:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl wsdl2Java 自动生成类名: 客户端调 ...

  3. IOS UILineBreakMode的各种情况分析

    typedef enum {    UILineBreakModeWordWrap = 0,    UILineBreakModeCharacterWrap,    UILineBreakModeCl ...

  4. Okhttp封装、网络层扩展

    一.概述 首先在这里本片文章是以网络通信封装为主,而app开发首先重要就是网络通信,而如今主流的async.volley.okhttp等,阿么这么网络库怎样能做到更好封装.更好的切换,从而不影响业务层 ...

  5. 8 -- 深入使用Spring -- 7...2 MVC框架与Spring整合的思考

    8.7.2 MVC 框架与Spring整合的思考 对于一个基于B/S架构的JAVA EE 应用而言,用户请求总是向MVC框架的控制器请求,而当控制器拦截到用户请求后,必须调用业务逻辑组件来处理用户请求 ...

  6. Splash 对象属性

    args js_enabled resource_timeout images_enabled plugins_enabled scroll_position

  7. C#编码习惯谈

    1.  避免将多个类放在一个文件里面.2.  一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面.3.  一个文件最好不要超过500行的代码(不包括机器产生的代码).4.  一个方法的 ...

  8. XPath的初步认识

    嘿嘿,最近开始上班,不是过于太忙,而是自己一直在学习一些项目中用到的而我暂时还没接触的知识,WCF,log4等,感觉还没有总结的需要吧,虽然都了解啦,但是暂时还是初步的学习,基础的暂时是知道啦,还没有 ...

  9. javascript的初步认识

    把握自己,就是时时拥有一颗清澈的心,拥有一片明朗的情怀.嘿嘿,我们在2014-2015的跨度里,我们休息了的四天,今天又回到了学习的阶段,敲起来键盘突然有点陌生,想一想时间真的好快,在这里我们已经是跨 ...

  10. STL——序列式容器

    一.容器概述与分类 1. STL容器即是将运用最广的一些数据结构实现出来.常用的数据结构有array, list, tree, stack, queue, hash table, set, map…… ...