cx_Freeze

perl的跨平台性不是很好,特别是Win32::SerialPort不支持64位win7。sencld需要一个proxy来发送数据,所以最近转学python去了,为了方便其他人使用,需要封装python3代码为exe格式。py2exe只支持python2.x的,而cx_Freeze支持python2.x和python3.x,还能跨平台,并且分别有32位和64位的安装包。 cxfreeze项目地址:http://cx-freeze.sourceforge.net/ 安装时候需要注意,如果Python不是按照默认路径安装,需要选择对路径,并且安装完之后,直接运行cx_Freeze会提示错误信息:“系统找不到指定的路径。”,cx_Freeze在Python安装目录下的script目录中,用记事本打开cxfreeze.bat可以发现,其中的python路径是错误的,需要手动修改为正确的路径。 使用方法一: 直接使用cxfreeze script进行封装 cxfreeze hello.py –target-dir dist 这是最简单的使用方法。 使用方法二: 使用distutils setup script进行封装,需要写一个python脚本,进行定制化封装。 import sys from cx_Freeze import setup, Executable # Dependencies are automatically detected, but it might need fine tuning. build_exe_options = {"packages": ["os"], "excludes": ["tkinter"]} # GUI applications require a different base on Windows (the default is for a # console…

Continue reading →

站点监控

在监控宝注册了站点监控服务,天天给我发email报告站点下线。无奈只好发了个tk询问原因,客服回复说网络一直木有问题。只要写个小的监控程序丢服务器跑着,看看是否是真的是服务器掉线。 找了一下perl的ping模块,最终选了Net::Ping,因为可以记录响应时间。使用Sqlite数据库保存数据,用highcharts绘制时间的折线图。 以下为相关代码: alive.pl收集特定几个站点的ping响应时间,使用cron定时执行。 #!/usr/bin/perl use strict; use warnings; use DBI; use Net::Ping; my $dbh = DBI->connect("dbi:SQLite:dbname=alive.db","",""); my $dbconn = $dbh->prepare("SELECT * FROM host"); $dbconn->execute(); my @domains; while (my @row_ary = $dbconn->fetchrow_array) { my ($id, $domain) = @row_ary; push(@domains, $domain); } my $p = Net::Ping->new("icmp", 5);; $p->hires(); foreach my $domain (@domains) { my ($ret, $rtt,…

Continue reading →

windows下搭建SSH+GIT服务器

Git 可以使用四种主要的协议来传输数据:本地传输,SSH 协议,Git 协议和 HTTP 协议。其中Git无法授权,HTTP效率差,官方推荐的传输协议为SSH。SSH协议在linux系统相当常见,基本都是透过ssh进行远程访问管理的,svn也可以使用ssh协议进行传输。 搭建GIT需要的程序有: Cygwin Putty msysgit tortiosegit 其中需要注意的是,这4个程序要按顺序安装,有依赖关系。 Cygwin提供的是SSH Server,Putty提供的是SSH Client,msysgit提供Git后端,tortiosegit提供相对方便操作的Git前端。 在安装Cygwin的时候只要把和SSH相关的选上即可,具体该选那些google去吧。装完Cygwin后,执行ssh-host-config进行ssh服务端的配置,把ssh配置到windows服务中去,配置过程中会出现填写账号和密码,这个时候可以选使用windows系统账号,有时候这步完成后会出现ssh账号密码出错,导致链接失败的情况,出现这种问题需要在系统服务中找到cygwin ssh服务,然后修改其中的账号密码。 Putty和msysgit只要按提示安装即可。 tortiosegit在安装的时候需要选择使用Putty作为SSH客户端。 然后使用Pageant生成证书,在tortiosegit中设置好相关参数就可以了。

Continue reading →

ubuntu12.04

前段时间debian 6挂了,昨天重新安了个ubuntu 12.04。新的Unity非常不错,比起11.10发布时候有了很大提高,11.10用的时候还是不稳定,经常出错,很多地方汉化不完全。 最惊喜的发现是,指纹识别功能也可以使用了,登录可以和windows一样,直接刷指纹了,并且更加强大的是需要用到sudo的地方也可以直接刷指纹通过验证。 教程地址如下:https://launchpad.net/~fingerprint/+archive/fingerprint-gui

