Felix Yan | 2011-07-28 | 2,956 views
声明: 本文采用方法来自 http://blog.lifetoy.org/2010/01/31/isatap-behide-nat/, 我仅仅是写了一个自动配置脚本(不包括配置路由器).
首先, 这个方法只能让内网一台机器用上ISATAP隧道(仅仅是简单的转发了相关数据包而已). 主要步骤分为两个:
- 配置路由器转发协议号41的数据包到你的内网机器
- 修改本机的ISATAP相关配置(拥有外网环境则会自动完成这一步, 内网环境需要手动处理一些问题)
只有一部分路由器本来的FIRMWARE支持转发协议号41的数据包, 如果你用的路由器不支持, 那就只能尝试dd-wrt或者openwrt了. 如果你的路由器很不幸的也不能刷这类自定义固件, 那也就没办法了..(嗯)
Linux类环境可以使用iptables实现转发(假设你的内网IP地址为192.168.0.10, 网关IP为192.168.0.1, 下同):
iptables -t nat -A PREROUTING -d 192.168.0.10 -p 41 -j DNAT --to 192.168.0.1 |
openwrt则可以修改文件 /etc/config/firewall: (此段为转载)
config redirect
option src wan
option dest lan
option dest_ip 192.168.0.10
option proto 41 |
至此, 第一步就做完了.
第二步, 可以用下面的脚本自动完成.
原文给出的bat脚本我在win7和winxp里都试过, 不能发挥应有的作用, 而且每次外网ip变动时都需要修改, 这对于动态ip用户更是无法接受的. 于是我用Python重写了一个脚本, 目前只能在XP系统使用. (其实要在Win7下用应该只需要很小的修改, 不过我暂时没测试环境:P)
注: 脚本中写的是上交的isatap隧道服务器配置, 如需使用其他服务器, 稍加修改即可.
Read the rest of this entry »
Felix Yan | 2011-07-27 | 1,528 views
效果: 调用后用鼠标选中一矩形区域, 截图后上传到imgur, 上传成功后复制图片的外链地址到剪贴板, 并弹出系统提示, 然后删除本地保留的临时图片文件.
脚本(其实就一行 – -)
sleep .1; scrot -bs -e 'curl -F "image=@$f" -F "key=486690f872c678126a2c09a9e196ce1b" http://imgur.com/api/upload.xml | grep -E -o "<original_image>(.)*</original_image>" | grep -E -o "http://i.imgur.com/[^< ]*" | xclip -selection c; notify-send "Screenshot has successfully uploaded to `xclip -selection c -o`";rm -f $f' 2> ~/screenshoterr.log |
注: 可以把这个脚本绑定到WM/DE的快捷键上, 比如我绑定的是类似QQ的 Ctrl+Alt+A
注2: 不加sleep .1的话, 用KDE快捷键绑定调用的时候存在时不时失灵的问题, 暂不知为什么, 其他环境未测试.
拆解一下scrot自动调用的部分:
上传图片:
-
curl -F "image=@$f" -F "key=486690f872c678126a2c09a9e196ce1b" http://imgur.com/api/upload.xml |
提取图片直接外链地址
-
grep -E -o "<original_image>(.)*</original_image>" |
-
grep -E -o "http://i.imgur.com/[^< ]*" |
Read the rest of this entry »
Felix Yan | 2011-07-18 | 1,703 views
Felix Yan | 2011-07-12 | 2,220 views
由于猫每次在一个临时测试点此测试一大片服务器的延迟和丢包, 一个个去跑太蛋疼, 于是用PyQt做了这么个小工具来测试各种线路的延迟丢包等信息.
这是我的第二个PyQt作品= =|||
截图:

(Archlinux / KDE4 环境下)

(Windows XP)
这个工具我已经初步实现了跨平台(在以上截图环境下运行正常), 在编写过程中, 我有如下的收获:
- 不可以在子线程中直接操作UI, 以免引起资源冲突导致Segmentation Fault
- 使用Queue类可以初步实现子线程与UI线程更新界面的通信. Signal方面, 我实例了一个QTimer, 每隔一定时间处理一次消息队列.
- QTableView比QTableWidget效率高得多, 尤其是在Win32平台下. 因此应尽量采用 QTableView + QStandardItemModel 的搭配来做Table
Read the rest of this entry »
Felix Yan | 2011-07-07 | 1,897 views
QQ Windows版偷偷做坏事的事情已经被争论了很久很久了, 作为一个终端用户, 我自然希望风险越小越好…
然而, 自从 aQQ For Android 被封杀以后, 手机上QQ就没什么好方法了…官方QQ特别臃肿, 而 QQ For Pad 更是带了个虚拟桌面出来, 无用功能实在太多.
不过, jimmy 酱 上次给我看的一个限制应用程序权限的方法, 给了我一个启发.. 像我这样的轻度QQ用户(只是偶尔需要和QQ上几个特定的人联系), 在手机上为此装个QQ而且整天挂着, 实在是太重口了…
而 QQ For Pad 带了一个系统桌面挂件, 可以添加六个联系人, 可以和他们之间收发消息, 支持图片发送接受, 支持语音视频聊天(各种美)… 本猫在尝试禁止它的一些权限后, 现在认为这个方法比较靠谱, 也比较安全, 因此共享出来
下面是配置步骤(真的不会很复杂的= =). 哦对了, 这是使用 CM 的 ROM 时的配置方法, 其他 ROM 我不清楚是否可以这么用, 以及怎么用…
1, 首先从菜市场正常安装 QQ For Pad

Read the rest of this entry »