hardseed 种子下载工具开源项目

我要开发同款
匿名用户2014年07月25日
38阅读
开发技术C/C++
所属分类应用工具、下载工具
授权协议GPLv2

作品详情

硬盘女神,你懂嘀!hardseed是个种子下载工具,它从浓(ai)情(cheng)蜜(she)意(qu)和爱(cao)意(liu)无(she)限(qu)的地方获取女神种子、图片。

【翻墙】

你知道,这一切的一切都在墙外,所以你得具备翻墙环境,hardseed才能正常帮你拉女神。hardseed支持goagent、shadowsocks、SSH、VPN(PPTP和openVPN)等各类代理模式,甚至你可以并行使用多种代理以极速下载。从普及度、稳定性、高效性来看,goagent最优。“我一技术小白,平时工作压力本来就大,就想看看女神轻松下,你还让我折腾代理!没人性!”,嘚,亲,咱是做服务的。我帮你配置了一份开箱即用的goagent,位于hardseed/proxy/goagent_3.1.19/local/,linux用户,命令行中运行

$ python proxy.py

windows亲,双击运行goagent.exe(管理员权限)。

【下载】『windows』

亲,往右上看,找到“downloadZIP”,点击下载。

『linux』$ git clone https://github.com/yangyangwithgnu/hardseed.git【源码安装】『windows』

这基本没windows用户什么事儿,除非你有cygwin,否则你没法编译源码,没事,帮你弄好了,我的定位是牙医界的服务人员,服务很重要,二进制执行程序位于hardseed\bin\windows\hardseed.exe。

『linux』

0)唯一依赖libcurl,请自行安装;1)代码采用C++11编写,gcc版本不低于4.7.1。2)命令行下运行:

$ cd hardseed/build/$ cmake .$ make && make install【使用】

亲,听好了,运行hardseed前务必确保代理程序已正常运行,否则,别说女神,蚊子都碰不到。

『windows』

先进入hardseed\bin\windows\,找到并选中hardseed.exe,右键设置以管理员权限运行该程序,接着键入alt-d将光标定位到文件管理器的地址栏中,键入CMD启动命令行窗口,再在CMD中键入

X:\hardseed\bin\windows> hardseed.exe

这时,hardseed开始玩命儿为你下载女神图片和种子,经过2分钟8秒,找到类似C:\[aicheng_asia_mosaicked][1~128]@014822\的目录,女神们那儿等你!

『linux』

同windows下运行一样,全用默认命令行参数运行

$ hardseed

执行完成后,你会看到~/[aicheng_asia_mosaicked][1~128]@014822/,你要的都在那儿。或者,玩点高级的

$ hardseed --saveas-path ~/downloads --topics-range 256 --av-class aicheng_west

其中,--saveas-path指定存放路径为~/downloads/;--topics-range指定解析的帖子范围从第1张帖子到第256张帖子;--av-class指定女神类型为欧美。

【FQA】

Q0:osX下源码编译报错:

...Linking CXX executable hardseedUndefined symbols for architecture x86_64:"_iconv", referenced from:Webpage::convertCharset(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in Webpage.o...

A0:请把CMakeList.txt中的

SET(CMAKE_EXE_LINKER_FLAGS "-lcurl -lpthread")

替换成

SET(CMAKE_EXE_LINKER_FLAGS "-lcurl -lpthread -liconv")

Q1:为何windows版的可执行文件目录hardseed\bin\windows\下有一堆cyg*.dll文件?A1:hardseed是用C++编写的遵循SUS(单一unix规范)的原生linux程序,理论上,在任何unix-like(linux、BSD、osX)系统上均可正常运行,唯独不支持windows,为让hardseed具备跨平台能力,须借由某种工具(或环境)将hardseed转换成windows下的执行程序。cygwin就是这种环境,我把hardseed源码纳入cygwin环境中重新编译,即可生成windows下的可执行程序hardseed.exe,在这个过程中,cygwin会加入些自己的代码和中转库到hardseed.exe中,cyg*.dll就是各类中转库。

Q2:为何运行windows版的执行程序总有如下警告

Preferred POSIX equivalent is: /cygdrive/c/xxxx, CYGWIN environment variable option "nodosfilewarning" turns off this warning. Consult the user's guide for more details about POSIX paths ...

这影响正常运行么?A2:linux与windows有很多基础设施的差异,路径表示方式就算其一,如,前者是/this/is/linux/path/,后者C:\this\is\windows\path\,A1中提过hardseed是linux下的原生程序,代码中全采用的linux路径规则,运行hardseed.exe时,cygwin自动进行路径规则转换,所以出现本问题中的警告信息以告知用户路径可能有变化。这完全不影响hardseed.exe正常运行。如果厌恶这些提示,可以在环境变量中增加CYGWIN=nodosfilewarning(win7用户:computer-properties-advancedsystemsettings-advanced-environmentvariables-new,variablename填入CYGWIN,variablevalue中填入nodosfilewarning,保存即可)。

Q3:运行hardseed后啥都没下载呢?还提示Thereisnotopicwhichyoulike?A3:有几种可能:a)未成功翻墙。请自行参阅你的翻墙工具帮助文档,修正即可。windows用户注意检查是否以管理员权限运行翻墙工具;b)网页翻墙已成功但仍无法下载。请检查你的代理工具是否成功接收hardseed的代理请求(如,goagent窗口中可查看),windows用户注意检查是否以管理员权限运行hardseed.exe;c)hardseed翻墙已成功但仍无法下载。你指定了--likexxxx命令行选项,hardseed将查找标题中是否含有关键字xxxx,若没有则忽略相关帖子。更换其他关键字。