Continue reading →

四叶草

居然开花了,本来种的是风铃草,可惜开出来的却是蓝目菊。 酢酱草、三叶草,哇咔咔,变异成传说中的四叶草咯!RP不错呀,不愧是本命年。 月见草移植到红陶盆里咯。 天竺葵同样移植到了红陶盆。

Continue reading →

jQuery摇奖代码

一个jQuery写的摇奖小程序,中奖号码在0-999之间随机生成,使用setInterval()循环刷新随机数,当停止时调用clearTimeout()。 测试地址:http://lab.lemontv.me/award.html 代码: var max = 999; //随机函数 rnd.today=new Date(); rnd.seed=rnd.today.getTime(); function rnd() { rnd.seed = (rnd.seed*9301+49297) % 233280; return rnd.seed/(233280.0); }; function rand(number) { return Math.ceil(rnd()*number); }; //切换随机数 function addNum() { var i = rand(max); if(i < 10) { i = "00" + i; } else if(i < 100) { i = "0" +…

Continue reading →

陌陌用户位置查询

最近对LBS类应用感兴趣,稍稍研究了一下,其中就拿陌陌来开刀研究了一下。至于为什么不拿微信,是因为微信传输数据的时候用的是二进制,而陌陌直接是json明文传输,难度较小。 首先发现陌陌在查找用户的时候,能看到你和对方的距离,这是一个带小数点的精确数字。当时就想,如果发送3个不同地点数据欺骗服务器,获取该用户到这3个点的位置,不就可以用三角测量法计算出对方的精确位置了么。当时小小兴奋了一下,然后就抄起家伙,抓包看下是否可以对服务器进行欺骗,然后再计算出对方位置。 为了方便操作,手机打开debug模式,机器上开个终端连接上去,使用自带的tcpdump抓包,然后再把抓到的包丢到电脑上用wireshark刷选查看。 链接手机,打开tcpdump抓包: 手机上速度输入用户的陌陌号查询对方信息,这里选的是10000,陌陌小秘书MM的号。 打开手机的sdcard,拷刚刚抓到的momo.pcap包,用wireshark瞄一下看抓到了虾米东西。momo用的是http传输,在这里只要求筛选出http的包就ok。 只有两个包,一个请求和一个答复,看下都有些什么内容。 图中红框标出1的部分是传递的参数,只有一个字段cookie=session,并没有传送用户的位置,那这个距离如何计算出来的?接着看红框标出2的部分,这里出现好玩的东西了,陌陌直接把对方的坐标发了果然, 然后在手机本地计算出用户之间的距离,汗,这不是在泄露用户隐私么?欺骗获取距离然后三角测量算法用不上了,已经直接获取到对方坐标了。 这个坐标直接拿到google地图或者百度地图上搜索的话,会有偏差,因为这两个地图受政策影响,都做了偏移,用户是无法直接搜索到精确坐标的。但是网上有很多偏移校正算法,google一下,找到了百度的偏移校正算法,对坐标校正后,自己对比了一下,发现还是存在100m左右的偏差,这个偏差和gps的精确度相差太远。经过进一步的暴力反编译分析后发现,不论是陌陌还是微信,基本都是在使用基站定位,所以这个值并不是很准确。 同时发现陌陌在使用基站定位的同时,会收集用户附近ap的mac地址数据,不明白干嘛用的,难道是建立ap数据库,然后其他用户就可以使用ap定位? 最后在今天写了个小程序,丢到新浪SAE上,默认进去看到的红点是陌陌小秘书MM的位置:D,想查谁的就输入对方陌陌好查询就ok,地图坐标经过了校正。新浪SAEhttp://momosearch.sinaapp.com/上放了一个,想玩就抓紧时间,陌陌不知道什么时候会修改API接口。 附上刚刚更新的陌陌小秘书MM位置 声明:严谨非法使用,仅供娱乐。

Continue reading →