不用代理解决GitHub访问不通、不稳定的问题

文章目录

      • 原因分析
        • 路由节点不稳定
        • 路由路径变化
        • DNS 解析延迟
        • DNS 污染
        • 国际带宽限制
        • 区域网络拥堵
        • 某些地区或网络环境的网络限制和封锁
      • 更换公共DNS(又称安全DNS)
        • 访问GitHub为什么使用公共 DNS 更好?(相对于运营商DNS)
        • 如何评估DNS状况?
        • 公共DNS推荐
      • 修改本地HOST文件手动指定
        • 获取GitHub服务器地址并测试访问速度
        • 修改 Host 文件并立刻生效配置
      • 使用GitHub镜像网站
      • 使用云服务器搭建私有GitHub镜像网站

原因分析

路由节点不稳定
  • 概述:GitHub 服务器均位于海外。数据包从用户所在地到 GitHub 服务器的过程中,需要经过一系列的路由器和网络节点。如果这些节点中的任何一个出现问题(如硬件故障、软件错误、网络拥塞等),都可能影响到数据包的传输质量。
  • 影响:路由节点不稳定会导致数据包丢失、延迟增加、甚至是连接断开等问题。
路由路径变化
  • 概述:由于网络的动态性,数据包到达目标服务器的最佳路径可能会随着时间和网络条件的变化而变化。
  • 影响:如果数据包开始通过一条新的路径传输,这条路径可能存在更多的延迟或丢包率,这将直接影响到用户体验。
DNS 解析延迟
  • 概述:域名系统 (DNS) 负责将域名转换成 IP 地址,以便客户端能够访问特定的服务器。
  • 影响:如果本地 DNS 服务器响应缓慢或者过载,这会导致用户在访问网站时遇到长时间的等待,尤其是在请求 GitHub 这样的大型站点时。
DNS 污染
  • 概述:DNS 污染是指恶意修改 DNS 查询结果的行为,通常是出于审查或广告推广的目的。
  • 影响:DNS 污染可能会导致用户无法访问正确的网站地址,或是被重定向到其他网站。
国际带宽限制
  • 概述:国际互联网流量通常受到国家出口带宽的限制,特别是在高峰时段,这些带宽资源可能会变得紧张。
  • 影响:当大量用户尝试访问海外服务器时,国际出口带宽的压力会显著增加,导致访问速度变慢甚至连接失败。
区域网络拥堵
  • 概述:区域网络拥堵是指某个地区的互联网服务因为高负载而运行效率下降。
  • 影响:当某个地区的网络流量超过其承载能力时,就会发生网络拥堵,导致访问外部网站的速度减慢。
某些地区或网络环境的网络限制和封锁
  • 概述:为了遵守当地的法律政策或出于安全考虑,某些地区的网络服务提供商可能会实施网络限制或封锁措施。
  • 影响:这些限制措施可能会阻止用户访问 GitHub 或其他海外网站和服务。

更换公共DNS(又称安全DNS)

访问GitHub为什么使用公共 DNS 更好?(相对于运营商DNS)

更快的响应时间

  • 概述:公共 DNS 服务器通常在全球范围内分布,能够更快地响应 DNS 查询请求。
  • 技术依据:公共 DNS 服务器拥有更大的带宽资源和更先进的硬件,可以处理大量的查询请求,从而减少响应时间。

更高的可靠性

  • 概述:公共 DNS 服务提供商通常具有较高的可用性和冗余性,能够确保即使在高峰期也能提供稳定的服务。
  • 技术依据:这些服务通常采用多数据中心架构,并具备自动故障转移和负载均衡功能,以确保服务的连续性和稳定性。

更少的 DNS 污染

  • 概述:运营商提供的 DNS 服务器可能会进行 DNS 污染或劫持,将用户的查询结果重定向到广告页面或其他不相关的网站。
  • 技术依据:公共 DNS 服务提供商通常承诺不进行 DNS 污染,确保查询结果的准确性和完整性。

更优秀的缓存策略

  • 概述:公共 DNS 服务器通常具有更高效的缓存策略,能够更快地返回已缓存的结果,减少对上游 DNS 服务器的依赖。
  • 技术依据:这些服务器使用先进的缓存算法和较大的缓存容量,可以更快地响应常见的查询请求。

