? Editing: Post:21.body Save Delete Cancel
Content changed Sign & Publish new content

r3df0x Blog

贴一些自己使用的文章

关注更新已关注

最新评论:

PyHook

on Jan 20, 2017

PyHook是一个基于Python的“钩子”库,主要用于监听当前电脑上鼠标和键盘的事件。这个库依赖于另一个Python库PyWin32,PyWin32只能运行在Windows平台,所以PyHook也只能运行在Windows平台。下面主要学习了以下几点:
如何设置鼠标和键盘的“钩子”
事件信息
如何传递和屏蔽事件
pythoncom 任何应用程序想得到鼠标和键盘的输入事件通知,都必须有一个Windows的消息通道。最简单的方法是使用在Win32扩展的Python包pythoncom 的PumpMessages方法。
import pythoncom
pythoncom.PumpMessages()
Mouse Hooks 要接收鼠标事件,你必须创建一个HookManager对象,并提供它会为您感兴趣的事件的回调。例如,你可以选择接收只有左边的按钮按下事件,鼠标移动事件,或所有鼠标事件,仅举几例。每个事件类型可以被定向到一个且只有一个回调函数。

import pythoncom, pyHook 

def OnMouseEvent(event):
    # called when mouse events are received
    print 'MessageName:',event.MessageName
    print 'Message:',event.Message
    print 'Time:',event.Time
    print 'Window:',event.Window
    print 'WindowName:',event.WindowName
    print 'Position:',event.Position
    print 'Wheel:',event.Wheel
    print 'Injected:',event.Injected
    print '---'
    # 返回 True 以便将事件传给其它处理程序
    # 注意,这儿如果返回 False ,则鼠标事件将被全部拦截
    # 也就是说你的鼠标看起来会僵在那儿,似乎失去响应了
    return True

# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.MouseAll = OnMouseEvent
# set the hook
hm.HookMouse()
# wait forever
pythoncom.PumpMessages()

Keyboard Hooks 键盘“钩子”的运行方式和鼠标的相似,只是返回的信息不同。

import pythoncom, pyHook 

def OnKeyboardEvent(event):
    print 'MessageName:',event.MessageName
    print 'Message:',event.Message
    print 'Time:',event.Time
    print 'Window:',event.Window
    print 'WindowName:',event.WindowName
    print 'Ascii:', event.Ascii, chr(event.Ascii)
    print 'Key:', event.Key
    print 'KeyID:', event.KeyID
    print 'ScanCode:', event.ScanCode
    print 'Extended:', event.Extended
    print 'Injected:', event.Injected
    print 'Alt', event.Alt
    print 'Transition', event.Transition
    print '---'

 # 同鼠标事件监听函数的返回值
    return True

# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()

Event Filtering 键盘和鼠标事件的回调可以决定是否允许事件讯息传递给他们的窗口。如果一个回调函数返回True,允许消息传递给其他应用程序,然后到它的目的地已注册的回调。如果函数返回FALSE,消息被封锁。

import pythoncom, pyHook 

def OnKeyboardEvent(event):
  # block only the letter A, lower and uppercase
  return (event.Ascii not in (ord('a'), ord('A')))

# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()
阅读全文

zeronet上的良心网站啊~~

on Nov 22, 2016 ·
2 comments
阅读全文

linux crontab 使用

on Nov 13, 2016

sudo crontab -l #查看任务列表
sudo crontab -e #编辑定时任务
基本格式 :
        *  command
分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用或者 /1表示
第2列表示小时1~23(0表示0点)
第3列表示日期1~31
第4列表示月份1~12
第5列标识号星期0~6(0表示星期天)
第6列要运行的命令

30 7 * * * /home/pi/hosts/tools/lhosts
30 6 * * * /home/pi/dnsmasq-china-list/git_fetch.sh
每天 7:30 执行/home/pi/hosts/tools/lhosts
每天6:30 执行/home/pi/dnsmasq-china-list/git_fetch.sh

阅读全文

检查进程是否存在,如不存在就重启脚本

on Nov 13, 2016
#!/bin/sh
ps -fe|grep launcher/start.py|grep -v grep
if [ $? -ne 0 ]
then
echo "Restart process....."
sudo nohup /home/pi/GoGo-1.8.0/start.sh &
else
echo "runing....."
fi
#####

launcher/start.py 为进程关键字

阅读全文

树莓派版的Lantern

on Nov 13, 2016
阅读全文

树莓派开机启动文件

on Nov 13, 2016

sudo nano /ect/rc.local
编辑此文件加入命令即可

阅读全文

破解华为光猫hg526

on Nov 13, 2016

先用光猫后面的帐号密码登录后 把址改成http://192.168.1.1/backupsettings.conf下载backupsettings.conf(不能用迅雷或其它下载工具)。备份好这个原始的conf文件以防万一。 再用记事本打开backupsettings.conf,查找telecomadmin,在附件找超级密码

