GitHub 又又又挂了?

面对GitHub在国内遭遇网络封锁的情况,本文提供了两种解决方案:一是设置PAC用户自定义规则,包含github.com等关键域名;二是配置SSH代理,通过SS代理访问,确保push和pull等操作正常进行。

整理 | 郭芮

GitHub 又又又挂了?这两天,笔者断断续续收到各路网友的吐槽,GitHub 又打不开了......亲身测验了一把,还是正常可用的,但群里仍有声音表示:还是不行。网上搜罗了一圈才发现,不是 GitHub 不行,而是电信又被墙了......

事实上,作为“全球最大的同性交友网站”,Github 被攻击抑或是动不动“500”几乎已成家常便饭,无论是去年三月遭遇的史上最大规模 DDoS 网络攻击、还是前不久波及好几个国家的大规模宕机——习惯就好。

那么在这次的“被墙”事件中,程序员该如何从容应对呢?

在@huangzhhui 的博文(https://learnku.com/articles/37108)中,其就分享了 GitHub 被墙后的生存之道,介绍如何通过 SS 更好地使用 Github。

1、设置 PAC 用户自定义规则

设置合理的 PAC 规则有助于开发者日常使用,无需设置全局模式,只需往 PAC 用户自定义规则内添加如下的域名即可:

github.com
githubusercontent.com
githubassets.com

2、设置 SSH 代理

通常来说,就算开启了 SS 的全局模式,我们 push 和 pull 等通过 SSH 来实现的操作也不会有任何变化,因为 SSH 还是直连的,但这些才是我们日常的操作,通过 HTTPS 协议去进行操作肯定是没有问题的,可是每次操作都要输入账号密码也非常的繁琐。

既然我们可以通过 SS 来实现访问,那么我们要如何让 SSH 也通过 SS 代理来访问呢?很简单,只需要配置 ~/.ssh/config 文件,增加以下的内容即可:

Host github.com
   HostName github.com
   User git
   ProxyCommand nc -v -x 127.0.0.1:1086 %h %p

注意配置文件内的 127.0.0.1:1086 需要与本地 SS 客户端的所暴露的本地 Socks5 监听地址、本地 Socks5 监听端口一致。

——然后,就可以继续愉快地参与开源项目的开发了。

【End】

大众学python的时代,作为程序员你怎么看?

https://edu.youkuaiyun.com/topic/python115?utm_source=csdn_bw

热 文 推 荐 

15 年经验专家解读 IIoT 的挑战及应对思路!

Android 支持主线 Linux 内核指日可待?

网易回应裁撤生病员工;苹果押宝 5G 手机;IntelliJ IDEA 2019.3 RC 发布 | 极客头条

Google 是如何做 Code Review 的?| 原力计划

☞特斯拉皮卡,会大卖吗?

☞Spring 框架之 AOP 原理深度剖析!|优快云 博文精选

卡内基梅隆大学副教授张旆:传感系统新玩法,物理响应分析人的生老病死

腾讯程序员失业 3 个月,靠送外卖谋生:职场半坡,生存事大!

太真实了:程序员等级图鉴

AI+大数据顶级技术盛会开幕在即,6.6折特惠票限时抢购

点击阅读原文,参加中国开发者现状调查!

你点的每个“在看”,我都认真当成了喜欢

### 解决Hexo博客部署到GitHub Pages遇到404错误的方法 当Hexo博客部署至GitHub Pages后出现404错误,通常意味着请求的资源未找到。这可能是由于多种原因引起的,包括但不限于配置文件设置不当、路径问题或是部署流程中的失误。 #### 1. 检查并修正`_config.yml`配置文件 确保在Hexo项目的根目录下的`_config.yml`中正确设置了`url`和`root`参数。对于大多数情况而言,如果是在用户名.github.io这样的仓库下创建个人站点,则应如下所示设定: ```yaml # Site title: Your Blog Title author: Author Name description: Description of your blog language: # URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: https://yourusername.github.io root: / permalink: :year/:month/:day/:title/ ``` 注意这里的`url`应当指向实际用于访问该网站的地址,而`root`则指明了相对于域名的基础路径[^2]。 #### 2. 修改`.gitignore`忽略不必要的文件夹或文件 有时某些隐藏文件(如node_modules)可能会影响构建过程,从而导致最终生成的内容不完整。确认.gitignore已排除这些不需要提交给远程服务器的部分,以防止潜在冲突发生。 #### 3. 清理缓存重新生成静态页面 执行命令清除旧有缓存数据,并再次编译整个项目为最新的HTML版本: ```bash hexo clean && hexo generate --deploy ``` 此操作可以有效移除任何残留的数据碎片,确保新发布的文章能够被正确处理成静态网页形式上传至目标位置[^4]。 #### 4. 使用GitHub Actions自动化部署时注意事项 如果是借助于GitHub Actions实现持续集成与发布功能,在工作流定义脚本里务必指定确切的目标分支以及正确的SSH私钥权限授予方式。例如,在`.github/workflows/deploy.yml`内添加必要的环境变量声明部分: ```yaml name: Deploy to GitHub Pages with Hexo on: push: branches: - master # or main depending on repository setup jobs: deploy: runs-on: ubuntu-latest steps: ... - name: Add SSH Key for Deployment run: | mkdir -p ~/.ssh echo "$DEPLOY_KEY" > ~/.ssh/id_rsa chmod 600 ~/.ssh/id_rsa ... ``` 这里假设已经在Settings -> Secrets存储了一对名为`DEPLOY_KEY`的有效密钥对,用来验证身份以便向受保护区域推送更改[^5]。 #### 5. 确认GitHub Repository Settings无误 最后一步是要回到GitHub上的相应repository settings界面,核实Pages选项卡里的Source字段是否选择了合适的branch作为公开入口;同时也要留意Custom domain一栏是否有输入自定义顶级域名称——如果有,请保证DNS解析记录同步更新到位[^3]。 通过上述措施调整之后,刷新浏览器查看效果,正常情况下应该能顺利解决问题。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值