Git Product home page Git Product logo

fastgithub's Introduction

FastGithub

github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。

1 程序下载

如果不能下载releases里发布的程序,可以到Q群307306673里面的群文件下载。

2 部署方式

2.1 windows-x64

  • 双击运行fastgithub.exe程序
  • fastgithub.exe start // 以windows服务安装并启动
  • fastgithub.exe stop // 以windows服务卸载并删除

2.2 linux-x64

  • 执行./fastgithub
  • 安装cacert/fastgithub.cer到受信任的根证书颁发机构
  • 设置系统自动代理为http://127.0.0.1:38457,或手动代理http/https为127.0.0.1:38457

2.3 macOS-x64

  • 双击运行fastgithub程序
  • 安装cacert/fastgithub.cer并设置信任
  • 设置系统自动代理为http://127.0.0.1:38457,或手动代理http/https为127.0.0.1:38457
  • 具体配置详情

3 加速原理

3.1 windows

  1. 客户端访问https://github.com
  2. 客户端向dns查询github.com的ip,FastGithub拦截dns数据包并伪造解析结果为127.0.0.1
  3. 客户端请求到FastGithub的https://127.0.0.1:443
  4. FastGithub使用fastgithub.cer颁发服务器证书给客户端
  5. FastGithub查询和计算github.com最快的ip
  6. FastGithub与github.com进行无sni的tls连接
  7. FastGithub将请求反向代理到https://github.com

3.2 linux/osx

  1. 客户端访问https://github.com
  2. 客户端使用fagithub的代理端口38457代理请求
  3. FastGithub将代理的流量请求到自身的反向代理服务
  4. FastGithub使用fastgithub.cer颁发服务器证书给客户端
  5. FastGithub查询和计算github.com最快的ip
  6. FastGithub与github.com进行无sni的tls连接
  7. FastGithub将请求反向代理到https://github.com

4 证书验证

4.1 git

git操作提示SSL certificate problem
需要关闭git的证书验证:git config --global http.sslverify false

4.2 firefox

firefox提示连接有潜在的安全问题
设置->隐私与安全->证书->查看证书->证书颁发机构,导入cacert/fastgithub.cer,勾选“信任由此证书颁发机构来标识网站”

5 安全性说明

FastGithub为每台不同的主机生成自颁发CA证书,保存在cacert文件夹下。客户端设备需要安装和无条件信任自颁发的CA证书,请不要将证书私钥泄露给他人,以免造成损失。

6 合法性说明

《国际联网暂行规定》第六条规定:“计算机信息网络直接进行国际联网,必须使用邮电部国家公用电信网提供的国际出入口信道。任何单位和个人不得自行建立或者使用其他信道进行国际联网。” FastGithub本地代理使用的都是“公用电信网提供的国际出入口信道”,从国外Github服务器到国内用户电脑上FastGithub程序的流量,使用的是正常流量通道,其间未对流量进行任何额外加密(仅有网页原有的TLS加密,区别于VPN的流量加密),而FastGithub获取到网页数据之后发生的整个代理过程完全在国内,不再适用国际互联网相关之规定。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.