又一年过去了

眨眼直接又一年过去了,一年之中博客都没有什么更新,没得写,生活一如既往

国外访问国外视频网站

老婆大人把ipad带去澳洲了,走之前装的一对打发时间的视频app,诸如 优酷,爱奇艺,土豆,迅雷之类,谁想到碰到了一个问题,国外居然禁止访问国内的视频网站。会有下面的提示

国外观看优酷土豆等版权视频

国外禁止访问国内的视频网站

于是到网上一顿搜索,发现碰到同类问题的人还真是不少,伟大的中国人。不过就跟抢火车票的插件一样,任何限制在伟大的程序员面前都是渺小的,这不就是接下来要说的Unlock Youku

设置如下,参考说明在这里

注意,使用或安装本程序代表您同意:本程序仅为交流学习之用,造成的任何后果与程序作者无关。

作为 Chrome 扩展的一个副产品,Unblock-Youku 的源码也可以当作一个代理服务器来运行,用来给别的浏览器和移动设备解除地域限制。

  1. 相对于 Chrome 扩展程序,这种直接设置代理服务器的模式会有安全隐患。如果代理服务器被黑,则可能造成个人隐私泄漏或财产损失。程序作者及服务器提供者对任何可能的后果概不负责。
  2. 因为技术上的原因,这种代理模式功能比较受限,实际不能解封太多的网站。需要更加全面的功能还是建议使用 Chrome 浏览器。
  3. 代理服务器资源有限,欢迎技术达人尝试运行自己的服务器。本文最后给出了简单的介绍。

