【Github】作为程序员不得不知道的几款Github加速神器
文章目录
- 背景
- 推荐1:FastGithub
- 推荐2:dev-sidecar
- 推荐3:Watt Toolkit
- 推荐4:篡改猴插件+用户脚本
- 1)下载安装-->篡改猴 Tampermonkey 插件
- 2)下载安装-->Github 增强 - 高速下载 用户脚本
- 推荐5:SwitchHosts + Hosts
- 使用最佳实践
- 最后总结
背景
众所周知,近几年国内用户在访问Github时,经常间歇性无法访问Github。
接下来推荐几款 作为程序员不得不知道的Github加速神器。
推荐1:FastGithub
FastGithub是一款Github加速神器,解决github打不开、用户头像无法加载、releases无法上传下载、git-clone、git-pull、git-push失败等问题。
它支持多种平台:Windows、Linux、MacOS、Docker等
它在Github开源项目地址:dotnetcore/FastGithub
下载地址:dotnetcore/FastGithub/releases

安装部署过程,比较简单,可以直接参考官网的 README.md
如果此时你的Github访问不了,你可以到 xljiulang/fastgithub | Gitcode 下载,这是FastGithub作者在Gitcode维护的项目,目前与Github里的保持同步,安装部署请参考 README.md
以Windows桌面端为例
解压下载的fastgithub_win-x64.zip,找到FastGithub.UI.exe,双击运行即可愉快的访问 Github 了。

推荐2:dev-sidecar
dev-sidecar 开发者边车,命名取自service-mesh的service-sidecar,意为为开发者打辅助的边车工具(以下简称ds)。
它通过本地代理的方式将https请求代理到一些国内的加速通道上。
它在Github开源项目地址:docmirror/dev-sidecar
下载地址:docmirror/dev-sidecar/releases

安装部署过程,注意事项,遇到问题及解决方案,请直接参考官网的 README.md
如果此时你的Github访问不了,你可以到 docmirror/dev-sidecar | Gitcode 下载,这是 dev-sidecar 的作者在Gitcode维护的项目,目前与Github里的保持同步,安装部署请参考 README.md
以Windows桌面端为例:
下载Dev-Sidecar.1.7.3.exe,点击该应用程序然后选择一个安装路径,等待安装完成打开即可。
Windows: 请选择 DevSidecar-x.x.x.exe
Mac: 请选择 DevSidecar-x.x.x.dmg
Ubuntu: 请选择 DevSidecar-x.x.x.deb
其他linux: 请选择 DevSidecar-x.x.x.AppImage
首次打开,需要安装CA根证书,点击去安装,然后按提示一步步操作去完成安装

证书安装完成,即可愉快的访问 Github 了。

另外,该软件,还支持npm、git、pip加速。
推荐3:Watt Toolkit
Watt Toolkit(原名Steam++)
是一个开源跨平台的多功能 Steam 工具箱。
官网地址:https://steampp.net/
Github地址:BeyondDimension/SteamTools
Github下载地址:BeyondDimension/SteamTools/releases
推荐到Github下载,安装或使用过程遇到问题,可以去 常见问题疑难解答
官网下载也是引导到其他渠道进行下载,不过官网下载有个好处,它会检测你系统和CPU架构,然后推荐你下载哪个版本

以Windows为例:
1)下载 Steam++_win_x64_fde_v2.8.6.exe,点击该应用程序,按提示步骤安装。
2)打开应用程序,在网络加速界面,勾选Github,然后点击一键加速