登录
telcomadmin
telecomadmin25097626

MDAxNzY0AA==
MDAxNzY0AA== base64 001764

阅读全文

推荐3个国外BT站

on Nov 03, 2016
阅读全文

ubuntu查看系统资源占用(内存,cpu和进程)

on Sep 13, 2016

linux真是太强大了。

查看ubuntu的资源占用的命令为$: top
top命令就可以查看内存,cpu和进程了,很方便

top:

主要参数

d:指定更新的间隔,以秒计算。

q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。

c:显示进程完整的路径与名称。

S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。

s:安全模式。

i:不显示任何闲置(Idle)或无用(Zombie)的行程。

n:显示更新的次数,完成后将会退出to

显示参数:

PID(Process ID):进程标示号。

USER:进程所有者的用户名。

PR:进程的优先级别。

NI:进程的优先级别数值。

VIRT:进程占用的虚拟内存值。

RES:进程占用的物理内存值。

SHR:进程使用的共享内存值。

S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数。

%CPU:该进程占用的CPU使用率。

%MEM:该进程占用的物理内存和总内存的百分比。

TIME+:该进程启动后占用的总的CPU时间。

Command:进程启动的启动命令名称,如果这一行显示不下,进程会有一个完整的命令行。
top命令

《空格》:立刻刷新。

P:根据CPU使用大小进行排序。

T:根据时间、累计时间排序。

q:退出top命令。

m:切换显示内存信息。

t:切换显示进程和CPU状态信息。

c:切换显示命令名称和完整命令行。

M:根据使用内存大小进行排序。

W:将当前设置写入~/.toprc文件中。这是写top配置文件的推荐方法。

free

1.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

2.格式

free [-b-k-m] [-o] [-s delay] [-t] [-V]

3.主要参数

-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。

-s delay:显示每隔多少秒数来显示一次内存使用情况。

-t:显示内存总和列。

-o:不显示缓冲区调节列。

uptime

18:59:15 up 25 min, 2 users, load average: 1.23, 1.32, 1.21

现在的时间

系统开机运转到现在经过的时间

连线的使用者数量

最近一分钟,五分钟和十五分钟的系统负载

参数: -V 显示版本资讯。

vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----

r b swpd free buff cache si so bi bo in cs us sy id wa

0 1 24980 10792 8296 47316 5 19 205 52 1161 698 26 3 1 70

1 观察磁盘活动情况

磁盘活动情况主要从以下几个指标了解:

bi:表示从磁盘每秒读取的块数(blocks/s)。数字越大,表示读磁盘的活动越多。

bo:表示每秒写到磁盘的块数(blocks/s)。数字越大,表示写磁盘的活动越多。

wa:cpu等待磁盘I/O(未决的磁盘IO)的时间比例。数字越大,表示文件系统活动阻碍cpu的情况越严重,因为cpu在等待慢速的磁盘系统提供数据。wa为0是最理想的。如果wa经常大于10,可能文件系统就需要进行性能调整了。

2 观察cpu活动情况

vmstat比top更能反映出cpu的使用情况:

us:用户程序使用cpu的时间比例。这个数字越大,表示用户进程越繁忙。

sy:系统调用使用cpu的时间比例。注意,NFS由于是在内核里面运行的,所以NFS活动所占用的cpu时间反映在sy里面。这个数字经常很大的 话,就需要注意是否某个内核进程,比如NFS任务比较繁重。如果us和sy同时都比较大的话,就需要考虑将某些用户程序分离到另外的服务器上面,以免互相 影响。

id:cpu空闲的时间比例。

wa:cpu等待未决的磁盘IO的时间比例。

iostat

用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量

参数:

-c 只显示CPU行

-d 显示磁盘行

-k 以千字节为单位显示磁盘输出

-t 在输出中包括时间戳

-x 在输出中包括扩展的磁盘指标

avg-cpu: %user %nice %sys %iowait %idle

20.25 0.18 2.61 76.39 0.57

%iowait 等待本地I/O时CPU空闲时间的百分比

%idle 未等待本地I/O时CPU空闲时间的百分比

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn

hda 9.86 284.34 84.48 685407 2036

每秒传输数(tps)、每秒512字节块读取数(Blk_read/s)、每秒512字节块写入数(Blk_wrtn/s)和512字节块读取(Blk_read)和写入(Blk_wrtn)的总数量。

阅读全文

两个web翻墙代理

on Sep 11, 2016 ·
2 comments
阅读全文

纪录片网站:老记录

on Jul 31, 2016 ·
2 comments

全部ed2k链接。http://www.laojilu.com

阅读全文

ubuntu服务管理

on Jul 31, 2016

Ubuntu下管理启动服务

方式一:

查看服务列表代码
service --status-all

启动开机时的服务代码
sudo update-rc.d -f myservice default

停止开机时的服务代码
sudo update-rc.d -f myservice remove

方式二:

安装代码
sudo install sysv-rc-conf

