Vagex Robot Reborn!

2014-02-15 11:15:17 +08:00
 horsley
还是那句话
不需要装x,不需要vnc,不需要firefox,不需要插件,纯php刷vagex点
使用的时候换掉代码开头的vagex id 和 youtube email即可

========扯淡开始分割线========
早几天有人问起我vagex的事情,我想想唉我已经不玩好久了,上次发帖公开VagexRobot是一个月前,不过代码是一年前写的,那时候的我喜欢各种协议分析,想想做这个东西的初衷,就是觉着它本质上一个第三方是不能得知视频是不是真的看了,而且我自己经常买那种low end vps呢还装x装vnc装ff太麻烦了,于是就想办法弄虚作假,分析它,从插件的代码到分析他的上报流量,协议比较简单,跟我高中设计的用各种分隔符的形式很相似,两三下robot就写好了。
但是有个问题是当时插件里面的代码还是有很多看不懂的,压缩混淆过,所以有的参数根本不知道是啥只能抓包看看发的范围是啥自己随机模拟一下,没想到也能过关用了一年之久。
这次我又花了一些时间重新去分析最新版1.6.4的插件,本质没啥变化,倒是这次借助ide(简单查找替换是不行的),经过我自己的理解,把混淆后的各种abcde标识符重命名了!!然后还查了里面用到的一些firefox的api都干啥用的,所以这下对这个插件工作细节有了更加深刻的认识。然后我还整理了时序问题,那插件里面各种匿名函数(闭包?我不懂)各种异步回调,是很乱的,时序整理出来之后我就比较精确的得到到底正常提交的延时限制是多少,这个对于提升效率很重要。
***本来想放个捐赠的想想还是算了虽然这几天搞这东西常搞到5点不睡,谈钱伤感情呐,觉着有用的v友就点个感谢或者回帖吧***
========扯淡完毕分割线========

========what's new===========
更高的效率,单个任务提交睡眠延时减少至少10秒!(这边测试单ip 8小时得分一千多一点)
重构的代码 / 补充足够注释 / 多处数值调整 / 真正的AllInOne (原代码有点看不下去了)

========你们最关心的=========
VagexRobot:
https://gist.github.com/horsley/12a14498e02c994e0664

========插件分析相关=========
vagex-1.6.4-plugin_core_run.js:
https://gist.github.com/horsley/5e5300e5a4d78ed3e6bd
这个是我分析插件反混淆之后的代码,有兴趣的v友可以看看指点指点
我是做后台的,前端的东东不太懂

ps:不科学为啥发的gist链接只显示了id? @Livid
18583 次点击
所在节点    分享创造
129 条回复
zeroday
2014-05-01 22:50:23 +08:00
@yqt 所以第二天就可以恢复呢?
horsley
2014-05-02 00:06:44 +08:00
@yqt 不是挂的公开的代理吧…… 这个问题是有可能发生的,不过你的解决方案不一定能解决
实测这样做对方服务器仍有可能返回HTTP 100, 我的解决方案是在取返回的时候过滤100响应头
yqt
2014-05-02 01:29:47 +08:00
@horsley 感觉这个做成配置项就差不多了,毕竟只是少数情况。
为了更高效的响应,client请求返回100,server返回100让client慢慢传是合理的。