然后就可愉快的访问 Github 了
打开这个软件后,可以不同登录账户
推荐4:篡改猴插件+用户脚本
1)下载安装–>篡改猴 Tampermonkey 插件
篡改猴 (Tampermonkey) 是拥有 超过 1000 万用户 的最流行的浏览器扩展之一。
它允许用户自定义并增强您最喜爱的网页的功能。用户脚本是小型 JavaScript 程序,可用于向网页添加新功能或修改现有功能。使用 篡改猴,您可以轻松在任何网站上创建、管理和运行这些用户脚本。
它适用于 Chrome、Microsoft Edge、Safari、Opera Next 和 Firefox 等多种浏览器。
Tampermonkey 官网地址:https://www.tampermonkey.net/index.php
你可以在官网首页,对应的浏览器版本tab页,找到其在应用商店的下载入口(你也可以直接到插件应用商店直接搜索)
另外还有一些其他比较优秀的浏览器插件管理工具,如:暴力猴 (violentmonkey)、
2)下载安装–>Github 增强 - 高速下载 用户脚本
用户脚本是一段代码,它们能够优化您的网页浏览体验。安装之后,有些脚本能为网站添加新的功能,有些能使网站的界面更加易用,有些则能隐藏网站上烦人的部分内容。
有几个不错的用户脚本管理网站:
- userscript.zone 搜索
- Greasy Fork 油叉
- OpenUserJS
- Github Gist 中搜索
这里我通过Greasy Fork,搜索Github 增强 - 高速下载,在搜索结果列表中找到 Github 增强 - 高速下载
在详情页面,点击安装此版本,跳转到源码页

在源码页,点击安装,然后等待安装完成。

注意:
1. 如果安装脚本时提示脚本可能会损害你的设备,是否仍要保留,请选择【保留】,继续安装;
2. 如果此方法安装失败,可以手动复制源代码,然后粘贴到【Tampermonkey 管理面板】-【新建用户脚本】-【编辑器】中,然后在编辑器中选择【文件】-【保存】

可在工具栏点击【扩展】图标-【篡改猴】-【管理面板】打开管理面板
安装好后,是这样的👇

测试效果
- Github Clone 下的 HTTPS、SSH、Download ZIP 这些下载地方多了一些加速下载入口

- 在Releases的下载位置处,页多了一些加速下载入口

- 另外,还支持源码单文件下载,鼠标放到文件名左侧的图标,显示☁图标及提示信息,通过【Alt+鼠标左键】或者【鼠标右键+另存为…】来下载文件。

可以在【工具栏】-【篡改猴】-【Github 增强 - 高速下载】的菜单列表中,点击【XXX加速源-点击切换】来切换单文件下载的加速源,也可以点击【项目列表单文件快捷下载】关闭单文件下载加速功能。

我测试了下载速度,使用美国的加速源,使用前 100~200kb/s,使用美国加速源后,4~5MB/s(注意不一定所有的加速源都快,有的可能更慢或干脆不可用)
【Github 增强 - 高速下载】脚本只是将加速后的文件下载地址添加到了网页,省去了手动获取的麻烦,方便直接点击高速下载!
它并不能解决无法访问Github的问题!!!
因此如果你无法访问GitHub官网,可结合前面的 推荐1、推荐2、推荐3 来使用
另外该脚本的作者在Github上还有一些其他的脚本,可以去看看有没有你感兴趣的 XIU2/UserScript
推荐5:SwitchHosts + Hosts
SwitchHosts
是一个管理 hosts 文件的应用,支持 Windows、MacOS、Linux等平台;
Github 项目地址:oldj/SwitchHosts
安装包下载地址:oldj/SwitchHosts/releases
Hosts
这里是指Github的稳定的Hosts,这里推荐两个
- 521xueweihan/GitHub520
- ineo6/hosts
这两个都能寻找最优IP并及时自动更新hosts
使用最佳实践
1)以管理员身份打开SwitchHosts;
2)新建一个规则,类型选Remote;
3)Hosts title 随便取,URL 填写 https://raw.hellogithub.com/hosts ,Auto refresh 选择1 hour,然后OK保存;
4)然后新建的规则开关打开,即可愉快的使用Github了


