github加速軟件


github

https://github.com/docmirror/dev-sidecar

下載

https://github.com/docmirror/dev-sidecar/releases

dev-sidecar

開發者邊車,命名取自service-mesh的service-sidecar,意為為開發者打輔助的邊車工具
通過本地代理的方式將https請求代理到一些國內的加速通道上

star
GitHub stars

一、 特性

1、 dns優選(解決***污染問題)

  • 根據網絡狀況智能解析最佳域名ip地址,獲取最佳網絡速度
  • 解決一些網站和庫無法訪問或訪問速度慢的問題
  • 建議遇到打開比較慢的國外網站,可以優先嘗試將該域名添加到dns設置中(注意:被***封殺的無效)

2、 請求攔截

  • 攔截打不開的網站,代理到加速鏡像站點上去。
  • 可配置多個鏡像站作為備份
  • 具備測速機制,當訪問失敗或超時之后,自動切換到備用站點,使得目標服務高可用

3、 github加速

  • github 直連加速 (通過修改sni實現,感謝 fastGithub 提供的思路)
  • release、source、zip下載加速
  • clone 加速
  • 頭像加速
  • 解決readme中圖片引用無法加載的問題
  • gist.github.com 加速
  • 解決git push 偶爾失敗需要輸入賬號密碼的問題(fatal: TaskCanceledException encountered / fatal: HttpRequestException encountered)
  • raw/blame加速

以上部分功能通過X.I.U的油猴腳本實現, 以下是倉庫和腳本下載鏈接,大家可以去支持一下。

由於此腳本在ds中是打包在本地的,更新會不及時,你可以直接通過瀏覽器安裝油猴插件使用此腳本,從而獲得最新更新(ds本地的可以通過加速服務->基本設置->啟用腳本進行關閉)。

4、 Stack Overflow 加速

  • 將ajax.google.com代理到加速CDN上
  • recaptcha 圖片驗證碼加速

5、 npm加速

  • 支持開啟npm代理
  • 官方與淘寶npm registry一鍵切換,
  • 某些npm install的時候,並且使用cnpm也無法安裝時,可以嘗試開啟npm代理再試

安全警告

  • 請勿使用來源不明的服務地址,有隱私和賬號泄露風險
  • 本應用及服務端承諾不收集任何信息。介意者請使用安全模式。

二、快速開始

支持windows、Mac、Linux(Ubuntu)

DevSidecar桌面應用

1 下載安裝包

Windows: 請選擇DevSidecar-x.x.x.exe
Mac: 請選擇DevSidecar-x.x.x.dmg
Ubuntu: 請選擇DevSidecar-x.x.x.deb
其他linux: 請選擇DevSidecar-x.x.x.AppImage (未做測試,不保證能用)

linux安裝說明請參考 linux安裝文檔

注意:由於沒有買應用證書,所以應用在下載安裝時會有“未知發行者”等安全提示,選擇保留即可。

2 安裝后打開

注意:mac版安裝需要在“系統偏好設置->安全性與隱私->通用”中解鎖並允許應用安裝

3 安裝根證書

第一次打開會提示安裝證書,根據提示操作即可

更多有關根證書的說明,請參考 為什么要安裝根證書?

根證書是本地隨機生成的,所以不用擔心根證書的安全問題(本應用不收集任何用戶信息)
你也可以在加速服務設置中自定義根證書(PEM格式的證書與私鑰)

火狐瀏覽器需要手動安裝證書

4 開始加速吧

去試試打開github


第一次訪問會去國外的dns服務器上獲取ip,會比較慢一點,后面就快了


開啟前 vs 開啟后

開啟前 開啟后
頭像
clone
zip 下載 秒下的,實在截不到速度的圖

三、模式說明

安全模式

  • 此模式:關閉攔截、關閉增強、開啟dns優選、開啟測速
  • 最安全,無需安裝證書,可以在瀏覽器地址欄左側查看域名證書
  • 功能也最弱,只有特性1,相當於查詢github的國外ip,手動改hosts一個意思。
  • github的可訪問性不穩定,取決於IP測速,如果有綠色ip存在,就 有可能 可以直連訪問。

