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 架构最佳实践(十二)
可靠性 基本概念 可靠性 系统从基础设施或服务故障中恢复.动态获取计算资源以满足需求减少中断的能力 系统为最坏情况做好准备,对不同组件实施缓解措施,对恢复程序进行提前测试并且自动执行. 可靠性实践 测 ...
随机推荐
- 临时解决Apache服务器假死的参数配置
<IfModule mpm_prefork_module> StartServers MinSpareServers MaxSpareServers MaxClients MaxReque ...
- 使用monkey技术修改python requests模块
例如请求前和请求后各来一条日志,这样就不需要在自己的每个代码都去加日志了. 其实也可以直接记录'urllib3.connectionpool' logger name的日志. 修改了requests ...
- javascript的闭包计数器实现,python实现各种方法来实现计数器
菜鸟教程的javascript闭包章节中,演示了js计数器的实现. 教程地址 http://www.runoob.com/js/js-function-closures.html 代码1 var ...
- MyBatis入门程序之Mapper代理方式
Mapper代理的开发方式,程序员只需要编写mapper接口(相当于dao接口)即可,MyBatis会自动为mapper接口生成动态代理实现类. 一.开发规范 1.mapper接口的全限定名要和map ...
- Python中的yield和Generators(生成器)
本文目的 解释yield关键字到底是什么,为什么它是有用的,以及如何来使用它. 协程与子例程 我们调用一个普通的Python函数时,一般是从函数的第一行代码开始执行,结束于return语句.异常或者函 ...
- linux下jdk简单配置记录
记录哈,搭建环境的时候,copy使用方便. vim /etc/profile export JAVA_HOME=/usr/java/jdk1.7.0_79export PATH=$JAVA_HOME/ ...
- Nginx 用户认证
访问一些比较私密的页面 ( 如管理后台,数据后台 ) 时,我们就可以设置访问该页面时需要使用用户名和密码进行验证,这就是用户认证 [root@localhost ~]$ cat /usr/local/ ...
- 搭建ntp服务器
1.同步网络时间 先关闭掉ntp服务,使用ntpd同步网络时间. /etc/init.d/ntpd stop ntpdate 2.hk.pool.ntp.org 网络时间可以从http://www.p ...
- C语言从零开始(十四)-字符串处理
在软件开发过程中,字符串的操作相当频繁.在标准C语言库中提供了很多字符串处理的函数.今天我们来介绍一些常用的字符串处理函数.1. 字符串输入输出1.1 printf() scanf() 之前我们学习过 ...
- mysql存储过程中使用事务
DROP PROCEDURE IF EXISTS test_sp1 CREATE PROCEDURE test_sp1( ) BEGIN ; ; START TRANSACTION; INSERT I ...