URL地址:
- https://github.com/521xueweihan/GitHub520/blob/main/hosts
- https://raw.hellogithub.com/hosts
- https://github.com/ineo6/hosts/blob/master/next-hosts
- https://gitlab.com/ineo6/hosts/-/raw/master/next-hosts
不建议使用Github的URL进行更新,因为可能你首次更新访问不同这个URL
大部分情况下是直接生效,如未生效可尝试下面的办法,刷新 DNS:
- Windows 命令:
ipconfig /flushdns - Linux 命令:
sudo /etc/init.d/nscd restart - Mac 命令:
sudo killall -HUP mDNSResponder
最后总结
- 推荐1、2、3 经我测试效果都挺不过;
- 推荐4 不是加速github官网本身,而是加速clone、releases、源码包下载、项目单文件下载等,可以与推荐1、2、3、5 结合使用;
- 推荐5,测试发现,仍偶有不稳定的情况,但相对什么都不做要好些;
- 针对推荐4,有一个更好更牛逼的替代方案,那就是使用迅雷进行下载,YYDS
相关文章:
【Github】作为程序员不得不知道的几款Github加速神器
文章目录 背景推荐1:FastGithub推荐2:dev-sidecar推荐3:Watt Toolkit推荐4:篡改猴插件用户脚本1)下载安装-->篡改猴 Tampermonkey 插件2)下载安装-->Github 增强 - 高速下载 用户脚本 推荐5ÿ…...
react18之08自定义hook (简单的axios-get、修改浏览器title、localStorage、获取滚动条位置、img转换为base64)
目录 react18之自定义hook ()01:自定义一个 简单的axios hook 发起get请求useHttp.jsx使用useHttp hook效果 02:自定义一个 修改浏览器title hook03:自定义一个 localStorage(获取、存储、移除) hookuseLocalStorage.jsx使用hook效果 04&…...
对CommonJS、AMD、CMD、ES Module的理解
CommonJS 常用于:服务器端,node,webpack 特点:同步/运行时加载,磁盘读取速度快 语法: // 1. 导出:通过module.exports或exports来暴露模块 module.exports { attr1, attr2 } ex…...
JVM之类加载与字节码(二)
3. 编译期处理 什么是语法糖 所谓的 语法糖 ,其实就是指 java 编译器把 *.java 源码编译为 *.class 字节码的过程中,自动生成 和转换的一些代码,主要是为了减轻程序员的负担,算是 java 编译器给我们的一个额外福利(给…...
安装linux操作系统
安装虚拟机的步骤: 安装linux系统 之后开启虚拟机 之后重启,打开虚拟机,登录root账号...
【SpringBoot】知识
.第一个程序HelloWorld 项目创建方式:使用 IDEA 直接创建项目 1、创建一个新项目 2、选择spring initalizr , 可以看到默认就是去官网的快速构建工具那里实现 3、填写项目信息 4、选择初始化的组件(初学勾选 Web 即可) 5、填…...
react ant add/change created_at
1.引入ant的 Table import { Table, Space, Button, message } from antd; 2.获得接口的数据的时候增加上创建时间 const response await axios.get(${Config.BASE_URL}/api/v1/calculation_plans?token${getToken()});if (response.data.message ok) {const data respon…...
OSPF 动态路由协议 路由传递
影响OSPF路由选择的因素: 1.OSPF路由的开销值:宽带参考值默认为100. COST1000/接口带宽。此时接口 带宽的值可更改,更改后只改变参考数值,带宽仍然为初始值。 注意:更改COST需要 在路由的入方向,数据的出方…...
5.kubeadm安装
文章目录 kubeadm部署环境初始化所有的节点安装Docker所有节点安装kubeadm,kubelet和kubectl初始化方法一,配置文件初始化方法二,命令初始化 网络插件node节点总结 证书过期方法一方法二总结 部署Dashboard kubeadm部署 环境初始化 ###所有…...
【雕爷学编程】Arduino动手做(180)---Seeeduino Lotus开发板2
37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&am…...
6.5 池化层
是什么:池化层跟卷积层类似有个滑动窗口,用来取一个区域内的最大值或者平均值。 作用:卷积神经网络的最后的部分应该要看到整个图像的全局,通过池化(汇聚)操作,逐渐汇聚要取的像素,最终实现学习全局表示的…...
etcd
文章目录 etcd单机安装设置键值对watch操作读取键过往版本的值压缩修订版本lease租约(过期机制)授予租约撤销租约keepAlive续约获取租约信息 事务基于etcd实现分布式锁原生实现官方 concurrency 包实现 服务注册与发现Go 操作 Etcd 参考 etcd etcd 是一…...
W5500-EVB-PICO做DNS Client进行域名解析(四)
前言 在上一章节中我们用W5500-EVB-PICO通过dhcp获取ip地址(网关,子网掩码,dns服务器)等信息,给我们的开发板配置网络信息,成功的接入网络中,那么本章将教大家如何让我们的开发板进行DNS域名解析…...
单例模式(C++)
定义 保证一个类仅有一个实例,并提供一个该实例的全局访问点。 应用场景 在软件系统中,经常有这样一些特殊的类,必须保证它们在系统中只存在一个实例,才能确保它们的逻辑正确性、以及良好的效率。如何绕过常规的构造器,提供一种…...
LeetCode 热题 100 JavaScript--234. 回文链表
function ListNode(val, next) {this.val val undefined ? 0 : val;this.next next undefined ? null : next; }var isPalindrome function (head) {if (!head || !head.next) {return true; }// 使用快慢指针法找到链表的中间节点let slow head;let fast head;while …...
Redis 6.5 服务端开启多线程源码
redis支持开启多线程,只有从socket到读取缓冲区和从输出缓冲区到socket这两段过程是多线程,而命令的执行还是单线程,并且是由主线程执行 借鉴:【Redis】事件驱动框架源码分析(多线程) 一、main启动时初始化…...
嵌入式面试笔试刷题(day6)
文章目录 前言一、进程和线程的区别二、共享内存的原理三、中断有传参和返回值吗四、串口数据帧格式五、进程通信有几种,哪几种需要借助内核1.方式2.需要借助内核的 六、flash有哪几种类型七、指针的本质是什么八、指针和数组的区别九、使用宏定义交换变量不能使用中…...
24考研数据结构-第五章:树与二叉树
目录 第五章:树5.1树的基本概念5.1.1树的定义5.1.2 基本术语5.1.3 树的性质 5.2二叉树的概念5.2.1 二叉树的定义与特性5.2.2 几种特殊的二叉树5.2.3 二叉树的性质5.2.4 完全二叉树的性质5.2.5 二叉树的存储结构1. 顺序存储重要的基本操作非完全二叉树2. 链式存储逆向…...
构建稳健的微服务架构:关键的微服务设计原则和最佳实践
在现代软件开发中,微服务架构正逐渐成为构建复杂应用程序的首选方法之一。微服务架构的核心理念是将应用程序划分为一系列小型、自治的服务,每个服务专注于一个特定的业务功能。然而,要实现一个稳健的微服务架构并不仅仅是将功能拆分成微服务…...
消息队列常见问题(1)-如何保障不丢消息
目录 1. 为什么消息队列会丢消息? 2. 怎么保障消息可靠传递? 2.1 生产者不丢消息 2.2 服务端不丢消息 2.3 消费者不丢消息 3. 消息丢失如何快速止损? 3.1 完善监控 3.2 完善止损工具 1. 为什么消息队列会丢消息? 现在主流…...
浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)
✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义(Task Definition&…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...
【Java学习笔记】Arrays类
Arrays 类 1. 导入包:import java.util.Arrays 2. 常用方法一览表 方法描述Arrays.toString()返回数组的字符串形式Arrays.sort()排序(自然排序和定制排序)Arrays.binarySearch()通过二分搜索法进行查找(前提:数组是…...
STM32F4基本定时器使用和原理详解
STM32F4基本定时器使用和原理详解 前言如何确定定时器挂载在哪条时钟线上配置及使用方法参数配置PrescalerCounter ModeCounter Periodauto-reload preloadTrigger Event Selection 中断配置生成的代码及使用方法初始化代码基本定时器触发DCA或者ADC的代码讲解中断代码定时启动…...
Golang dig框架与GraphQL的完美结合
将 Go 的 Dig 依赖注入框架与 GraphQL 结合使用,可以显著提升应用程序的可维护性、可测试性以及灵活性。 Dig 是一个强大的依赖注入容器,能够帮助开发者更好地管理复杂的依赖关系,而 GraphQL 则是一种用于 API 的查询语言,能够提…...
数据链路层的主要功能是什么
数据链路层(OSI模型第2层)的核心功能是在相邻网络节点(如交换机、主机)间提供可靠的数据帧传输服务,主要职责包括: 🔑 核心功能详解: 帧封装与解封装 封装: 将网络层下发…...
自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
并发编程 - go版
1.并发编程基础概念 进程和线程 A. 进程是程序在操作系统中的一次执行过程,系统进行资源分配和调度的一个独立单位。B. 线程是进程的一个执行实体,是CPU调度和分派的基本单位,它是比进程更小的能独立运行的基本单位。C.一个进程可以创建和撤销多个线程;同一个进程中…...