执行代码
sudo sysv-rc-conf

阅读全文

pip设置阿里云的镜像源,速度超级快

on Jul 30, 2016

linux下运行命令
vi ~/.pip/pip.conf
然后写入如下内容并保存
[global]
trusted-host = mirrors.aliyun.com
index-url = http://mirrors.aliyun.com/pypi/simple

阅读全文

Linux目录解释

on Jul 24, 2016

/bin:bin是binary(二进制)的缩写。这个目录是对UNIX系统习惯的沿袭,存放着使用者最经常使用的命令。例如:cp,ls,cat。

/boot:这里存放的是启动LINUX时使用的一些核心文件。

/dev:dev是device(设备)的缩写。这个目录下是所有LINUX的外部设备,其功能类似DOS下的.sys和Win下的.vxd。在LINUX中设备和文件是用同种方法访问的。例如:/dev/hda代表第一个物理IDE硬盘。

/etc:这个目录用来存放所有的系统管理所需要的配置文件和子目录。

/home:用户的主目录,比如说有个用户叫liubin,那他的主目录就是/home/liubin也可以用~liubin表示,说到这里,打个岔,你现应该明白在我们访问一些个人网页(如http://www.liubin.net/~liubin)的时候,~liubin就是表示访问www.liubin.net站点中的用户liubin的用户主目录。
如果这个网站的操作系统是LINUX,那就是表示/home/liubin。

/lib:这个目录里存放着系统最基本的动态链接共享库,其作用类似于Windows里的.dll文件。几乎所有的应用程序都需要用到这些共享库。

/lost+found:这个目录平时是空的,当系统不正常关机后,这里就成了一些无家可归的文件的避难所。对了,有点类似于DOS下的.chk文件。

/mnt:这个目录是空的,系统提供这个目录是让用户临时挂载别的文件系统。

/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。也就是说,这个目录的内容不在硬盘上而是在内存里啊!?

/root:系统管理员,也叫作超级权限者的用户主目录。当然系统的拥有者,总要有些特权啊!

/sbin:s就是Super User的意思,也就是说这里存放的是一些系统管理员使用的系统管理程序。

/tmp:这个目录不用说,一定是用来存放一些临时文件的地方了。

/usr:这是个最庞大的目录,我们要用到的很多应用程序和文件几乎都存放在这个目录下。具体来说:
/usr/X11R6 存放X-Windows的目录;
/usr/bin 存放着许多应用程序;
/usr/sbin 给超级用户使用的一些管理程序就放在这;
/usr/doc 这就是LINUX文档的大本营;
/usr/include LINUX下开发和编译应用程序需要的头文件,在这找;
/usr/lib 存放一些常用的动态链接共享库和静态档案库;
/usr/local 这是提供给一般用户的/usr目录,在这安装软件最适合;
/usr/man man是什么,对了是帮助。这里就是帮助文档目录啊!
/usr/src LINUX开放的源代码,就存在这个目录,爱好者们别放过哦!

/var:这个目录中存放着那些不断在扩充着的东西,为了保持/usr的相对稳定,那些经常被修改的目录可以放在这个目录下,实际上许多系统管理员都是这样干的。顺带说一下系统的日志文件就在/var/log目录中。
  这里列出了最常见的目录,根据LINUX发行套件的不同,目录结构也是有一定差别的。还有你自己建立的目录,我当然不知是存什么的。希望上面的文字能使你在大脑里留下了LINUX的全景图,以便大家深入掌握LINUX的其它方方面面。

(已经知道了就不用看了,当做偶留个备份)

阅读全文

无界浏览16.03正式版(2016年7月11日) Emule(电骡/电驴) 下载连接

on Jul 23, 2016

ed2k://|file|GIFC_20160711_ultra_1603.zip|2567878|6B82086CFFA995F646DF255E4F53CAE0|/

Linux版:
http://wujieliulan.com/download/u1603
SHA1: bc3afb2a878d54913ac16fb261878ea050e32bae
MD5: e61a5deac7826d066e8ec94bd98fc54b

Linux版使用方法:
下载后打开一个终端,chmod +x u1603,然后执行:./u1603, 默认监听地址:127.0.0.1:9666。需要手动设置浏览器代理。
如需要监听 0.0.0.0:./u1603 -L=”0.0.0.0:9666″ 或 u1603 -L=”:9666″
如需要通过代理: ./u1603 -P=“1.2.3.4:8080” 或 ./u1603 -P=”socks://1.2.3.4:1080″
./u1603 -h 会給出提示。

阅读全文
Add new post

Title

21 hours ago · 2 min read ·
3 comments
Body
阅读全文

Not found

Title

21 hours ago · 2 min read

0 Comments:

user_name1 day ago
回复
Body



当前已连接 0 个节点

知者無涯 © 2016 | Powered by ZeroNet [ open, free, and uncensored ]
This page is a snapshot of ZeroNet. Start your own ZeroNet for complete experience. Learn More