创世神域

Nothing is impossible.

@Puteulanus4年前

09/26
14:59
学习心得

ACFun_sign红帽安装源

ACFun_sign是PHP吧的吧主——泷涯的多人ACFun签到程序,戳这里近距离感受大神。

这个安装源会自动拉取ACFun_sign的项目源码,在Openshift空间内完成初始化安装。

安装源:https://github.com/puteulanus/ac-sign-install

顺便写了个简易的管理地址,应该比phpMyAdmin管理用户简单一点。。

安装教程参见 《Openshift自动安装签到助手【已失效】》 ,简单说就是选择创建Cacti应用、更改安装源地址、完成创建。

创建完成之后访问 https://应用地址 会看到欢迎页面,请务必牢记页面上的管理地址,它不会再次出现。

Openshift在各地情况不同,https依然无法访问的请自备梯子。

安装源自带Cron设定,会在每天5点到6点间执行一次【参照泷涯的config.yaml设置】,请将外部Cron【或者云监控】设置到 应用地址/index.php ,以避免应用因为太久没有外部访问而停止运行。

首页的一句话来自 一言

管理地址使用方法:

参数type指定操作类型,可以是add【增加用户】或者del【删除用户】
type为add时可以用参数username和password指定用户名密码,程序会自动获取cookie加入用户列表,也可以用参数auth和sha1指定cookie的两个关键片段,直接加入用户。
参数type为del时需要带有参数id来指明需要删除的用户的id。
不加参数访问为查看用户列表,删除用户需要的用户id可以在这里获得。

一些例子:

增加一个用户名为admin,密码为default的用户:
https://管理地址?type=add&username=admin&password=default

增加一个Auth为1234,Sha1为123456的用户【Auth与Sha1对应cookie中的auth_key和auth_key_ac_sha1】:
https://管理地址?type=add&auth=1234&sha1=123456

删除ID为3的用户:
https://管理地址?type=del&id=3

 

刚添加完的用户“上次签到”日期是2014-08-28,这不是bug,照着泷涯的说明填的。。

管理地址可以修改数据库,请不要将你的管理地址随意告诉他人。

需要对数据库进行更高级操作的可以给应用添加phpMyAdmin,然后登陆进行管理。

ACFun_sign红帽安装源

@Puteulanus4年前

08/16
02:15
学习心得

Sublime Text 3 在OS X下配置Java编译

Java安装什么的不说了,主要是Sublime Text默认的Java处理方式还真就是“编译”,会弄个class文件出来但没有去执行。

找了好多教程,基本都是写个脚本替换掉sublime-build里的javac,强迫症表示这样弄实在是不舒服。

其实在sublime-build里使用shell_cmd是可以使用&&作为分隔符的,直接改配置文件就能达到编译+运行的目的。
Read More →

Sublime Text 3 在OS X下配置Java编译

@Puteulanus4年前

08/9
01:33
各种吐槽

123System这价钱太凶残了

之前接到123System的邮件,说它被ChicagoVPS的父公司New Wave NetConnect收购了。感叹了一下这货自作孽不可活,顺便有点小心动。ChicagoVPS我之前有在用,没出过什么岔子,这次123System被收购会不会扭转它之前的形象呢?

邮件里附送了一个6折优惠码,想着折扣不错就去123System的页面看了看。。。结果一下就陷入了“买买买”的深坑。

标准价钱:

屏幕快照 2014-08-09 上午1.04.47

优惠码折扣后:

屏幕快照 2014-08-09 上午1.06.42

200软妹币年付啊【揉脸】,即使它有黑历史还是没忍住,试着入了一个。。
Read More →

123System这价钱太凶残了

@Puteulanus4年前

08/3
15:56
学习心得

色魔张大妈签到

撸了个什么值得买的每日签到程序,因为网站登陆处提示“两周内免登录”,估计cookie只能存两周,干脆每次签到使用账号密码获取一次cookie。
话说什么值得买的登陆居然是get,密码以明文参数形式传递。。。大丈夫?
代码:

  1. <?php
  2. header(“Content-type:text/html;charset=utf-8”);
  3. // 设定用户名密码
  4. $username = ;// 邮箱
  5. $password = ;// 密码
  6. // 模拟登陆获取cookie
  7. $time = time().rand(100,999);
  8. $url = ‘http://www.smzdm.com/user/login/jsonp_check?user_login=’.$username.’&user_pass=’.$password.’&rememberme=0&is_third=&is_pop=1&captcha=&_=’.$time;
  9. $ch = curl_init($url);
  10. curl_setopt($ch,CURLOPT_HEADER,1);
  11. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
  12. $content = curl_exec($ch);
  13. preg_match_all(‘/Set-Cookie:(.*;)/iU’,$content,$str);
  14. curl_close($ch);
  15. foreach ($str[1] as $key) {
  16.     if (strpos($key,’deleted’) == false){
  17.         $cookie .= $key;
  18.     }
  19. }
  20. // 使用cookie签到
  21. $time = time().rand(100,999);
  22. $time2 = $time + 2;
  23. $url = ‘http://www.smzdm.com/user/qiandao/jsonp_checkin?callback=jQuery’.’11100′.rand(1000,9999).rand(1000,9999).rand(1000,9999).rand(1000,9999).’_’.$time.’&_=’.$time2;
  24. $curl = curl_init();
  25. curl_setopt($curl, CURLOPT_URL, $url);
  26. curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
  27. curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1);
  28. curl_setopt($curl, CURLOPT_COOKIE, $cookie);
  29. curl_setopt($curl, CURLOPT_TIMEOUT, 30);
  30. curl_setopt($curl, CURLOPT_HEADER, 0);
  31. curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  32. $str = curl_exec($curl);
  33. if (curl_errno($curl)) {
  34.     echo ‘Errno’.curl_error($curl);
  35. }
  36. curl_close($curl);
  37. echo $str;