更广泛的覆盖范围

  • 概述:公共 DNS 服务通常在全球范围内提供服务,这意味着无论用户身在何处,都能找到最近的 DNS 服务器。
  • 技术依据:这种广泛的覆盖范围减少了 DNS 查询的地理距离,从而降低了延迟。
如何评估DNS状况?

在评估 DNS 服务器响应速度时,通常会关注 ping 的时间(即 DNS 查询时间),一般在100ms之内均为可用:

  • 优秀:响应时间小于 10 ms
  • 良好:响应时间在 10 ms 至 50 ms 之间
  • 可接受:响应时间在 50 ms 至 100 ms 之间
  • 较差:响应时间大于 100 ms

除了ping也可使用其他工具获取针对某个网站的更多详尽信息,以GitHub为例,可以使用以下命令:

# DNS 查询时间
ping <DNS IP># 针对GitHub的更多详尽信息
nslookup -querytype=A github.com
dig +time=1 github.com
公共DNS推荐

常见的公共DNS,包括阿里、腾讯、百度、114等,附带北京的查询速度,可参见:北京可用DNS收集整理和速度评测。

修改本地HOST文件手动指定

获取GitHub服务器地址并测试访问速度

访问 https://dnschecker.org/#A/github.com 并在页面顶部的搜索框中输入 github.com,接着选择 A 记录类型并点击 Lookup 按钮开始查询,DNSChecker 将会显示来自世界各地的 DNS 服务器对 github.com 的 A 记录解析结果。

将上述查询结果的IP复制保存到文件中,使用以下脚本测试速度:65. 测试多个ip的连接速度并按平均速度从快到慢排序

以下是2024.7的一份测试结果,ip顺序按照丢包率、平均速度由小到大排序:

20.205.243.166 github.com
#20.200.245.247 github.com
#20.207.73.82 github.com
#20.248.137.48 github.com
#140.82.112.4 github.com
#140.82.121.3 github.com
#20.26.156.215 github.com
#140.82.113.4 github.com
#140.82.112.3 github.com
#140.82.114.3 github.com
#140.82.113.3 github.com
#140.82.121.4 github.com
#20.201.28.151 github.com185.199.108.133 raw.githubusercontent.com
#185.199.108.133 raw.githubusercontent.com
#185.199.109.133 raw.githubusercontent.com
#185.199.109.133 raw.githubusercontent.com
#185.199.110.133 raw.githubusercontent.com
#185.199.110.133 raw.githubusercontent.com
#185.199.111.133 raw.githubusercontent.com
#185.199.111.133 raw.githubusercontent.com
修改 Host 文件并立刻生效配置

Windows 系统:

  1. 打开文件资源管理器,导航至 %SystemRoot%\system32\drivers\etc 文件夹,通常位于 C:\Windows\System32\drivers\etc
  2. 使用管理员权限打开记事本或其他文本编辑器,然后找到 hosts 文件。
  3. hosts 文件末尾添加新的 IP 地址和主机名映射,例如:
    20.205.243.166 github.com
    
  4. 保存文件并关闭记事本。
  5. 打开命令提示符窗口(以管理员身份运行),并清除 DNS 缓存以使更改立即生效:
    ipconfig /flushdns
    
  6. 需要重启任何正在使用的浏览器或应用程序以应用新的 host 映射。

macOS 系统:

  1. 打开终端。
  2. 使用文本编辑器(如 nano 或 vim)打开 /etc/hosts 文件:
    sudo nano /etc/hosts
    
  3. 在文件末尾添加新的 IP 地址和主机名映射。
  4. 保存并退出编辑器。
  5. 清除 DNS 缓存以使更改立即生效:
    sudo killall -HUP mDNSResponder
    

Linux 系统 (以 Ubuntu 为例) :

  1. 打开终端。
  2. 使用文本编辑器(如 gedit 或 nano)打开 /etc/hosts 文件:
    sudo gedit /etc/hosts
    
  3. 在文件末尾添加新的 IP 地址和主机名映射。
  4. 保存并退出编辑器。
  5. 清除 DNS 缓存以使更改立即生效:
    sudo systemd-resolve --flush-caches
    