未能做详细的测试,有问题可以在这里新开一个 Issue,或者查找之前的 Issue 中的解决办法(例如 Issue #55 和 Issue #65)。

不过因为个人精力有限,只对这个代理服务器做适当的技术支持。

代理设置示例

简单的来说,只用给浏览器或者 iOS 设备设定一个代理自动配置 PAC (proxy auto-config) 文件就可以了。PAC 文件的地址为

http://yo.uku.im/proxy.pac

下面是 iPad, Firefox 和 IE 的设置截图。

iOS 的设备可以在当前使用的WiFi的高级选项里设置 HTTP 代理。

Firefox

IE


检查代理设置是否成功

按照上面的步骤设置之后,可以在浏览器中打开页面 http://uku.im/check

如果页面显示的是 true,便说明代理设置已经生效,例如下图中的结果


代理服务器状态监控

提供下面的状态图便于查看代理服务器最近的运行状态,点击图片可以得到更详细的信息。


运行自己的服务器

服务器端程序是基于 Node.js 写成,并且代码已经放在了 npm 仓库里,下载和运行均很方便。

注意:这个代理服务器暂时只能运行在本地电脑,或者 Linode、AWS 等 VPS 平台上。

1. 下载安装 Node.js

Windows 和 Mac 的安装文件可以从这里下载 http://nodejs.org/download/

Linux 可以直接通过包管理系统安装,具体参考 https://github.com/joyent/node/wiki/Installing-Node.js-via-package-manager

2. 命令行下载安装 ub.uku.js

Unblock-Youku 在 npm 仓库中的名字为 ub.uku.js,可以很方便地在 Mac/Linux 的 Terminal 或 Windows 的 Node.js Command Prompt 中用一条命令安装。

Linux / Mac

sudo npm install -g ub.uku.js

Windows

npm install -g ub.uku.js

3. 运行 ub.uku.js

Linux / Mac 下直接运行

ub.uku.js

Windows 下运行

ub.uku.js.cmd

另外还可以使用命令行参数

  • --ip=10.1.2.3:指定监听的本机 IP 地址,默认为 0.0.0.0,即监听本机所有的 IP 地址。
  • --port=8080: 指定监听端口,默认为 8888。
  • --local_only: 仅允许同一台电脑上的别的软件连接代理服务器,不允许网络上的别的电脑连接。
  • --ext_ip=1.2.3.4:指定外网访问用的 IP 地址,即 PAC 文件中的代理服务器的 IP 地址。方便在内网架设服务器时使用。默认会使用程序搜索到的本机的第一个 IP 地址。
  • --ext_port=1234: 指定外网访问用的端口号,即 PAC 文件中的代理服务器的端口号码。默认直接使用内网的端口号。
  • --mitm_proxy: Debug 用代理模式,可以当作普通的 HTTP 代理服务器直接使用。特定的 URL 还是会经过国内的代理服务器。
  • --nolog: 不再显示网络访问日志,只提示错误信息。

下面是实际安装和运行的截图:

Linux / Mac

Windows

换笔记本

工作了5年的T61最终还是倒下去了,传说中的“显卡门”,也该退出历史舞台了,哈哈。
正好借此机会更新笔记本,不过换了一个二手的T410,速度内存都上来了,加上ssd当系统盘,还是很不错的,总共才2500块。

更新T410

换本本了

老本子坏掉了,换了新的

一人开车回家

不知道哪儿来的勇气,终于在这个国庆节放假期间得以实现,自己一个人很不可思议的开车回老家了,可是500公里的路程呢,路上拥堵就不说了,不过好在有惊无险,安全到家。
经此一役,反而把自己的胆量给锻炼出了,什么路段都经历了一下,很多不可思议的第一次就这么一下子过去了,想想真的很很“吓人”的呢,嘿嘿。

开张大吉

再次开张了,希望这次能长久坚持下去。

扁桃体发炎

从周末开始就觉得嗓子有点不对劲,吞咽起来感觉有些疼痛,果然周一晚上就变严重了,嗓子两边肿的老大,咽唾沫都难受,可不能重现去年发烧的情景,想起来都难受,于是开始拼命喝热水。
早上起来,LP给刮痧了一阵子,顿时舒服了不少,早饭是银耳莲子糖水梨一起炖的,希望对嗓子管点用吧。

org.springframework.dao.IncorrectResultSizeDataAccessException

今天在写一个游戏接口的时候,以为数据库中就一条记录,想当然的写下了

select appid, code, name, url from hall_games where code=:code

测试机上一运行就出现这个异常。
org.springframework.dao.IncorrectResultSizeDataAccessException: Incorrect result size: expected 0 or 1, actual 8: com.xiaonei.in.dao.LoginUserDAO#getHallGameInfo

于是查看文档。
Data access exception thrown when a result was not of the expected size, for example when expecting a single row but getting 0 or more than 1 rows。
当期望返回的结果记录是1时,如果返回值为0或者>1会抛此异常。于是修改sql,当需要一条数据的时候,还是老实加上limit 1比较好。

select appid, code, name, url from hall_games where code=:code limit 1

倒腾kindle

为了充分利用上下班路上的无聊时间,特此购入kindle一只,这几天就断断续续的折腾它了,原生的英文系统看上去到是没什么障碍,就是简体中文会出现乱码,好多的“口”字,有点小郁闷。为了完美起见,于是借助google和度娘了,方案无非几种:
1.书名用繁体中文,但是内部还是有可能出现乱码。彻底解决办法,用绑定的邮箱把电子书以附件的形式发送到“username@free.kindle.com”,处理好了kindle会自动下载下来。
2.书名继续用简体中文。但是需要把区域码转换一下:

;debugOn
~changeLocale zh-cn
;debugOff

重启,完工。
3.越狱,安装中文的阅读系统-多看。最新系统的3.2.1广告版有点小麻烦,会出现升级不成功的现象,具体安装可以参看这篇文章
—————-
一、JailBreak
1. 安装Lu Yifan提供的JailBreak程序,下载地址:http://yifan.lu/files/kindle-3.2.1-jailbreak-0.5.zip
2.解压后请选择适合自己机器的bin,例如我们是广告WIFI版,就选择update_jailbreak_0.5_k3w_install.bin,这个文件。
3.将这个文件放到自己电脑D盘的根目录,并用数据线将USB和KINDLE3连上电脑,记录下kindle的盘符,本文中以G盘为例。
4.打开一个DOS窗口,切换到D盘(输入d:),并输入以下命令,先不要按回车:
for /l %i in (1,1,10000000) do dir G: && copy update_jailbreak_0.5_k3w_install.bin G: && exit
粗体的字母都替换为你的kindle在电脑中的盘符。
这个脚本的作用就是不断尝试往Kindle的盘里复制升级的固件直到成功为止。只要Kindle盘被电脑识别到,就会复制进去,同时会退出循环,刚开始没有被识别的时候,会看到无法找到G盘之类的报错,是正常的,一旦识别到,执行成功,DOS窗口就退出了。
PS.我的理解是在某个恶心的进程启动之前将bin复制进去。
5.弹出后,[Home]->[Menu]->”Settings”->[Menu]-”Restart”
6. 看到小树界面,并显示STARTS UP后,到电脑上刚才的DOS窗口,就可以按下回车键,然后就等待Kindle启动。
7.启动完了之后,弹出Kindle,[Home]->[Menu]->”Settings”->[Menu]-”Update Your Kindle”。如果出现感叹号提示升级失败,请重新来过吧。
二、安装多看
1.下载附件,解压传输到Kindle根目录。

http://dl.dbank.com/c06iq92lj7

3、弹出后,[Home]->[Menu]->”Settings”->[Menu]-”Restart”
可能需要重启几次才能看到多看的切换系统界面。

9.4 周末记录

周六去北新妇例行产检,一切顺利,担心了半天的黑手赵黎,据LP说今天心情还不错,估计开药开的不错的缘故吧。
周日继续保持赶集的优良传统,又是大集,人多不再形容,到了新天地,已经快10点了,直奔鱼市,鲫鱼很快就要卖完了,先弄两条,回头慢慢做汤喝,然后旁边排队买鲜活的散养母鸡,价格当然是杠杠的了,居然18块一斤,是三黄鸡价格的两倍。等了半个小时,55块钱就不见了,换了一个3斤多点的小母鸡,期待炖汤的味道。
去的晚有晚的好处,走过去的时候小红薯还是2元3斤,等回来已经是5毛了,其实也差不多多少,不过小红薯确实很赞,蒸熟了口感很不错。然后继续去固定地点,买一个老头家的蔬菜,都是自己种的应季菜,价格实惠,吃的健康,豆角,茄子,黄瓜,毛豆,10元搞定一堆。接下来买花生,今年吃了不少次的花生+毛豆了,比外面的大排档划算多多。桃子每次都不能少,10元6斤,虽说个头小了点,不过好吃就行。本来是打算去找月饼模具的,结果没找到,没得卖了,有点惋惜,另外卖了几件便宜衣服,于是下午一通感慨,买衣服真是个利润大大的行业。

新增2件电子产品

1.换手机诺基亚 1280。6600在“苟延残喘‘了若干年之后,终于忍无可忍了,于是乎便换了个手机,为了不抛弃原来的号码,继续选择待机时间超长的1280了,只用来接电话和收短信,感觉还算不错。
2.购入Kindle。漫长的上班路途,觉得还是看书比较好,起先用ipad,但是觉得实在太沉了,拿了几天之后,就变成家庭专用机了,还免去了电脑开机的麻烦。G2的屏幕又小,看txt还勉强可以,换成pdf就忍无可忍,尤其是那些扫描的面目全非还带水印的。入了一周了,用着还算舒服。