GitHub 终端加速最佳实践
终端加速 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 终端加速最佳实践的更多相关文章
- github中fork分支和pullrequest的最佳实践
github中fork分支和pullrequest的最佳实践 */--> code {color: #FF0000} pre.src {background-color: #002b36; co ...
- GitHub 热点速览 Vol.23:前后端最佳实践
作者:HelloGitHub-小鱼干 摘要:最佳实践,又名 best-practices,是 GitHub 常见的项目名,也是本周 Trending 关键词.25 年 Python 开发经验的 Dav ...
- (转)RESTful API 设计最佳实践
原文:http://www.oschina.net/translate/best-practices-for-a-pragmatic-restful-api 数据模型已经稳定,接下来你可能需要为web ...
- RESTful服务最佳实践
本文主要读者 引言 REST是什么 统一接口 基于资源 通过表征来操作资源 自描述的信息 超媒体即应用状态引擎(HATEOAS) 无状态 可缓存 C-S架构 分层系统 按需编码(可选) REST快速提 ...
- mybatis 3.x源码深度解析与最佳实践(最完整原创)
mybatis 3.x源码深度解析与最佳实践 1 环境准备 1.1 mybatis介绍以及框架源码的学习目标 1.2 本系列源码解析的方式 1.3 环境搭建 1.4 从Hello World开始 2 ...
- Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(二)
Asp.NetCore程序发布到CentOs(含安装部署netcore)--最佳实践(一) 接上一篇 3. Nginx配置反向代理 3.1 cnetos 安装nginx 首先,我们需要在服务器上安装N ...
- Gradle配置最佳实践
https://blog.csdn.net/devilnov/article/details/53321164 本文会不定期更新,推荐watch下项目.如果喜欢请star,如果觉得有纰漏请提交issu ...
- RESTful服务最佳实践(转)
原文:https://www.cnblogs.com/jaxu/p/7908111.html 译文作者:Jaxu 英文原文:https://files-cdn.cnblogs.com/files/ja ...
- AWS 架构最佳实践(十二)
可靠性 基本概念 可靠性 系统从基础设施或服务故障中恢复.动态获取计算资源以满足需求减少中断的能力 系统为最坏情况做好准备,对不同组件实施缓解措施,对恢复程序进行提前测试并且自动执行. 可靠性实践 测 ...
随机推荐
- 【2018年12月05日】滚动市盈率PE最低排名
深康佳A(SZ000016) - 滚动市盈率PE:1.69 - 滚动市净率PB:1.13 - 滚动年化股息收益率:4.31% - 消费电子产品 - 深康佳A(SZ000016)的历史市盈率走势图 新钢 ...
- 详解js中的apply与call的用法
前言 call 和 apply 都是为了改变某个函数运行时的 context 即上下文而存在的,换句话说,就是为了改变函数体内部 this 的指向.call 和 apply二者的作用完全一样,只是接受 ...
- 个人Android开发习惯[转载]
以下内容转载自牛人博客,很多牛叉内容,请点击:http://www.stay4it.com/?p=281 Android三年,现在写代码,真心没什么很大的兴趣,每天都是优化代码,优化框架,技术支持.非 ...
- PMP模拟考试-2
1. Increasing resources on the critical path activities may not always shorten the length of the pro ...
- ios开发之--实现TextView提示文字并且输入字数限制
实现字数控制和限制,并展示当前输入的字符串长度,以及按钮的点击状态,代码如下: 1,设置代理 @interface FKViewController ()<UITextViewDelegate& ...
- 在oracle配置mysql数据库的dblink
本文介绍如何在oracle配置mysql数据库的dblink:虽然dblink使用很占资源:俗称“性能杀手”.但有些场景不得不使用它.例如公司使用数据库是oracle:可能其他部门或者CP合作公司使用 ...
- SpringBoot(三)-- 整合FreeMarker模板
1.pom依赖 <!-- 引入freeMarker的依赖包. --> <dependency> <groupId>org.springframework.boot& ...
- [C] scanf - 格式输入函数
scanf 函数称为格式输入函数,即把用户键盘输入的内容保存到指定的变量中. scanf 函数签名 scanf("格式控制字符串", 变量地址列表) scanf 函数是一个标准库函 ...
- codeblocks编译pthread多线程问题
默认的编译选项是没有pthread的,所以要自己添加: 参考:http://hi.baidu.com/u_soa/item/9d6cc40b7e9d76eb3499024d 错误: undefined ...
- SVN的基本原理 配置自动更新WEB服务器
SVN的基本原理 配置自动更新WEB服务器 最近有个小项目,需要用SVN来进行版本控制.项目组的同僚有8个人,大家都在本地开发,然后提交到服务器——服务器就是其中一台机器.专门安排一个测试员来进行项目 ...