是一个高中的小朋友写的,真是令我等汗颜阿(虽然不是学计算机的,另,该小朋友还写了很多有趣的程序,甚至包括一个简单的操作系统,感兴趣的童鞋可以去他的主页看看),试过了可以用,很不错的样子,呵呵,考虑用expect写个小的qq机器人了:)
下载MyQQ3.1(包含源码和linux/win下的可执行文件)
Try this page for a terminal QQ:
http://home.xxsyzx.com/home/read.do?id=1222
With myqq, you can easily login Tencent QQ Server using QQ2009 Protocol and chat with your Q friends. Unlike openQ, LumaQQ, MyQQ just needs a basic linux system to run!
已经修正Linux下的编译问题。
Linux编译:
在终端里执行
make -C src -flinux.mak clean all
由于最初没有周全考虑,目前版本暂时不兼容64位的机器,望见谅!
Update History:
Version 3.13 (2009-3-29)
1. Linux(Ubuntu) version compiled!
Version 3.12 (2009-3-22)
1. 用Windows的Sleep代替不推荐的_sleep。
2. 在Mingw32-gcc4.3.3上编译成功。
Version 3.11 (2009-2-8)
1. 输入验证码提示。
2. 修正myqq.c删除好友的bug。
3. 修正添加附言的bug。
Version 3.10 (2009-2-7)
1. 修正09接收消息协议。
2. 全部源代码文件更改为UNIX-UTF8格式。
3. 增加Preference来自定义屏蔽部分协议。
4. 增加添加、删除好友基本协议,支持验证码。
5. 登录后更改状态。
6. 登录机器数据随机填充。
7. 修正myqq.c里无法打印某些消息的bug。
Version 3.08 (2009-1-27)
1. 修正myqq.c里显示好友状态。
2. 修正因缺少pthread_mutex_destroy引起的资源泄漏(可以检测到)。
3. 修正好友数目多时导致分组信息与群信息未能获取的问题。
4. 10分钟刷新群在线成员。
5. 自动建立qqconfig.txt配置文件。
Version 3.03 (2009-1-26)
1. 修正prot_im.c中buf->pos += get_word( buf );在Linux上运行时发生的错误。
2. 编译Linux版本。
3. qqconfig.txt缺失提示。
Version 3.00 (2009-1-25)
1. 更换QQ2008贺岁版协议为QQ2009Preview4协议。
2. 全面使用utf8,myqq.c为Windows用户转换为gb。
3. 移除所有多余,功能不确切的协议处理函数。
4. 能够接收08,09协议的好友消息与群消息。
5. 处理消息中的表情字符,转换成[face:*]以及[image]来表示。
Other download, Linux & Friends, program
下载网络上的一些资源时候经常会遇到要求你安装乱七八糟的流氓下载软件才能下载的情况。其实这些连接只是很简单的base64加密,用脚本可以轻松搞定,再将其关联到ff的话就可以直接获取原始连接,再调用普通下载软件去下载了,这个脚本就是干这个的^^(还有图形界面阿)。
依赖:base64, zenity, axel, xsel
用法:将脚本保存,并赋予可执行权限。
关联到firefox的方法:about:config里面新建一个Boolean,名字为 network.protocol-handler.external.thunder,值为true ,再新建一个String,名字为 network.protocol-handler.app.thunder,值为本脚本的保存路径。其他快车/qq旋风等同理(尾部换成.flashget和.qqdl)。也可以不关联到ff,从终端调用方法:
ps:这个只是取得加密的链接,不要指望会真的有迅雷那样的速度。唉,真是流氓有速度,谁也挡不住阿。。
脚本:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
| #!/bin/bash
#*********************************************
# Name: mutidown
# Version: 090218
# License: GPLv3
# Author: xiooli <xiooli@yahoo.com.cn>
#*********************************************
Save_dir=~/Download #最后面请不要加“/”,不然保存文件的时候可能找不到路径。
Max_num=20 #在此设定axel的最大连接数
[ ! -d "$Save_dir" ] && mkdir -p "$Save_dir"
#下载链接,给出一个下载进度条,并且当点击“取消”的时候将该axel废掉武功。
DOWNLOAD() {
local axel_info axel_tty axel_pid
axel -n "$Max_num" "$1" -o "$2/$3" |while read a;do
echo "$a" |grep "^[\[D]" |sed 's/^\[ *//;s/%.*$//;s/^Download.*$/100/'
done |zenity --progress --auto-close --text="下载 $True_url 至 $2" --width="350" 2>/dev/null &
axel_info="`ps ax |grep "axel.*$1" |awk '{print $1"-"$2}'`"
axel_tty="`echo $axel_info |sed 's/^.*-//'`"
axel_pid="`echo $axel_info |sed 's/-.*$//'`"
while :;do
if ! [ "`ps ax |grep "$axel_tty.*zenity"`" ];then
[ "`ps -A |grep "$axel_pid"`" ] && kill -9 "$axel_pid"
break
fi
sleep 1
done &
}
#出来一个动作选择菜单,选择下一步动作。
UI() {
local choice file_name save_dir
choice="$(zenity --list --title "保存文件 -- `basename "$0"`" --text "默认保存目录为:$Save_dir \n解析得URL:$True_url" \
--column "选项" --column "动作" \
A 下载至默认目录 B 选择目录并下载 C 保存链接到剪贴板 2>/dev/null)"
case "$choice" in
'A')
file_name="$(zenity --entry --title="重命名文件 -- `basename "$0"`" --text="请输入一个文件名(取消则按链接默认命名)" 2>/dev/null)"
DOWNLOAD "$True_url" "$Save_dir" "$file_name"
;;
'B')
save_dir="$(zenity --file-selection --directory 2>/dev/null)"
file_name="$(zenity --entry --title="重命名文件 -- `basename "$0"`" --text="请输入一个文件名(取消则按链接默认命名)" 2>/dev/null)"
DOWNLOAD "$True_url" "$save_dir" "$file_name"
;;
'C')
printf "$True_url" |xsel -i -b
;;
esac
}
#从$1获取加密地址,并将其解码出来。
DECODE() {
local str
str="$1"
if [ "`echo "$str" |grep -i "^thunder"`" ];then
True_url="`echo -n "$str" |sed 's/^[Tt]hunder:\/\///' |base64 -d |sed 's/^AA//;s/ZZ$//'`"
elif [ "`echo "$str" |grep -i "^flashget"`" ];then
True_url="`echo -n "$str" |sed 's/^[Ff]lashget:\/\///' |base64 -d |sed 's/\[FLASHGET\]//g'`"
elif [ "`echo "$str" |grep -i "^qqdl:"`" ];then
True_url="`echo -n "$str" |sed 's/^qqdl:\/\///' |base64 -d`"
else
True_url="$str"
fi
[ ! -z "$True_url" ] && UI
}
DECODE "$1" |
Script command, download, Script
RT
极小的压缩包,里面有不同大小的CHANGES文件的压缩包,按照你自己的需要解压相应的压缩包即可得到对应大小的CHANGES文件,然后将其复制到JOOLIX目录下即可。
1
2
3
| xiooli(~)>> ls CHANGES
CHANGES-100m.tar.bz2 CHANGES-300m.tar.bz2 CHANGES-500m.tar.bz2
CHANGES-200m.tar.bz2 CHANGES-400m.tar.bz2 CHANGES-50m.tar.bz2 |
下载地址:点我
Joolix download, Joolix, Linux & Friends, save data
说明:
登录用户: joolix,登录密码: joolix
Joolix 是一个基于 Ubuntu 的移动操作系统(8.04版是基于 Ubuntu jeos-8.04.1-jeos-i386),采用了类似 Slax 的 lzm 模块形式,模块分为 base 模块(即系统需要的模块)和 modules 模块(即应用程序模块),不论是基础模块还是应用程序模块都可以自由更换,你可以自由的选择模块来构建自己所需要的系统,采用某模块与否其决定去完全在你(当然能不能正常工作就是另一回事了:))。
Joolix 也是一个及其轻量级的系统,基本系统带 Gnome 桌面及中文支持, Fcitx输入法,Opera 浏览器,Smplayer 播放器及 Evience pdf 阅读器才 180 多 M,你完全可以将其放进 U 盘里面随身携带, 不用担心你使用后的资料会丢失,Joolix 完全支持自动数据保存,你只需在 JOOLIX 文件夹里面创建一个块文件,将其命名为 CHANGES 并格式化为 ext3 等 linux 文件系统就可以了。如果你的机器不支持从 U 盘启动,那也没有关系, 在 JOOLIX 文件夹下面有一个生成 ISO 文件的脚本/批处理文件,只要运行之变可以将你拼凑好的系统变成一个 ISO 文件,你可以用虚拟机来测试其是否能够正常工作再决定将其刻录成光盘与否。在 linux 下你可以简单的用 kvm 来测试(下面命令中的 kvm 也可换为 quem) :
sudo kvm -cdrom JOOLIX.iso -localtime -m 500
安装:
安装 Joolix 是非常简单的。
一,安装到 U 盘:
将 boot 文件夹和 JOOLIX 文件夹复制到 U 盘根目录,然后运行 boot 文件夹里面的 bootinst.sh(在 linux 下)或 bootinst.bat(在 windows 下)即可。安装好以后你可以自己向 U 盘里面 JOOLIX 文件夹里的 base 和 modules 文件夹增添 lzm 模块。
二,刻录到光盘:
使用 JOOLIX 文件夹里面的 make_iso.sh(linux 下)或 make_iso.bat(windows 下)来创建 ISO 文件,切记先检测其是否能正常工作,然后以光盘映像刻录到光盘便可以使用了。(注意,光盘不能保存数据:()
下载:
下载地址:http://ftp.ubuntu.org.cn/home/xiooli/Joolix-8.04/
用户名:ubuntu
密码:ubuntuftp
(谢谢叶大的 ftp,眼泪哗哗地阿)
你还可以在这里下载:http://www.hatoyu.com/Joolix/
(感谢Hato Yu同学的分流:))
其中,Joolix-80411-base_gome.tar.gz 是基本系统,带 gnome 桌面,中文支持,fcitx输入法及一些 gnome 小组件,额外应用程序请到 lzms 目录去下载,并放至 JOOLIX/modules 目录。
希望大家试用并提出改进意见 :)
Joolix download, jeos, Joolix, Linux & Friends, live OS, slax, ubuntu
最近评论