All Projects → juliensalinas → Torrengo

juliensalinas / Torrengo

Licence: gpl-3.0
Torrengo is a CLI (command line) program written in Go which concurrently searches torrents from various sources.

Programming Languages

go
31211 projects - #10 most used programming language
golang
3204 projects

Projects that are alternatives of or similar to Torrengo

Vibe.d
Official vibe.d development
Stars: ✭ 1,043 (+1456.72%)
Mutual labels:  concurrency
Scala Async
An asynchronous programming facility for Scala
Stars: ✭ 1,077 (+1507.46%)
Mutual labels:  concurrency
Vibe Core
Repository for the next generation of vibe.d's core package.
Stars: ✭ 56 (-16.42%)
Mutual labels:  concurrency
Portable concurrency
Portable implementation of future/promise API in C++
Stars: ✭ 48 (-28.36%)
Mutual labels:  concurrency
S3 Lambda
Lambda functions over S3 objects with concurrency control (each, map, reduce, filter)
Stars: ✭ 1,061 (+1483.58%)
Mutual labels:  concurrency
Ea Async
EA Async implements async-await methods in the JVM.
Stars: ✭ 1,085 (+1519.4%)
Mutual labels:  concurrency
Mtnt
Code for the collection and analysis of the MTNT dataset
Stars: ✭ 48 (-28.36%)
Mutual labels:  scraping
Torrent To Google Drive Downloader
Simple notebook to stream torrent files to Google Drive using Google Colab and python3.
Stars: ✭ 63 (-5.97%)
Mutual labels:  torrent
Teletor
Telegram Torrents Bot
Stars: ✭ 54 (-19.4%)
Mutual labels:  torrent
Freelancer
👔 An implementation of on-the-fly defined WebWorkers that are created inline using data URIs, rather than separate physical files — for the benefit of all humanity.
Stars: ✭ 57 (-14.93%)
Mutual labels:  concurrency
Awesome Lockfree
A collection of resources on wait-free and lock-free programming
Stars: ✭ 1,046 (+1461.19%)
Mutual labels:  concurrency
Thmap
Concurrent trie-hash map library
Stars: ✭ 51 (-23.88%)
Mutual labels:  concurrency
Awesome Python Primer
自学入门 Python 优质中文资源索引,包含 书籍 / 文档 / 视频,适用于 爬虫 / Web / 数据分析 / 机器学习 方向
Stars: ✭ 57 (-14.93%)
Mutual labels:  scraping
Arpx
Automate and relate multiple processes.
Stars: ✭ 49 (-26.87%)
Mutual labels:  concurrency
Threadly
Type-safe thread-local storage in Swift
Stars: ✭ 58 (-13.43%)
Mutual labels:  concurrency
Actor.js
Elixir-style actors in JavaScript
Stars: ✭ 48 (-28.36%)
Mutual labels:  concurrency
Nyaapi
Non-official api to access Nyaa.si and Nyaa.pantsu.cat (search, upload,...)
Stars: ✭ 56 (-16.42%)
Mutual labels:  torrent
Leak
C# torrent library and client
Stars: ✭ 65 (-2.99%)
Mutual labels:  torrent
Mechaml
OCaml functional web scraping library
Stars: ✭ 60 (-10.45%)
Mutual labels:  scraping
Perennial
Verifying concurrent crash-safe systems
Stars: ✭ 57 (-14.93%)
Mutual labels:  concurrency

Description of Torrengo

How To

Purpose

Torrengo is a CLI (command line) program written in Go which concurrently searches torrent files from various sources. I really liked the torrench program which is an equivalent written in Python so I figured it could be nice to write a similar program in Go in order to increase speed thanks to concurrency.

Nice supported features:

  • the user decides which sources he wants to search (all sources are searched by default) and the search is done concurrently
  • given that The Pirate Bay urls are changing quite often, this program concurrently launches a search on all The Pirate Bay urls found on https://proxybay.bz and retrieves torrents from the fastest response (the returned url is also checked in-depth because some proxies sometimes return a page with no error but the page actually does not have any result)
  • torrent file search and download on Ygg Torrent, The Pirate Bay, and 1337, are protected by the Cloudflare bot detection. In order to comply, a Google Chrome browser is used under the hood (which means that you need to have Google Chrome installed in order for this program to work).
  • http://www.yggtorrent.** can be searched freely, but an account is needed to download the torrent file, so the program authenticates the user before downloading the torrent file
  • downloaded torrents can be launched in Deluge, QBittorrent, or Transmission
  • a timeout can be set so long-running requests are ignored

Current supported sources are the following:

  1. https://archive.org (called arc internally)
  2. all The Pirate Bay urls located on https://proxybay.bz (called tpb internally)
  3. http://1337x.to (called otts internally)
  4. http://www.yggtorrent.** (previously t411, called ygg internally)

Caution! Apart from Archive.org, the websites above might host some illegal content and in some countries their use might be prohibited. Read legal issues regarding The Pirate Bay for example. Neither I, nor the tool shall be held responsible for any action taken against you for using Torrengo on the above-mentioned sites.

Installation

Prerequisite: you need to have Google Chrome installed on your system. Torrengo needs a real Google Chrome browser in order to behave like any real browser and then properly deal with Javascript.

For security reasons I don't provide with compiled binaries. The program can be easily installed and compiled with the usual Go tools:

  1. go get github.com/juliensalinas/torrengo
  2. go build github.com/juliensalinas/torrengo

Each website's scraper is an independent library that can be installed and reused. For example if you only want to use the Archive.org scraping library, simply do:

  • go get github.com/juliensalinas/torrengo/arc

Usage

Searching "Dumas Montecristo" from all sources is as simple as:

torrengo Dumas Montecristo

Torrgengo output

If you want to search from a specific source (let's say Archive.org):

torrengo -s arc Dumas Montecristo

Sources names:

If you want to search from multiple sources (let's say Archive.org and ThePirateBay), use commas:

torrengo -s arc,tpb Dumas Montecristo

If some sources are too slow to respond, use a timeout. For example the following stops every HTTP requests that take more than 2 seconds and returns the other results found:

./torrengo -t 2000 Dumas Montecristo

Some sources give both a magnet link and a torrent file (you can choose which one you want), some only give a torrent file, and some only give a magnet link.

Optionally you can open the torrent file or magnet link directly in your torrent client (Deluge, QBittorrent or Transmission are supported for the moment).

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].