wake on lan 远程唤醒

有这么种数据包叫魔法数据包。
这个魔法数据包中包含:有线网卡的MAC地址,SecureOn密码。
计算机关机之后,网卡还会有轻微电流继续工作。
接收到这个包的网卡会检查这个包里的内容,如果MAC地址与自己的一致,就唤醒计算机。
这个需要bios里启用wake on lan,不过没见到过。。。可能是旧版本的bios有这个设置。。也没见到过网卡不支持的情况。。在设备管理器找到网卡,属性里可以找到wake on lan
如果要发送魔法数据包,你需要一些软件去帮助你实现。维基百科下面列出来一些。
https://zh.wikipedia.org/wiki/WOL
需要指定目标ip,如果内网唤醒,那就有点没折腾的意思了。。内网也是可以的,如其名就是为内网准备的。。
不过公网也是可以的,如果目标主机在内网中,需要在路由器中设置虚拟服务器,端口设置为7或9,ip为内网ip,这样发送到路由器的魔法数据包就会转发给目标主机。
获取公网ip,可以使用动态dns服务,只要路由器登录了动态dns,那么ip就填写动态dns给的域名就行。
我参照下面这个脚本写了个页面。。https://osteam.win/wol.php?ip=1.1.1.1&mac=11:11:11:11:11:11
https://github.com/PHPGangsta/WakeOnLAN
不过,还是不要把ip和mac随便透漏给别人,万一有人闲的唤醒你电脑,多不好?

laravel 任务队列

官方文档写得挺好的,不过还是写下自己的理解,省得翻老代码还骂这啥代码,谁写的?

先不管这个文件长啥样,大概了解下原理
laravel 使用 ./artisan queue:work 来作为守护进程执行分发的任务
因为这条命令是由php来执行的,所以在php.ini中有最大执行时间,到了这个时间,不管执行的如何,它都会挂掉
即使最大执行时间足够大,但也可能因为一些不可控因素挂掉。。。
所以要配置supervisor来让它挂掉后重新起来。
把分发任务放到控制器中,然后写路由,然后编辑crontab
如果是web路由,就定期访问访问那个页面分发任务
如果是console路由,就定期执行那个命令
如果由用户控制,或基于事件,比如下面这个,用户提交链接,然后把任务加入队列
现在来写控制器

来设想一个场景,用户提交一个待抓取页面,然后用户就可以去忙别的,或者继续提交。否则,用户只能等上面这个流程走完之后才能提交下一个。这是多么浪费生命的事情?
再来看看这个任务文件

supervisor的配置安装如果有问题,就去看官方的readthedoc文档,看文档去填坑吧。。

记一次 php curl CURLOPT_FOLLOWLOCATION 的使用。。。

因为需求,需要爬虫跟随重定向,设置了 CURLOPT_FOLLOWLOCAT = true; 用 http://baidu.com 测试的。。百度不乖,没有跟随重定向。。在网上找到了两种方法,来查看 response header

发现没有 Location 字段。。加上 CURLOPT_USERAGENT 后,百度乖乖的奉上了 Location 。 终于可以一起愉快玩耍了。

我是有参考资料的人
php-curl-retrieving-response-headers-and-body-in-a-single-request

记一次不完整的社工

先获得的手机号, 第一步, 支付宝转账, 验证姓名, 添加通讯录, 通过各种社交软件修改查询通讯录的权限, 获取其在社交软件上的信息. 比如(微信啊 QQ啊 微博啦) 通过搜索引擎搜索手机号, 进一步挖掘有关网站泄漏的个人信息, 嗯, 以及其在网上的足迹. 不断优化搜索关键词… 使用一些搜索技巧, 比如site:域名 关键词 进行站内搜索 – 符号剔除不相干关键词 ….
其实好长时间没有写了, 水一波……
这次发现泄漏信息最严重的是招聘网站, 尤其实是啥广告都打的便民信息网站. 比如某集啦, site:{{分站}}.mouji.com/jianli/用户{{uid}}x.htm 除了联系方式之外的整个简历就出来了…. 其简历附件, 我见过获奖证书, 驾照, 语言证书… 嗯, 这些东西里有身份证号, 以及一寸免冠照…. 更不用说学历, 教育经历, 户口所在地, 巴拉巴拉的…..所以, 用过的东西的隐私设置一定要设置好. 不过招聘还是去正规的网站好, 相对注重用户隐私些, 虽然他也卖客户简历到别家招聘网站吧…. 一些招聘网站的企业用户, 嗯 也就是给hr用的账户, 还是很好的, 不掏钱不让看完整简历. 没错, 不经过企业认证, 有钱就能看…. 就不打六个点, 你打我啊 🙂
相对于银行卖信息啦, 购房卖信息啦, 外卖卖信息啦… 这些还是可以去避免的, 设置好隐私设置, 比较注重隐私的话就用两个手机号, 再注重的话那就准备多个身份, 哈哈, 多重人格…
嗯, 水够了. 放肆嗨

angular2 重构 wordnet-lite 总结

参照着angular.io上的 heros demo 重构的. 部分小特性没有加进来,视图重新渲染也有点小bug..后续再填坑

开始看了好几天angularjs.org 然后找了本angular2看, 用的typescript, 敲完一个demo, 想着怎么搞成纯js的, 无意中发现 一个是angularjs 一个是 angular2 … 彻底被自己打败了.. 最近不怎么在状态…压力有点大..

大约用了三天,开发环境以及gulp工作流都是参照官网的, 没怎么修改..惭愧..
第一天 环境配置以及shim.js zone.js等文件没有加载, 只加载了一个bundle.js…还没有设置base href属性, 浪费了小半天
第二天 粗心大意, 写模板的时候, *ngFor 语法写错了, 又浪费了半天. 仔细,要仔细
才发现gulp流中加入uglify不会拖慢再次bundle, 反而加快了浏览器jit的时间… 这又浪费了一些时间…
第三天 在服务中添加localStorage缓存, promise返回值问题, 又浪费了半天. 当初是在课上看的promise, 没怎么实践, 这就吃亏了

由于watchify没有显示tisfy编译错误, 导致gulp默认任务跑半天也没个结果…果断ctrl+c结束, 然后再开个panel tsc 直接显示错误, 修改完再执行gulp就可以了..
angular.io上的demo在组建构造函数中注入的时候, 没有加注解, 不知道怎么运行过去的… 找这个原因也浪费了点时间… 是我配置有问题么,求大神指点
export class component 的时候, 不注意拼写错了, 然后再另外一个文件 import 出错… 这个错误犯过几次..
在新建数据结构的时候, 异想天开搞了个嵌套另外一个自定义结构, 也是自己把自己作的.. 文件增多了, 也增加了歧义的几率…
模板绑定数据的时候, 想着修改下数据, 原来是直接取json内容, 然后array.join(‘, ‘) , 结果发现难度不小.. 不过直接在模板中输出数组, 自动添加了join(‘,’)…
模板在一个tag中写两个指令会报错, 可以在ng-container标记中写一个指令, 在这个元素中写另外一个指令

一定要吸取教训, 不要重蹈覆辙…