使用GitHub镜像网站

这些GitHub镜像网站的服务可能都不太稳定,随时可能失效。2024.07可用的GitHub镜像网站有:

  1. https://gitclone.com/
  2. https://bgithub.xyz/
  3. https://gh.api.99988866.xyz/

使用云服务器搭建私有GitHub镜像网站

参见:阿里云服务器 篇六:GitHub镜像网站

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/386752.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K210视觉识别模块学习笔记7:多线程多模型编程识别

今日开始学习K210视觉识别模块: 图形化操作函数 亚博智能 K210视觉识别模块...... 固件库: canmv_yahboom_v2.1.1.bin 训练网站: 嘉楠开发者社区 今日学习使用多线程、多模型来识别各种物体 这里先提前说一下本文这次测试实验的结果吧&#xff1a;结果是不太成…

视频去水印免费电脑版 pdf压缩在线免费网页版 pdf压缩在线免费 简单工具软件详细方法步骤分享

消除视频中的恼人水印&#xff0c;是许多视频编辑爱好者的常见需求。在这篇文章中&#xff0c;我们将探讨几种视频去水印的技巧&#xff0c;在数字化时代&#xff0c;视频和图片的传播越来越方便&#xff0c;但随之而来的水印问题也让人头疼。本文将为您详细介绍视频剪辑去水印…

捕获会自动消失的消息提示弹窗

如上图&#xff0c;我们会在一些场景碰到会自动消失的消息提示弹窗&#xff0c;一般存在个3-5秒&#xff0c;我们在做UI断言时&#xff0c;需要监测这个弹窗是否会出现&#xff0c;就需要去捕获这个弹窗的位置 我们打开浏览器的开发者模式(F12)&#xff0c;找到源码(Sources) …

探索 Redis 不同集群架构的性能与应用

1. 引言 Redis的集群配置成为了提高数据可靠性和服务可用性的关键。本文将带领大家了解Redis的四种主要集群架构&#xff0c;并重点分析哨兵模式和Redis Cluster架构和优势。 2. Redis的四种集群架构 2.1 单实例Redis 使用单个 Redis 实例提供服务。适用于小规模应用&#…

MiniExcel:.NET中处理Excel的高效方案

在.NET开发环境中&#xff0c;处理Excel文件是一项常见的任务&#xff0c;无论是数据导入、导出还是报表生成。传统的解决方案可能存在性能瓶颈或功能限制。MiniExcel作为一个现代、高效的库&#xff0c;为.NET开发者提供了一个强大的工具来简化Excel操作。本文将介绍MiniExcel…

爬虫程序在采集亚马逊站点数据时如何绕过验证码限制?

引言 在电商数据分析中&#xff0c;爬虫技术的应用日益广泛。通过爬虫技术&#xff0c;我们可以高效地获取大量的电商平台数据&#xff0c;这些数据对于市场分析、竞争情报、价格监控等有着极其重要的意义。亚马逊作为全球最大的电商平台之一&#xff0c;是数据采集的重要目标…

【技术升级】Docker环境下Nacos平滑升级攻略,安全配置一步到位

目前项目当中使用的Nacos版本为2.0.2&#xff0c;该版本可能存在一定的安全风险。软件的安全性是一个持续关注的问题&#xff0c;尤其是对于像Nacos这样的服务发现与配置管理平台&#xff0c;它在微服务架构中扮演着核心角色。随着新版本的发布&#xff0c;开发团队会修复已知的…

【解决】ubuntu20.04 root用户无法SSH登陆问题

Ubuntu root用户无法登录的问题通常可以通过修改‌SSH配置文件和系统登录配置来解决。 修改SSH配置文件 sudo vim /etc/ssh/sshd_config 找到 PermitRootLogin 设置&#xff0c;并将其值更改为 yes 以允许root用户通过SSH登录 保存并关闭文件之后&#xff0c;需要重启SSH服务…

【HarmonyOS】实现矩形上下拖动、动态拖拽修改高度

简介 实现一个矩形块上下拖动&#xff0c;并且可以拖动边缘定位点改变矩形块高度。实现效果如下&#xff1a; 代码 Entry Component struct Rec_Page {State penOffsetY: number 0;State offsetX: number 0State offsetY: number 0State positionX: number 0State posi…