需要的可以在我的Github上复制
基本一个格式的AcFun签到就不单独开新文章了

色魔张大妈签到

@Puteulanus4年前

06/17
01:01
学习心得

技术宅社区(DZ论坛)自动签到

嘛,那论坛的积分不计算在线时长的,不然和我在狮城论坛一样24小时挂机就好了。。。

不过还好,签到程序不算复杂,用Firebug看了下POST信息,试着弄了个自动签到的PHP程序。

  1. <?php
  2. header(“Content-type:text/html;charset=utf-8”);
  3. // 设定cookie和网址
  4. $cookie = “”;
  5. $URL = “http://www.gn00.com/plugin.php?mobile=1”;
  6. // 获取formhash
  7. $UserAgent = ‘Mozilla/5.0 (Linux; Android 4.1; Galaxy Nexus Build/JRN84D, compatible iPhone) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19’;
  8. $str = loadcode($cookie,$URL,$UserAgent);
  9. preg_match_all(‘#formhash=(.+)&amp#sU’,$str,$m);
  10. // 设定POST信息
  11. $data = ‘formhash=’.$m[1][0].’&qdxq=yl&qdmode=3&todaysay=&fastreply=0′;
  12. $URL = ‘http://www.gn00.com/plugin.php?id=dsu_paulsign:sign&operation=qiandao&infloat=1&inajax=1′;
  13. $UserAgent = ‘Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:30.0) Gecko/20100101 Firefox/30.0’;
  14. $Referer = ‘http://www.gn00.com/plugin.php?id=dsu_paulsign:sign’;
  15. // 模拟签到并输出回执
  16. print_r(vpost($URL,$data,$cookie,$UserAgent,$Referer));
  17. function loadcode($cookie,$URL,$UserAgent)
  18. {
  19.   $ch = curl_init();//初始化curl
  20.   curl_setopt($ch,CURLOPT_COOKIE,$cookie); //设置cookie
  21.   curl_setopt($ch,CURLOPT_URL,$URL);//抓取指定网页
  22.   curl_setopt($ch, CURLOPT_HEADER, 0);//设置header
  23.   curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[$UserAgent]); // 模拟用户使用的浏览器
  24.   curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
  25.   return curl_exec($ch);//运行curl
  26.   curl_close($ch);
  27. }
  28. function vpost($url,$data,$cookie,$UserAgent,$Referer){ // 模拟提交数据函数
  29.   $curl = curl_init(); // 启动一个CURL会话
  30.   curl_setopt($curl, CURLOPT_URL, $url); // 要访问的地址
  31.   curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0); // 对认证证书来源的检查
  32.   curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 1); // 从证书中检查SSL加密算法是否存在
  33.   curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER[$UserAgent]); // 模拟用户使用的浏览器
  34.   curl_setopt($curl, CURLOPT_COOKIE, $cookie);
  35.   curl_setopt($curl, CURLOPT_REFERER,$Referer);// 设置Referer
  36.   curl_setopt($curl, CURLOPT_POST, 1); // 发送一个常规的Post请求
  37.   curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // Post提交的数据包
  38.   curl_setopt($curl, CURLOPT_TIMEOUT, 30); // 设置超时限制防止死循环
  39.   curl_setopt($curl, CURLOPT_HEADER, 0); // 显示返回的Header区域内容
  40.   curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); // 获取的信息以文件流的形式返回
  41.   $tmpInfo = curl_exec($curl); // 执行操作
  42.   if (curl_errno($curl)) {
  43.     echo ‘Errno’.curl_error($curl);//捕抓异常
  44.   }
  45.   curl_close($curl); // 关闭CURL会话
  46.   return $tmpInfo// 返回数据
  47. }
  48. ?>

刚刚跨过12点试了一下【前一天的签到抓POST信息了】,签到成功,重复执行的话会返回今日已经签到的提示。

挂了个12小时一次的Cron,跑两天看看吧。

需要源码的朋友可以去我的Github复制。

技术宅社区(DZ论坛)自动签到

@Puteulanus4年前

06/16
22:28
各种吐槽

淡淡的忧桑

撸个PHP的DZ论坛签到程序,前面一直很正常,改了下Referer之后,再运行就没返回值了,把Referer改回去了也没用。

一行一行检查。

能想到的原因都想了。

查到最后一行的时候。。。

“卧槽这个Loading哪儿来的?”

居然。。。是在线文件管理器卡了给我加了一个Loading在文件末尾orz。。。

T_T淡淡的忧桑挥之不去。。。

淡淡的忧桑