Socks5代理netty重制版 Jul 10, 2019

这是一个新的、使用netty实现的、使用http协议进行混淆的socks5代理。解决了前作sogo项目因go内存回收机制/内存复用机制弱带来的cpu/内存占用高的问题。

...
Windows10电源管理-睡眠问题解决 Jul 7, 2019

这是很久之前写在CSDN上的一篇文章,现在迁移到自己的博客上,主要介绍windows10睡眠、电源管理方面的问题。

...
Centos7安装ss5、squid Jun 15, 2019

减少造轮子,安装已有socks5、http代理。这里的ss5和squid是不能达到FQ的目的的,要实现这个目的,请查看之前的其他文章。

...
Systemd服务文件编写-centos7下 Jun 7, 2019

以前的博客中有如何使用shell脚本重启应用的教程,也有解决tty的最大打开文件数量限制的方法。其实这些都可以用systemd服务的方式解决。今天就来一个简单的service文件,记录下怎么使用。

使用如下命令即可编写sogo服务的service文件,并设置开机自启动。

...
Centos7备份/恢复与网卡配置 May 10, 2019

这是我没搞过的东西,慢慢来,一点一点记录下。

...
二十二年•纪 Apr 27, 2019

感谢刘港欢大学四年来1218天的陪伴

这是悦悦毕业论文的致谢中的一句话。一篇论文,洋洋洒洒,突然就写到了最后的致谢,这才恍然间发现,我们也过到了大学生涯的结尾。今天4月27日,我刚满22周岁不久。20多年的生命,我从来没有好好回忆过,思考过。想了一想,总归要抖一抖胸中不多的墨水写点什么。借着这个机会,要说说我生命里遇到的那些人,那些事。

...
Netty实现自定义流式解析器 Apr 26, 2019

tcp分包一般在pipeline的前部使用DelimiterBasedFrameDecoder, FixedLengthFrameDecoder, LengthFieldBasedFrameDecoder, or LineBasedFrameDecoder,分别适用于固定分隔符、固定长度帧、长度字段、换行符分割四种情况。但是,这四种不能涵盖tcp分包的全部情况,举个栗子:http协议的解析就不是上面四种中的一种。解析http协议或者其他自定义协议时,就需要用到ByteToMessageDecoder创建自己的“流式”解析器。netty的http解析器(HttpObectDecoder)就是继承ByteToMessageDecoder并override decode方法实现的。

...
go使用sync.pool实现复用[]byte——降低IO密集应用的GC频率 Apr 14, 2019

前一篇文章介绍了sogo这个socks5代理的实现,在原始的sogo实现中,有一个重大的问题是:没有复用内存,导致频繁GC,导致cpu占用很高。对于socket通信这种io密集的应用,复用[]byte还是很重要的,不然每次去make新的[]byte,这些[]byte迟早要被GC,这就导致了cpu占用高的问题。解决这个问题也很简单,就是引入内存池。

...
Sogo—使用http协议进行混淆/伪装的socks5代理 Apr 10, 2019

之前写了一个http代理,用起来也是十分地舒服,但是有几个点还是有些遗憾的:

  • http代理只能代理http协议,相比socks5代理不够通用。。
  • netty是个好框架,但是java占用内存是真的多。。

所以,我又写了一个socks5代理,起名叫sogo

sogo本身包含sogo(client)和sogo-server。如果把sogo和sogo-server看成一个整体,一个黑盒,这个整体就是一个socks5代理。sogo(client)与本地电脑交互;sogo-server与目标网站交互;sogo(client)和sogo-server之间的交互就是http协议包裹payload进行通信。

...
响应式iframe 16:9—hugo博客嵌入youtube视频 Apr 10, 2019

其实只是博客中想嵌入16:9的youtube视频,但youtube官方的嵌入代码是固定宽度1280,高度720,在手机上表现十分不好。因此有了这个偏前端的主题。

...