默認模式

  • 此模式:開啟攔截、關閉增強、開啟dns優選、開啟測速
  • 需要安裝證書,通過修改sni直連訪問github
  • 功能上包含特性1/2/3/4。

四、 最佳實踐

  • 把dev-sidecar一直開着就行了
  • 建議遇到打開比較慢的國外網站,可以嘗試將該域名添加到dns設置中(注意:被GFW封殺的無效)

其他加速

  1. git clone 加速

方式1:快捷復制:

開啟腳本支持,然后在復制clone鏈接下方,即可復制到加速鏈接

方式2:

使用方式用實際的名稱替換{}的內容,即可加速clone
https://hub.fastgit.org/{username}/{reponame}.git
clone 出來的 remote "origin" 為fastgit的地址,需要手動改回來
你也可以直接使用他們的clone加速工具 fgit-go

  1. github.com的鏡像網站(注意:不能登錄)
  1. hub.fastgit.org
  2. github.com.cnpmjs.org 這個很容易超限

五、api

攔截配置

沒有配置域名的不會攔截,其他根據配置進行攔截處理

const intercepts = {
  // 要攔截的域名
  'github.com': {
     //需要攔截url的正則表達式
     '/.*/.*/releases/download/': {
        //攔截類型
        // redirect:url,  臨時重定向(url會變,一些下載資源可以通過此方式配置)
        // proxy:url,     代理(url不會變,沒有跨域問題)
        // abort:true,    取消請求(適用於被GFW封鎖的資源,找不到替代,直接取消請求,快速失敗,節省時間)
        // success:true,  直接返回成功請求(某些請求不想發出去,可以偽裝成功返回)
        redirect: 'download.fastgit.org'
      },
      '.*':{
         proxy:'github.com', 
         sni:'baidu.com' //修改sni,規避***握手攔截
      }
   },
   'ajax.googleapis.com': {
     '.*': {
       proxy: 'ajax.loli.net', //代理請求,url不會變
       backup: ['ajax.proxy.ustclug.org'], //備份,當前代理請求失敗后,將會切換到備用地址
       test: 'ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js',
       replace:'/(.*)/xxx'//當加速地址的鏈接和原鏈接不是完全相同時,可以通過正則表達式replace,此時proxy通過$1$2來重組url, proxy:'ajax.loli.net/xxx/$1'
     }
   },
   'clients*.google.com': {
      '.*':{
        abort: true //取消請求,被GFW封鎖的資源,找不到替代,直接取消請求,快速失敗,節省時間
      }
    }       
}

DNS優選配置

某些域名解析出來的ip會無法訪問,(比如api.github.com會被解析到新加坡的ip上,新加坡的服務器在上午挺好,到了晚上就卡死,基本不可用)
通過從dns上獲取ip列表,切換不同的ip進行嘗試,最終會挑選到一個最快的ip

 dns: {
    mapping: {
      //
      'api.github.com': 'usa', // "解決push的時候需要輸入密碼的問題",
      'gist.github.com': 'usa' // 解決gist無法訪問的問題
      "*.githubusercontent.com": "usa" // 解決github頭像經常下載不到的問題
    }
  },

注意:暫時只支持IPv4的解析

六、問題排查

1、dev-sidecar的前兩個開關沒有處於打開狀態

  1. 嘗試將開關按鈕手動打開
  2. 請嘗試右鍵dev-sidecar圖標,點退出。再重新打開
  3. 如果還不行,請將日志發送給作者

如果是mac系統,可能是下面的原因

Mac系統使用時,首頁的系統代理開關無法打開

出現這個問題可能是沒有開啟系統代理命令的執行權限

networksetup -setwebproxy 'WiFi' 127.0.0.1 1181 
#看是否有如下錯誤提示
** Error: Command requires admin privileges.

