Hello world

Last updated on January 24, 2024 pm

建博成功

今天终于将建立一个博客的想法付诸实践,购买域名时发现还有 cc 后缀的域名,直接从 namesilo 上买下一年,无需实名。把域名通过 CNAME 定到 github pages 上废了半天劲,才发现 deploy from a branch 要选择 master 而不是 main(config 里填的是 master)。一开始不理解 hexo 和 github pages 为啥能联系到一起,在 DNS 解析和 hexo 同步本地内容至网页的过程中,逐渐明白通过 pages 访问自己的域名可以省去买服务器的钱。果然还是要行动起来,才能了解问题,解决问题。


本来懒得提的,但是最近在玩育碧的极限国度进入游戏后总是连不上服务器,官方的指导里面让在 cmd 中 ping www.ubisoft.com 看是否 ping 通,尝试之后发现不行。由此才发现代理应用并不能代理全部流量,比如部分游戏就不行。在 CFW 中使用 TUN 模式虚拟一个网卡即可真正实现“系统代理”。加速器的原理应该也是这样,之前在 macOS 的虚拟机上玩 Assassin’s Creed II 的时候(没错,也是育碧),也是登陆不上,找半天免费加速器又显示虚拟网卡安装失败…(后来正确的解决方法是自己下载 ubisoft connect 而不使用 steam 自动下载的 uplay)之前刚买极限国度是可以连接的,猜测 GFW 又把 www.ubisoft.com 拦截了。

在 macOS 和 iOS 下,要想使程序发出的网络连接被另一个程序所接管,而不是直接将数据发送到物理网卡,有以下三种方式:
配置代理:如果系统配置了代理服务器,那么程序在执行网络请求的时候,就不会直接连接目标服务器,而是产生一个发向代理服务器的连接。利用这个特性,可以在本地启动一个代理服务,并配置系统代理为 127.0.0.1 (即本机)的一个端口,这样就可以接管网络请求。
但是,这种方式要求程序自身支持代理机制,系统的代理设置只是告知程序应该使用代理,需要程序自己完成代理的后续逻辑。好在,对于绝大部分带用户界面的程序,由于开发时使用了系统的高层网络框架(Cocoa/Cocoa Touch),开发者不需要进行任何额外的工作就可以支持代理。
而对于命令行程序,由于使用的是 POSIX 接口进行网络请求,该接口并没有对代理服务器提供内嵌支持,所以需要开发者自己完成对代理服务器的支持,这导致各种命令行程序对代理的支持情况和具体行为并不统一。同时由于大部分命令行程序并没有为 macOS 进行特殊处理,所以不会理会系统配置里的代理服务器设置。大部分命令行程序需要通过环境变量 https_proxy 和 http_proxy 去配置代理,还有一部分需要通过修改配置文件进行配置。
https://manual.nssurge.com/book/understanding-surge/cn/

此外,想起来搭建博客的时候,通过 homebrew 下载包时速度慢的难以忍受,一番查阅后发现除了使用国内源,还可以在代理应用中导出 shell command,从而才能让终端也能被代理应用接管。这也就是为什么育碧官方指导建议通过终端查看网络连接是否存在问题。后续针对这一部分内容,可能会再开一个详细的“教程”,先学习一下网络知识吧。


一年过去了,也没写什么东西,12 号过期今天看了一下才发现网站打不开了。还要网站有 grace period 35 天吧。又续费了一年,9.99 美元。好贵啊,这一年还是要多写点东西,也多改变一下网站风格。(25-1-23 16:36:22)


Author
3cc
Posted on
January 12, 2024
Licensed under