Switch to my Notes

[一周总结]19-01-19

鸽了


这次竟然鸽了一个月,特来谢罪。

其实鸽了这么久是有原因的,一是春节假期的到来,二是我之前博客的IP被ban。现在只好把博客迁移到了github上。IP被ban与长期使用SS也是有关联的。这次事件之后我看到了SS(包括SSR)的局限性,也让我知道了 ➢Project V的存在,可以说是意外的收获吧。


1. TCP阻断

- “最近ss老连不上”
- “多半是废~咳咳~多半是被墙了”
- “明明我可以ping的通啊”
- “那绝对就是TCP流量被阻断了”

如果你在vps上搭建了SS相关的服务,某一天突然发现不能用了。你开始怀疑IP是不是被ban了,但是又发现可以ping的通。内心焦虑的你开始痛恨没有好好学习《计算机网络》,并尝试用ssh连上vps,结果ssh也连不上,甚至连你幸幸苦苦在上面搭建的网站也打不开了。“WTF”,你一边在内心疯狂地叫嚷,一边重复地进行ping操作来掩盖自己的不安。

不要慌,这种情况多半是TCP阻断。简而言之,所有走TCP流量都被防火墙直接封锁,而SSH,SS/SSR,HTTP使用的都是TCP。由于ping命令走的是ICMP流量,因此造成了这种通与不通的叠加态。(薛定谔的IP?)

唐伯虎武状元 why life is so hard?

既然TCP不行,那么我们还可以用UDP 啊。因此方法有两种:

  1. 安装KCPTUN,将服务器的某个端口的TCP流量转成UDP流量发出。
  2. 放弃SS/SSR,改用V2ray。

方法1需要在服务端和客户端分别安装KCPTUN,方法2提到的V2ray则是一把瑞士军刀,你能想到的伪装方式它都能提供。

参考:
GFW的TCP封锁猜想
SS/SSR服务器IP被墙 TCP阻断解决方案汇总
关于目前 GFW(墙) 的封锁方式TCP封锁(阻断)猜想


2. Lakka

一个游戏模拟器系统

不知道有多少小伙伴和我一样怀念小时候的游戏时代,无论是街机,红白机(国内更多的是小霸王)还是gameboy,我总是能很清楚地记起那些个伴随着无数次game over的夏日午后。

happy!

"从左到右分别对应我在三个平台上最爱的游戏"

长大以后,我多次尝试在电脑上游玩这些小时候的游戏。很长一段时间我在使用WinKawaksMAME来模拟街机环境。WinKawaks 以简洁著称,但是它支持的roms有限,比如台湾的 西游释厄传三国战纪系列 都不支持。而且对Win7之后的系统存在兼容性的问题。MAME以游戏全面而闻名,随之带来的就是庞大的体积与繁杂的配置。

红白机与gameboy模拟器则是百花齐放,网上搜索关键词 FC NES gb gbc simulator可以出现一堆,甚至我记得Win10的应用商店中也有类似的应用。但由于任天堂公司的最强法务部的存在,很多公开分享roms的网站只能在夹缝中生存。

模拟PSP可以用 PPSSPP,开源而且全平台,实乃真神器也。如果想模拟Wii,N64或世嘉主机呢,那就需要更多的篇幅来讨论了。

那么,有没有一劳永逸的方法呢?有的,那就是Lakka

Lakka 严格来说不能算作某一种模拟器,而是一个集多种模拟器于一身的Linux系统。除了可以模拟街机,红白机和gameboy之外,它还可以模拟雅达利游戏机,世嘉家用游戏机,索尼的ps1,老任的Wii等等。

就像使用其它的Linux系统一样,我们可以把它安装在PC上,或者可以装在类似树莓派这样的主板上。以前我有在树莓派上试过,发现异常地流畅。不要998,只需要一个廉价的手柄,即可找回童年的快乐。

甚至我们可以把Lakka装在 Switch 上,躺在被窝里享受一下童年的乐趣。这个项目还处在不断完善的阶段,目前可能会有一些问题存在,但如果真的完全实现了,Switch将会成为史上最强的模拟器了。(其实我更希望能把LibreELEC移植到Switch上,这样就又少一个买PS4的理由了\狗头。)

nintendo_titan

"感觉过不了老任这一关啊"

3. OI-wiki

“某大型游戏线上攻略”

大年初五去亲戚家拜年,无聊的要死的我打开了github,发现在自己的收藏里躺着一个名为 OI-wiki的项目,下有一行小字 “某大型游戏线上攻略”。当时我抱着这个wiki看了一天,现在想想那时候有多无聊啊。

其实还挺有意思的,对算法有兴趣的可以看看 => OI Wiki

顺带安利下 CTF (Capture The Flag, 夺旗赛):

CTF Wiki
中科大2018年举办的夺旗赛题解


4. Scoop

Windows上的apt

偶然发现的小玩意,可以使用命令行在Windows上安装软件。虽然自己已经把Windows当作steam启动器,但觉得还是可以尝试一下这个新玩意的。(据说还能 自动设置环境变量!)

安装的话,直接用管理员启动Powershell,键入以下命令:

1
2
3
4
5
6
psversiontable.psversion.major # should be >= 3
set-executionpolicy remotesigned -scope currentuser
# 自定义安装路径(可选)
[environment]::setEnvironmentVariable('SCOOP','D:\Scoop','User')
$env:SCOOP='D:\Scoop'
iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

添加扩展支持:

1
2
scoop bucket add extras
scoop bucket add versions

与大多数软件管理器类似,使用 search 查询,install安装,而且比较厉害的是对软件版本的切换,比如切换Python的版本:

1
2
3
4
5
6
7
8
9
10
scoop install python27 python
python --version # -> Python 3.6.2

# switch to python 2.7.x
scoop reset python27
python --version # -> Python 2.7.13

# switch back (to 3.x)
scoop reset python
python --version # -> Python 3.6.2

部分内容来自:
iKoo’s Dirty life


5. 一周总结?一月总结?

“一周总结的来历”

写这个博客的初衷是记录一些与 密码学 相关的内容,但后来发现写着写着就写不动了(看来我个人还是不喜欢写一些“学术”的内容),倒是挖了一堆的坑,至今都没有填上。反而自己平时折腾的一些小玩意就可以很快写完,尽管整个过程就是在自娱自乐。

一周总结的想法不是我自创的,而是受到阮一峰大神 ➢每周分享 的启发。最初的想法很纯粹,只是想找个安静的后花园,分享一下自己的“恶趣味”。内容更是比较杂乱,且不成章法。在这个流量居上的年代,能安下心来写点东西真的不容易(这就是你鸽了这么久的理由?)。 其实写什么不是很重要,难得的是 好奇心 。趁着现在还年轻,没到排斥新鲜事物的年龄之前,尽量多去尝试,探索,这才是我真正想传递给大家的。

Running water never grows stale. So you just have to ‘keep on flowing.’ – Bruce Lee