Q4:我已经在墙外,为何仍下载失败?A4:hardseed默认采用goagent作为代理工具,即,默认本地代理中转地址为https://127.0.0.1:8087。如果你已在墙外无须代理即可访问caoliu和aicheng论坛,那么需要告知hardseed不再走本地代理中转而应直接访问,即:

--proxy ""

Q5:如何加快下载速度?A5:最直接会想到多线程下载,一条线程负责下载一个页面,逻辑上,线程数越多、下载速度越快,实际上,存在代理服务器和被访服务器两方面的限制:

代理服务器方面的限制,代理服务器为不同用户提供代理服务,为避免相互影响,通常它会限制单个用户的流量和请求频率,所以,hardseed在指定代理服务器上的线程数一定是有个上限;

被访服务器方面到限制,你访问的论坛不会低能到不控制请求频率,举个例,正常情况你4秒钟可以打开4张caoliu论坛的帖子,一旦caoliu服务器发现你1秒钟打开了32张帖子那一定将此视为机器人行为,从而拒绝响应。

正由于存在代理服务器和被访服务器两方面的限制,线程数不能无限大,从我多次测试的经验来看,单个代理服务器访问被访服务器的并行线程数设定为8条最为稳定,否则容易引起代理服务器和被访服务器停服。同个时刻有大量用户在访问caoliu论坛,肯定远超1秒钟打开了32张帖子的频率,为何caoliu没对所有用户拒绝请求?显然,这些请求来自不同IP的电脑终端,按这个思路,如果hardseed若能通过多个不同IP访问caoliu,那完全可以绕开caoliu对单个IP请求频率过快的限制。由于我们采用代理访问,发起访问请求的IP就是代理服务器的IP,显然,只要hardseed支持同时使用多个代理服务器,那么一切问题就简单了。所以,我赋予了hardseed多路代理的能力。hardseed支持4种代理模式:

goagent(STRONGLYrecommended),--proxyhttps://127.0.0.1:8087

shadowsocks,--proxysocks5://127.0.0.1:1080,orsocks5h://127.0.0.1:1080

SSH,--proxysocks4://127.0.0.1:7070

VPN(PPTPandopenVPN),--proxy""

其中,除VPN外(这是种全局代理模式),其他三种代理模式可混用,也就是说,你可以同时指定goagent、shadowsocks、SSH等三种代理模式

--proxy https://127.0.0.1:8087 socks5://127.0.0.1:1080 socks4://127.0.0.1:7070

这样,hardseed就能用8*3条线程并行下载。另外,goagent都是通过GAE集群发起到网络请求,所以不存在同个机器上配置多个goagent的做法;SSH(获取免费帐号https://www.fastssh.com/)和shadowsocks(获取免费帐号https://shadowsocks.net/get)代理,你可以获取多个不同的代理服务器(不同的SSH或者shadowsocks代理的本地端口必须自行设置成不同的),因此可以实现多个不同IP发起网络请求。换言之,你可以有1*goagent+n*SSH+m*shadowsocks个代理IP,每个IP本来就有8条线程,那么共计有(1+n+m)*8条线程并行下载,速度自然上去了。我个人偏爱shadowsocks,以此举例来说:先在https://shadowsocks.net/get获取了4个shadowsocks帐号,本地端口分别配置成1080、1081、1082、1083,运行此4个shadowsocks代理程序;同时,运行goagent代理程序;然后,在hardseed的命令行参数设定为

--proxy https://127.0.0.1:8087 socks5://127.0.0.1:1080 socks5://127.0.0.1:1081 socks5://127.0.0.1:1082 socks5://127.0.0.1:1083

这时,如果你的--concurrent-tasks设定为8(默认值),那么,hardseed将启用(4+1)*8条线程并行下载。那速度飞快、飞快、快...(有些shadowsocks代理服务器禁止下载,若有异常,将其从--proxy代理列表中剔除之。若求稳定,只用goagent)

Q6:如何搜索喜欢的视频?A6:--like选项可以指定多个关键字(空格隔开)参数,帖子标题中出现相关关键字之一便纳入下载范围,否则不下载。通常来说,帖子标题中文字有简体、繁体、日文等三种可能,所以你应该都指定,比如,喜欢“护士”和“情侣”系列,先简译繁https://www.aies.cn/,简译日https://fanyi.baidu.com/#zh/jp/,再指定命令行参数即可

--like 护士 護士 看護婦 情侣 情侶 カップル

Q7:如何下载高清?A7:hardseed并不直接支持高清类型下载,只能间接实现,由--like指定“高清”相关关键字进行下载,比如:

--like 1080P 720P HD 高清 ハイビジョン忠告

你,党之栋梁、国之人才,千万注意身体!

https://v.youku.com/v_show/id_XNzQxOTk0NTE2.html

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论