如果有上面的錯誤提示,請嘗試如下兩種方法:

1、 取消訪問偏好設置需要管理員密碼
系統偏好設置—>安全性與隱私—> 通用—> 高級—> 訪問系統范圍的偏好設置需要輸入管理員密碼(取消勾選)

2、 可能是由於安裝了xcode,但未授權導致
請在終端輸入如下命令進行授權

sudo xcodebuild -license
# 一直按回車,該agree的時候輸入agree即可

然后再次嘗試看是否能夠打開系統代理開關
如果還不行,請聯系作者

2、沒有加速效果

本應用僅支持https加速,請務必確認你訪問的網站地址是https開頭的

  1. 本應用僅支持https加速
    請務必確認你訪問的地址是https開頭的
    比如: https://github.com/

  2. 檢查瀏覽器是否裝了什么插件,與ds有沖突

  3. 檢查是否安裝了其他代理軟件,與ds有沖突

  4. 請確認瀏覽器的代理設置為使用IE代理/或者使用系統代理狀態

  5. 可以嘗試換個瀏覽器試試

  6. 請確認網絡代理設置處於勾選狀態
    正常情況下dev-sidecar在“系統代理”開關打開時,會自動設置代理。

3、瀏覽器打開提示證書不受信任

  • windows: 請確認證書已正確安裝在“信任的根證書頒發機構”下

  • mac: 請確認證書已經被安裝並已經設置信任。

  • 火狐瀏覽器:火狐瀏覽器不走系統的根證書,需要在選項中添加根證書
    1、火狐瀏覽器->選項->隱私與安全->證書->查看證書
    2、證書頒發機構->導入
    3、選擇證書文件C:\Users(用戶)\Administrator(你的賬號)\.dev-sidecar\dev-sidecar.ca.crt(Mac或linux為~/.dev-sidecar目錄)
    4、勾選信任由此證書頒發機構來標識網站,確定即可

4. 打開github顯示連接超時

DevSidecar Warning:
Error: www.github.com:443, 代理請求超時

如果是安全模式,則是因為不穩定導致的,等一會再刷新試試
如果是增強模式,則是由於訪問人數過多,正常現象

5、查看日志是否有報錯

如果還是不行,請在下方加作者好友,將服務日志發送給作者進行分析
日志打開方式:加速服務->右邊日志按鈕->打開日志文件夾

6、某些原本可以打開的網站打不開了

1、可以嘗試關閉pac
2、可以將域名加入白名單

7、應用意外關閉導致沒有網絡了

應用開啟后會自動修改系統代理設置,正常退出會自動關閉系統代理
當應用意外關閉時,可能會因為沒有將系統代理恢復,從而導致完全無法上網。

對於此問題有如下幾種解決方案可供選擇:
1、重新打開應用即可(右鍵應用托盤圖標可完全退出,將會正常關閉系統代理設置)
2、如果應用被卸載了,此時需要手動關閉系統代理設置
3、如果你是因為開着ds的情況下重啟電腦導致無法上網,你可以設置ds為開機自啟

七、在其他程序使用

八、貢獻代碼

開發調試模式啟動

運行如下命令即可開發模式啟動

git clone https://github.com/docmirror/dev-sidecar

cd dev-sidecar 

npm install lerna -g
lerna bootstrap

cd packages/gui

npm run electron

如果electron依賴包下載不動,可以開啟ds的npm加速

打包成可執行文件

# 先執行上面的步驟,然后運行如下命令打包成可執行文件
npm run electron:build

提交pr

如果你想將你的修改貢獻出來,請提交pr

九、聯系作者

歡迎bug反饋,需求建議,技術交流等(請備注dev-sidecar,或簡稱DS)

十、求star

我的其他項目求star

  • fast-crud : 開發crud快如閃電
  • certd : 讓你的證書永不過期

十一、感謝

本項目使用lerna包管理工具

lerna

本項目參考如下開源項目

特別感謝

本項目部分加速資源由如下組織提供


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM