花生壳站长的灭顶之灾:未来家庭宽带没有公网ip

这两天电脑坏了,一下子错过了好多热闹事啊。用的vpn的服务商也跑路了,gfw又封了蛤蟆吃,ccf又作了大死……最震惊的消息是国内家庭宽带可能在今年四月之前完成转换,用户ip将全为以10开头的内网ip

这条消息是从google+上面看到的,某未知人士称上面的通知,今年四月之前家庭宽带将会停止使用公网ip。不过这也是必然事件呢,自从ipv4地址耗尽之后必须出来一个解决方案来应急。不过这回的改动如果属实的话那些用花生壳私自建站的站长就彻底遭殃了。问题的解决还是要依靠ipv6,然而据我所知国内绝大多数的家庭宽带是通过廉价的路由器进行接入,然而,那些主流的路由器完全不支持ipv6。未来OpenWRT的路由器应该会更过吧,大概。

 

软件无线电SDR入门

电脑终于修好了,来更新一下博客……这两天玩了玩软件无线电,于是就来介绍一下


 

所谓软件无线电、软件定义无线电就是依靠软件来处理无线电数据的技术,捕获芯片捕获原始的数据而计算机对原始数据进行进一步分析。这样通过软件你可以轻松搭建自定义的射电监控平台

软件无线电的开源硬件平台是大名鼎鼎的HackRF,但是很不幸,这块板子的价格不是一般人能够承受的。然而那些Hacker或者Geek老外自制了黑科技来玩。他们发现Realtek的某些做电视棒的芯片很适合做SDR,于是他们就做了一系列黑科技软件。不过为了接收射频信号我们还是需要对电视棒进行改造啦(注意,这里指的电视棒并不是那些拿来收看网络电视的天朝黑科技,那种只是天朝的JS们骗人的东西。如果你不知如何购买可以去某宝搜SDR+电视棒)

电视棒的改造也很简单,具体的就是重新接一下射频的输入头。不过你要是需要短波的输入,你就需要某些黑科技来实现啦。


玩了SDR之后发现无线电果然是三烧之一啊,银子花花的就用掉了wwwww

 

吐槽一下华硕的笔记本的电源设计

一件非常不幸的事情发生了:我的笔记本主板的电源模块烧毁了。随便就在这个地方说一说华硕主板电源的设计的一些缺陷。

华硕主板的供电大概是在电源适配器的输出之后分成两路,一路给15v的电池充电,另一路应该是减压之后给整个主板使用。如果你尝试着把话说主板的电源输入的正负极短接的话,非常不幸,你的电脑会瞬间掉电。由于某些非官方的电源适配器的接头的金属面积可能更大,有的DC插头在华硕笔记本的电源插口里面就会有短路的风险。并且从实际来蓝我已经短路了好多回了。

没有短路保护是一个问题,更致命的是没有反接保护!由于返接的时候电流相当大,瞬间主板的电源模块就烧毁。

总之不管怎么说,华硕的主板的电源模块设计是在是太潦草了。

 

谨以此文纪念我坏掉的电脑wwww

GFW这次升级的原理推测

面对着GFW的升级,相当多的梯子的作者也是纷纷表示和GfW进行斗争已经没有意义。我这里也花了一些时间稍微看了看GFW升级之后的情况。由于我在教育网,所以这个结果不一定是全国的普遍情况。
fqrouter的作者声称这次GFW的升级是进行全球范围的拔网线。这个一点都不假,这车升级之后GFW不会像以前以前一样在国际出口检测之后发送RST包进行阻塞了。GFW现在的行为直接是在骨干路由进行丢包。我这里对Google进行一次tracert的测试:
通过最多 30 个跃点跟踪
到 google.com [173.194.127.192] 的路由:

1 2 ms 2 ms 2 ms 180.201.128.1
……
6 8 ms 8 ms 9 ms 119.167.86.53
7 36 ms 36 ms 36 ms 219.158.10.81
8 * * * 请求超时。
显然,在骨干网就被丢包了。
现在一个能访问的google ip,一旦你进行访问,那么过上半分钟左右它就会被添加到黑名单里面。这个速度应该不是通过路由表扩散进行污染的应该是通过某种新的技术来进行可编程的拦截。经过测试发现这个设备确实就是出口路由了,它的下一跳就已经是国外的ip。
虽然说没有太多的实验,基本确定了这次升级之后GFW会尝试自动扩展黑名单并且在国际出口墙掉它们。

方滨兴教授祝您身体健康

吐槽一下minecraft forge 1.8的改动