Microsoft 官网免费下载安装正版官方增强版 office LSTC (长期支持版) 包含 visio , access

1.进入下方网址&#xff1a; https://www.microsoft.com/en-us/download/details.aspx?id49117 下载文件&#xff1a; officedeploymenttool_17126-20132.exe 现在看到下载链接可能失效了&#xff0c;但是下述步骤任然正确。需要下载文件的可以私信发送。 2.进入下方网址…

家具购物小程序的设计

管理员账户功能包括&#xff1a;系统首页&#xff0c;个人中心&#xff0c;用户管理&#xff0c;家具分类管理&#xff0c;家具新品管理&#xff0c;订单管理&#xff0c;系统管理 微信端账号功能包括&#xff1a;系统首页&#xff0c;家具新品&#xff0c;家具公告&#xff0…

filament 初使用记录

安装初始化 一、环境准备 官网要的 我安装的 二、下载安装 安装laravel composer create-project --prefer-dist laravel/laravel 项目名称 10.*导入 filament composer require filament/filament注册 filament 管理面板 php artisan filament:install --panels初始化…

vue3前端开发-小兔鲜项目-登录组件的开发表单验证

vue3前端开发-小兔鲜项目-登录组件的开发表单验证&#xff01;现在开始写登录页面的内容。首先这一次完成基础的首页按钮点击跳转&#xff0c;以及初始化一些简单的表单的输入验证。后期还会继续完善内容。 1&#xff1a;首先还是准备好login页面的组件代码内容。 <script …

MySQL基础练习题7-销售分析

题目&#xff1a;报告 2019年春季 才售出的产品。即 仅 在 2019-01-01 &#xff08;含&#xff09;至 2019-03-31 &#xff08;含&#xff09;之间出售的商品。 准备数据 分析数据 方法一&#xff1a;group by having 第一步&#xff1a;先找到要求的列 第二步&#xff1…

CAN转PROFINET网关

型号&#xff1a;TCA-152 &#xff08;上海泗博自动化技术有限公司产品&#xff09; 基本说明&#xff1a;TCA-152可实现 PROFINET网络与CAN网络之间的数据通信。网关在PROFINET网络作为从站&#xff0c;CAN端支持CAN2.0A/CAN2.0B协议&#xff0c;支持对CAN帧进行过滤处理。 …

python 图片转文字、语音转文字、文字转语音保存音频并朗读

一、python图片转文字 1、引言 pytesseract是基于Python的OCR工具&#xff0c; 底层使用的是Google的Tesseract-OCR 引擎&#xff0c;支持识别图片中的文字&#xff0c;支持jpeg, png, gif, bmp, tiff等图片格式 2、环境配置 python3.6PIL库安装Google Tesseract OCR 3、安…

谷粒商城实战笔记-65-商品服务-API-品牌管理-表单校验自定义校验器

文章目录 1&#xff0c;el-form品牌logo图片自定义显示2&#xff0c;重新导入和注册element-ui组件3&#xff0c;修改brand-add-or-update.vue控件的表单校验规则firstLetter 校验规则sort 校验规则 1&#xff0c;el-form品牌logo图片自定义显示 为了在品牌列表中自定义显示品…

最新源支付系统源码 V7版全开源 免授权 附搭建教程

本文来自&#xff1a;最新源支付系统源码 V7版全开源 免授权 附搭建教程 - 源码1688 简介&#xff1a; 最新源支付系统源码_V7版全开源_免授权_附详细搭建教程_站长亲测 YPay是专为个人站长打造的聚合免签系统&#xff0c;拥有卓越的性能和丰富的功能。它采用全新轻量化的界面…

商场导航系统:从电子地图到AR导航,提升顾客体验与运营效率的智能解决方案

商场是集娱乐、休闲、社交于一体的综合性消费空间&#xff0c;随着商场规模的不断扩大和布局的日益复杂&#xff0c;顾客在享受丰富选择的同时&#xff0c;也面临着寻路难、店铺曝光率低以及商场管理效率低下等挑战。商场导航系统作为提升购物体验的关键因素&#xff0c;其重要…