只不过个人遇到的问题是client发了expect 100-continue头却因为代理不支持(比如Squid3.0以前的版本,417错误)而report失败:/
ptsa
2014-05-02 16:59:29 +08:00
[2014/05/02 16:59:08] [INFO] A new loop of a video array start
[2014/05/02 16:59:08] [INFO] Requesting new Show Array.
[2014/05/02 16:59:08] [ERROR] Cut Show Array Failed
[2014/05/02 16:59:08] [WARN] fail update video array, sleep 20 seconds
ptsa
2014-05-02 17:03:54 +08:00
New Feature in the firefox update, Manual viewing. Check it out in Version 1.6.7. Please give your Feedback, and how you think it should best be integrated, how many credits per manual view and whether you would use it to promote your videos.
Note: For first time use please stop Auto viewing before clicking Manual from the menu.
yanyuechuixue
2014-05-05 09:37:04 +08:00
已经开始间歇性的不好使了,版本号改成1.6.7也不行……
popu111
2014-05-06 18:21:22 +08:00
@yanyuechuixue 我一直用着,没问题啊。。。
jisu20162
2014-05-06 20:27:19 +08:00
最近经常出现这个,都是长时间的... 伤不起啊.
[2014/05/06 20:16:02] [INFO] Deal with item:CFGQtT-IN1g
[2014/05/06 20:16:02] [INFO] Let's sleep for 36 seconds
[2014/05/06 20:16:38] [INFO] Wake up, report processed
[2014/05/06 20:16:38] [INFO] report_processed start
[2014/05/06 20:16:39] [WARN] sever return error msg:Video has been deleted, has
run out of credits or was viewed for the incorrect length
[2014/05/06 20:16:39] [INFO] Fail:
[2014/05/06 20:16:39] [INFO] Deal with item:NJqP4SFTGH0
[2014/05/06 20:16:39] [INFO] Let's sleep for 127 seconds
[2014/05/06 20:18:46] [INFO] Wake up, report processed
[2014/05/06 20:18:46] [INFO] report_processed start
[2014/05/06 20:18:49] [WARN] sever return error msg:Video has been deleted, has
run out of credits or was viewed for the incorrect length
[2014/05/06 20:18:49] [INFO] Fail:
[2014/05/06 20:18:49] [INFO] Deal with item:lhXCC96v-bc
[2014/05/06 20:18:49] [INFO] Let's sleep for 96 seconds
[2014/05/06 20:20:25] [INFO] Wake up, report processed
[2014/05/06 20:20:25] [INFO] report_processed start
[2014/05/06 20:20:27] [WARN] sever return error msg:Video has been deleted, has
run out of credits or was viewed for the incorrect length
[2014/05/06 20:20:27] [INFO] Fail:
[2014/05/06 20:20:27] [INFO] Deal with item:_wsdILX32Qs
[2014/05/06 20:20:27] [INFO] Let's sleep for 157 seconds
[2014/05/06 20:23:04] [INFO] Wake up, report processed
[2014/05/06 20:23:04] [INFO] report_processed start
[2014/05/06 20:23:06] [WARN] sever return error msg:Video has been deleted, has
run out of credits or was viewed for the incorrect length
[2014/05/06 20:23:06] [INFO] Fail:
jhytxy
2014-05-07 16:43:36 +08:00
最近好惨.....同楼上
popu111
2014-05-07 18:45:11 +08:00
@jisu20162 这是服务器的问题,重启,或者换一下列表(这个里面内置的视频列表已经略久了)(你这已经不错了,Chrome的插件更坑,有一次我挂了300多个Views,才不到100Earnt,还占了我500M的内存。。。)
jisu20162
2014-05-08 00:49:28 +08:00
@popu111 额,服务器重启后过一会又是这样。。怎样更换列表?现在基本上30秒的才能上分。。。
popu111
2014-05-08 07:06:56 +08:00
@jisu20162 好吧,解包了一下最新1.6.7的插件,发现列表没换,看来是那些视频提交者提交的视频有问题了,这样的话你就算正常挂也要出错。。。
jisu20162
2014-05-08 11:46:46 +08:00
@popu111 我3个IP挂一天才2000多,太坑了...
icellent
2014-05-08 16:26:35 +08:00
2个ip,一天只有1600左右。。。效率有点低
shoper
2014-05-08 22:10:00 +08:00
[2014/05/08 16:59:08] [INFO] A new loop of a video array start
[2014/05/08 16:59:08] [INFO] Requesting new Show Array.
[2014/05/08 16:59:08] [ERROR] Cut Show Array Failed
[2014/05/08 16:59:08] [WARN] fail update video array, sleep 20 seconds

下午到现在一直都是这个状况了。
jisu20162
2014-05-08 23:23:49 +08:00
@shoper 我的也是一天了才100多点.
popu111
2014-05-09 06:50:45 +08:00
@jisu20162 你那是网络的问题,大概速度不行。。。如果用china mode的话,尽量不要共用一个vagex_info脚本。
@shoper 请把VPS的DNS改成谷歌的(8.8.8.8和8.8.4.4)就好了
shoper
2014-05-09 11:39:34 +08:00
@popu111 我用nohup命令挂了之后,现在screen命令都看不到后台实时跑的数据了。怎样才能让他恢复显示呢?
另外,作者说用 //$v->set_youtube_username('abcdefg')可以指定账号,这个具体是改成哪个啊?
jisu20162
2014-05-09 13:58:45 +08:00
@popu111 我三个ip都是在美国,2个亚马逊云主机,1个西雅图vps.应该不存在网速不行的问题吧....今天好像更新了,情况好了点.每天封顶3000个views.好像还准备搞个动态views...
jisu20162
2014-05-09 14:06:23 +08:00
@shoper 用nohup命令会在你的vagex.php脚本同目录下输出个nohup.out文件,下载到本地用文本编辑器打开可以看到输出信息. 但我不知道怎么把nohup的后台转到前台... 看哪位大神知道.. 我一般是ps -e查看PID,把php的PID杀掉.再重新运行... 指定账号 //$v->set_youtube_username('abcdefg'),把前面的//的删掉.abcdefg替换.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/100319

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX