解决github网络慢的问题

前言

本文采用替换host的方式来加速github的git请求,主要我自己用来备份的懒人方式,不然每次都要手动修改hosts文件,skrskrskr...

一、获取到可用的ip

先到这个网站查询到低延迟的ip

站长工具:https://ping.chinaz.com/

第2步,在查询框中输入 github.com 来进行查询

第3步,下滑找到一些低延迟的ip地址

复制下来这个你选择使用的ip

二、备份现有的hosts文件

第1步、将hosts文件改为可读写的

第2步、备份hosts文件

ctrl+c后ctrl+v即可,没啥好说的了

三、新建一个bat脚本

脚本内容如下:

复制代码
@echo off
setlocal

:: 请求用户输入IP地址
set /p ip=请输入要设置的IP地址: 

:: 定义hosts文件路径
set "hostsPath=C:\Windows\System32\drivers\etc\hosts"

:: 创建临时文件来存储修改后的内容
set "tempFile=%temp%\hosts.tmp"

:: 复制不含github.com的行到临时文件
(for /f "tokens=*" %%a in ('findstr /v /i "github.com" "%hostsPath%"') do (
    echo %%a
)) > "%tempFile%"

:: 使用findstr找到含有"#"开头和不含有"#"但包含github.com的行
(for /f "tokens=*" %%a in ('findstr /i "github.com" "%hostsPath%"') do (
    :: 如果行中包含github.com但没有#号开头,则添加#号到行首
    if not "%%a"=="#%%a" (echo #%%a) else (echo %%a)
)) >> "%tempFile%"

:: 在临时文件中追加新行
echo %ip% github.com >> "%tempFile%"

:: 替换原始hosts文件
move /Y "%tempFile%" "%hostsPath%" >nul 2>&1

:: 刷新DNS缓存
ipconfig /flushdns

echo 操作完成!
pause

保存后,改为 replace_hsot.bat 文件名无所谓,后缀是 .bat 即可

然后修改文件的编码格式为gbk后保存(utf-8控制台输出中文会乱码)

四、以管理员权限执行脚本

右键选择 以管理员权限执行脚本 replace_hsot.bat

此时,命令行窗口输出如下:

粘贴第一步获取到的ip后回车,之后按任意键退出即可

相关推荐
小兵张健2 小时前
Playwright MCP 截图标注方案调研(推荐方案1)
前端·javascript·github
哈基咪怎么可能是AI5 小时前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
九狼1 天前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
逛逛GitHub1 天前
4 个热门的 GitHub 开源项目
github
程序员鱼皮1 天前
GitHub 关注突破 2w,我总结了 10 个涨星涨粉技巧!
前端·后端·github
HelloGitHub1 天前
《HelloGitHub》第 119 期
开源·github
冬奇Lab2 天前
一天一个开源项目(第35篇):GitHub Store - 跨平台的 GitHub Releases 应用商店
开源·github·资讯