shadowsocks – 折腾(存档) https://blog.sorz.org 已停止更新和维护。该页面为2018年3月创建的存档,其内容可能已过于陈旧、与现状不符,仅作为历史存档用作参考。 Sun, 14 Jan 2018 11:08:20 +0000 zh-CN hourly 1 https://wordpress.org/?v=4.9.4 Shadowsocks-java /p/ss-java/ /p/ss-java/#comments Fri, 29 Mar 2013 16:49:49 +0000 http://ouno.tk/?p=347600 Update 130905: 注意这只是一个练习,日常使用推荐 Pythonnode.js

Shadowsocks-java你懂的 软件的客户端的 java 版本。

Python, node.js, Go, C, C#, Ruby, Javascript 各种版本都有了,似乎没见到 Java 版..(Android 客户端用的是 C 版
抱着 改改然后出安卓收费版 积攒一下经验值的想法,试着用 Java 重写了一遍这玩意..

获得成就:

  • 习得 java Socket 编程基础
  • 明白 select 是何物
  • 习得 Socks5 协议基础
  • 了解归并排序
  • ……

只写了原始的 table 加密,归并排序那段是抄现成的。
后来才知道有 Arrays.sort(T[], Comparator) 无需自己写排序,但 byte[] 要转成 Byte[] (?) 我怕影响效率就没动了。

网络那段和 Python 版的一样,用了线程和 select。每个连接一个线程,转发数据用 Selector 。期间反复参考了这篇文章
本想全改 select 的但是当时还不太明白 Selector 怎么用,下次也许能写出来了。

具体用法参照 README。传送门在文章开头。

]]>
/p/ss-java/feed/ 7
为 Shadowsocks 客户端加入 HTTP 代理支持 /p/ss-http/ /p/ss-http/#comments Fri, 11 Jan 2013 12:24:57 +0000 http://ouno.tk/?p=347540 shadowsocks你懂的 软件,SSH -D替代品。

SOCKS5 代理自己用着是没问题的,但普及以及携带使用的时候,HTTP 代理会更方便些(无 DNS 污染问题)…

代码在这,基于 0.9.2。
先放 pastebin 上了.. git 用不清楚就先不 fork 了..  – –
(虽然改得比较丑,但使用起来没问题啦

]]>
/p/ss-http/feed/ 2