众所周知,去年年末,微软成功收购了MoJang公司从而掌握了Minecraft等游戏,有许多开发者离开了原来的开发团队。在Minecraft Forge 团队虽然宣布将会把forge的项目继续下去但是Minecraft Forge的创始人之一的cpw离开了Minecraft Forge团队。在以前的时候有相当多的Minecraft Forge的API都是在cpw的个人的名字的包里面,由于cpw离开,Minecraft Forge团队也是把cpw下面的包都该到了Forge的命名空间下面,并且没有任何提前声明,就活生生的直接就突然在新版本中重新修改了API的位置。这根本没有办法让开发者适应,开发者不得不重构代码才能在新的版本下面开发。而Minecraft Forge团队似乎也意识到了自己的行为有一些愚蠢,于是在新版的Forge测试版里面又有了一份cpw命名空间下面的代码,但是如果你把旧版本的Mod直接在这上面运行会由于无法强制类型转换而导致游戏崩溃;换句话讲就是cpw下面的代码是根本没有办法工作的。简直就是Lex想一出是一出的改动,forge的各种改动好烦啊,又要去更新教程呢……

2015新年大礼:GFW再次大升级,fqrouter已死,goagent已死

上个月低GFW屏蔽Gmail服务之后,今年GFW一上来就来了一个惊喜,该屏蔽的都屏蔽了。
fqrouter的作者昨天在twitter上表示项目停止维护。而GoAgent的作者也停止了GoAgent这个项目。也就是说原本大约40%的翻墙者不得不更换新的工具。
这一次的屏蔽似乎并不是简简单单的普通的屏蔽,而是带有回访功能的更加智能的骨干网丢包。我这里的以前通过hosts修改来访问google,而现在当我查找到能使用的google ip并且尝试访问之后的几分钟之内,这个ip地址就被阻断,然而该ip可以ping通,而80端口tcp包却没有任何应答,而443端口的tcp也是中途就会丢失。由于并不知道google的mac地址,所以不能实际确定这次是使用的路由表污染还是使用的选择性丢包完成的。至于更进一步的研究就要等着我有更多时间之后进行仔细的研究。
至于这次的GFW升级的影响肯定还是很大的。不管GFW怎么升级,VPN或者SS这种麻雀战以及XX门这种XX功的东西肯定是不会消亡的。如果中国阻断PPTP协议的话,那么许多外国企业就完全没有办法在中国办公了。而XX门那种工具有着政治对手的支持肯定也不会消亡。所以这次升级直接的后果肯定就会使现在翻墙工具变得更加单一化。
总之,方教授真是给了一个新年大礼啊。本来还想写一篇关于GFW的论文,结果GFW就升级了……你特么在逗我

php文件函数windows系统编码bug

最近在windows的php环境突然发现windows的php的文件函数文件名都是使用的GBK编码没有使用utf-8编码。于是需要手动转换一下编码。当然了linux系统都是使用的utf-8编码就没有这些问题啦。

我写了一些常用的函数的包装,供大家方便使用

$Server_System;
if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
    $Server_System = 'windows';//filename will be changed into utf-8 in windows
} else {
    $Server_System = 'linux';
}

function my_file_exists($path)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }
    return file_exists($path);
}

function my_file_get_contents($path)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }
    return file_get_contents($path);
}

function my_filemtime($path)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }
    return filemtime($path);
}

function my_file_put_contents($path,$data)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }
    return file_put_contents($path,$data);
}

function my_is_dir($path)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }

    return is_dir($path);
}

function my_md5_file($path)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }
    
    return md5_file($path);
}

function my_sha1_file($path)
{
    global $Server_System;
    if($Server_System == 'windows')
    {
        $path = iconv('utf-8','gbk',$path);
    }
    
    return sha1_file($path);
}

快被bug弄崩溃了

到处都是bug,bug,bug。刚刚修复了那个php CDN的文件编码之类的bug,现在又出来了莫名其妙的调用失败的bug。

做的nodejs的蜘蛛也是被nodejs的异步给恶心到了,嘛,早知道就不用nodejs给自己自找麻烦了,哎,不能实时同步查询数据库简直无情。

神经网络这面的程序也是错误多的好多,莫名其妙的训练不了了……不管了,总之各种操蛋

轻量级php文件同步:LIGHTphpCDN

嘛,很不要脸的来推广自己的项目了。一个开源的轻量级的PHP写的文件同步系统。当然目的是为了管理CDN的了,所以名字也就叫CDN了,至于是不是CDN嘛,看你怎么用啦。

为什么要写这个项目呢,主要是前一段时间被我的php空间恶心到了,由于是虚拟主机,只能使用ftp进行上传。由于想利用php免费空间建立下载镜像,所以就一怒之下写了这个软件。

软件的说明什么的在项目目录里面,不过是英文写的罢了。

项目主页:https://github.com/manageryzy/Light-php-CDN