这是http://zlal32teyptf4tvi.onion隐藏服务的源代码的副本,该服务实现了一个tor隐藏服务爬虫/蜘蛛和网站。
特征
- 在黑暗中寻找新的隐藏服务
- 从许多clearnet源中查找隐藏的服务
- 可选全文弹性搜索支持
- 标记/r/darknet超级列表的克隆站点
- 跨隐藏服务查找SSH指纹
- 跨隐藏服务查找电子邮件地址
- 通过隐藏服务查找比特币地址
- 显示到洋葱域的传入/传出链接
- 最新的活动/死亡隐藏服务状态
- 端口扫描仪
- 搜索“有趣”的URL路径,有用的404检测
- 自动语言检测
- 模糊克隆检测(需要弹性搜索,比超级列表克隆检测更高级)
- 一般情况下不会到处乱搞。
执照
此软件在GNU Affero GPL 3许可下提供。。这意味着,如果您将此软件作为可供公众使用的网络软件的一部分进行部署,则必须使源代码可用(以及任何修改)。
从GNU站点:
GNU Affero通用公共许可证是普通GNU GPL版本3的修改版。它有一个附加的要求:如果您在服务器上运行一个修改过的程序,并让其他用户在那里与之通信,那么您的服务器还必须允许他们下载与在那里运行的修改过的版本相对应的源代码
依赖关系
- 蟒蛇
- 任务大纲
pip安装:
pip安装-r requirements.txt
安装
从schema.sql创建mysql数据库
为数据库设置编辑etc/数据库
为TOR设置编辑etc/proxy
script/push.sh someoniondirectory.onion
script/push.sh anotheroniondirectory.onion
仅编辑etc/uwsgi_并将BASEDIR设置为安装torscraper的位置(即/home/user/torscraper)
运行:
init/scraper_service.sh # to start crawling
init/isup_service.sh # to keep site status up to date
可选的ElasticSearch全文搜索
torscraper带有可选的elasticsearch功能(默认情况下启用)。编辑etc/elasticsearch并设置vars或设置elasticsearch_ENABLED=false禁用。运行scripts/elasticsearch_migrate.sh在配置后执行初始设置。
如果elasticsearch被禁用,将不会有全文搜索,但是爬行和发现新站点仍将工作。
亲信
# harvest onions from various sources
1 18 * * * /home/scraper/torscraper/scripts/harvest.sh
# get ssh fingerprints for new sites
1 4,16 * * * /home/scraper/torscraper/scripts/update_fingerprints.sh
# mark sites as genuine / fake from the /r/darknetmarkets superlist
1 9 * * 1 /home/scraper/torscraper/scripts/get_valid.sh
# scrape pastebin for onions (needs paid account / IP whitelisting)
*/5 * * * * /home/scraper/torscraper/scripts/pastebin.sh
# portscan new onions
1 */6 * * * /home/scraper/torscraper/scripts/portscan_up.sh
# scrape stronghold paste
32 */2 * * * /home/scraper/torscraper/scripts/stronghold_paste_rip.sh
# detect clones
16 3 * * * /home/scraper/torscraper/scripts/detect_clones.sh
基础设施
新鲜洋葱运行在两台服务器上,一台运行数据库和隐藏服务网站的前端主机,一台运行爬虫程序的后端主机。读者可能最感兴趣的是后端的设置。TOR作为客户端是完全单线程的。我知道!现在是2017年,再加上完全没有飞车,托尔只能一丝不苟地跑。这意味着,如果你试图在一个TOR实例上运行一个爬虫程序,你很快就会发现你的CPU已经达到了100%的最大值。
解决这个问题的方法是运行多个TOR实例,并通过某种前端连接到它们,从而循环处理您的请求。新鲜洋葱爬虫运行八个Tor实例。
Debian(和ubuntu)附带了一个有用的程序“tor instance create”,用于快速创建tor的多个实例。我使用Squid作为前端代理,但不幸的是它不能直接连接到SOCKS,所以我使用privoxy作为中间代理。每一个TOR实例都需要一个privoxy实例。“scripts/create_privoxy.sh”中有一个脚本可以帮助在debian系统上创建privoxy实例。它还有助于用空文件替换/etc/privoxy/default.filter,通过删除不必要的regex来减少CPU负载。
此外,此资源https://www.howtoforge.com/ultimate-security-proxy-with-tor可能对设置squid很有用。如果您所做的只是爬行而不关心匿名性,我还建议您在tor2web模式下运行TOR(需要重新编译)以提高速度