All Projects → Olament → Gdht

Olament / Gdht

Licence: mit
A distributed self-host DHT torrent search suite

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Gdht

Bt
BitTorrent library and client with DHT, magnet links, encryption and more
Stars: ✭ 2,011 (+2238.37%)
Mutual labels:  dht, torrent
bthello
Python3 DHT 磁力种子爬虫 种子解析 种子搜索 演示地址
Stars: ✭ 43 (-50%)
Mutual labels:  torrent, dht
Torrent Discovery
Discover BitTorrent and WebTorrent peers
Stars: ✭ 177 (+105.81%)
Mutual labels:  dht, torrent
Ssbc
手撕包菜网站
Stars: ✭ 1,382 (+1506.98%)
Mutual labels:  dht, torrent
gude
gude - 一个C++编写的DHT爬虫,用于爬取DHT网络上的torrent文件
Stars: ✭ 190 (+120.93%)
Mutual labels:  torrent, dht
Magnet And Torrent Search Engine
磁力链接和 BT 种子的搜索引擎
Stars: ✭ 154 (+79.07%)
Mutual labels:  dht, torrent
Dht
dht is used by anacrolix/torrent, and is intended for use as a library in other projects both torrent related and otherwise
Stars: ✭ 184 (+113.95%)
Mutual labels:  dht, torrent
Snail
基于Java、JavaFX开发的下载工具,支持下载协议:BT(BitTorrent、磁力链接、种子文件)、HLS(M3U8)、FTP、HTTP。人家才不要你的⭐⭐呢,哼
Stars: ✭ 102 (+18.6%)
Mutual labels:  dht, torrent
Antcolony
Nodejs实现的一个磁力链接爬虫 http://findit.keenwon.com (原域名http://findit.so )
Stars: ✭ 1,151 (+1238.37%)
Mutual labels:  dht, torrent
torrent-spider
基于DHT的p2p网络资源爬虫
Stars: ✭ 65 (-24.42%)
Mutual labels:  torrent, dht
Torrent Paradise
Decentralized DHT search site for IPFS
Stars: ✭ 181 (+110.47%)
Mutual labels:  dht, torrent
Metadata
a infohash metadata collector
Stars: ✭ 21 (-75.58%)
Mutual labels:  dht, torrent
peerstohttp
Simple torrent proxy to http stream controlled over REST-like api
Stars: ✭ 30 (-65.12%)
Mutual labels:  torrent, dht
torrent
Bittorrent library implemented in pure Dart. [WIP, early development stage]
Stars: ✭ 26 (-69.77%)
Mutual labels:  torrent, dht
Bittorrent Dht
🕸 Simple, robust, BitTorrent DHT implementation
Stars: ✭ 1,004 (+1067.44%)
Mutual labels:  dht, torrent
Torrent To Google Drive Downloader
Simple notebook to stream torrent files to Google Drive using Google Colab and python3.
Stars: ✭ 63 (-26.74%)
Mutual labels:  torrent
Bittorrent Tracker
🌊 Simple, robust, BitTorrent tracker (client & server) implementation
Stars: ✭ 1,184 (+1276.74%)
Mutual labels:  torrent
Spruce Network
Decentralized peer-to-peer mesh network.
Stars: ✭ 61 (-29.07%)
Mutual labels:  dht
Nyaapi
Non-official api to access Nyaa.si and Nyaa.pantsu.cat (search, upload,...)
Stars: ✭ 56 (-34.88%)
Mutual labels:  torrent
Popcorntimetv
Popcorn Time for Apple TV 4, iPhone and iPad
Stars: ✭ 1,216 (+1313.95%)
Mutual labels:  torrent

gDHT

A distributed self-host DHT torrent search suite

demo site: guo.sh

Introduction

gDHT is a search engine suite that allows user to host their own torrent search engine. There are four major components of the suite: crawler, server, ElasticSearch, and web. The distributed crawler will monitor the traffic on DHT network to collect meta information of the torrent and then sent collected information to server via gRPC. Upon on receiving the information, the server will push them into Redis message queue and asynchronously process (Ex. filter unwanted torrent) and index them into ElasticSearch. Finally, you can search the torrent information at the React web interface.

Getting Started

Nginx

The nginx server is bound to YOURDOMAIN.COM by default. If you want to host your own torrent search engine, your can change Nginx's environment variable URL in docker-compose.yml.

Golang Crawler

You can leave the setting in docker-compose.yml unchanged if you run the suite with only one crawler. However, to add additional crawler to the system, change environment variable address under crawler to master-server-ip-address:50051.

ElasticSearch Security

The security features of the ElasticSearch is enabled by default. To ensure that crawler and web function normally, you need to create two user: web and crawler. Notice that crawler must have permission to write and read index and web must have permission to read index. Once you created those two users, you can pass the username and password to Golang crawler via the environment variables in docker-compose.yml. To pass username and password of web to web, change REACT_APP_USERNAME and REACT_APP_PASSWORD under web/src/.env. For more information on how to set up ElasticSearch, check those two articles Configuring security in Elasticsearchedit and Getting started with Elasticsearch security.

Then, start the server by

docker-compose build
docker-compose up

Acknowledge

DHT crawler from shiyanhui

Web CSS theme from Tania Rascia

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].