Skip to main content

Libgen Seedtools

A python utility to fetch and seed a common dataset. Designed to help individuals strengthen the Library Genesis collection, but written to be generally useful for mirroring between networks.

Install

pipx install libgen-seedtools
# or
pip3 install libgen-seedtools

Why this was made

  • The libgen librarians and maintainers don't provide enough guidance or strategy for regular people to help.
  • Without a unified strategy, seeding is random and inefficient, clustering at the ends.
  • It's tedious and costly to click through and import individual torrents.
  • Not everyone has hundreds of terrabytes of disk and bandwidth to spare.

This tool will allow all users to act together to strengthen the network under the same strategy, whether they have 20TB of disk or 200GB of disk. Using libgen-seedtools will ensure you get the most bang for your buck.

It also lowers the tedious burden of organization. Start seeding in just a few minutes.

Features

  • filter by minimum seeders: Prioritize the files that need seeding the most.
  • Set max disk usage: Set a limit on disk usage

Usage

# generate configuration
libgen-seedtools generate-config

# fetch and deploy torrent files
libgen-seedtools fetch

Output will look something like this

~$ libgen-seedtools fetch
Found 5932 torrent files (130.47 TB) needing seeders
  Seeders   MEAN=1.725724881995954 MEDIAN=2.0
  DHT Peers MEAN=4.369521240728253 MEDIAN=4.0
  Size      MEAN=21.99 GB MEDIAN=9.74 GB
Searching for criteria:
  max_disk_usage: 2TB
  min_seeders:    1
  max_seeders:    3
  types:          ['fiction', 'books']
Found 173 matches totaling 2 TB
Fetching torrent files...  [####################################]  100%
Done

The end goal

Provide a manifest file describing .torrent files. This tool will iterate the list, attempt to retreive the data from one network, then once it is successfully fetched, propogate it to the other.

It is just a command-line script, not a service, so the user must initiate each "round" of checks. If a torrent is added to transmission today and takes 4 hours to dowload, you'll have to come back 4 hours later and run another "round" to collect the newly completed data and pin it to your ipfs node.

Ideally a scheduler like cron or systemd will run a round of checks at intervals

If users all attempt to seed the most-needed files first, eventually the network will be seeded bottom-up.

Prerequisites

  • A transmission torrent server
  • * An ipfs server

If you aren't already running these, you can use the included docker-compose. If you run these services on your own, you MUST have a shared data volume accessible from both services.

See also

Credit

Metadata

Release files for lgst 0.5.11

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for lgst 0.5.11
File Size Uploaded Provenance Actions
lgst-0.5.11.tar.gz 7.1 kB Without provenance Details for lgst-0.5.11.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for lgst 0.5.11
File Interpreter ABI Platform Actions
lgst-0.5.11-py3-none-any.whl Python 3 none any Details for lgst-0.5.11-py3-none-any.whl

Total release size: 14.9 kB

Release files / lgst-0.5.11.tar.gz

Download URL lgst-0.5.11.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d97c5d8f655c38880c02b3bb8fd758e81cd23ad5fe2172131b2ea83725224e9c
BLAKE2b-256 checksum
How to use checksums
6905a70eeca340c25d8911f54058c9d90130212b34b3e72979f07be8e70bb7e2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.5.26

Release files / lgst-0.5.11-py3-none-any.whl

Download URL lgst-0.5.11-py3-none-any.whl
Size 7.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7689db1658214f4b653eae8ddfe7159f60f65781c5009773e9d9c90b20b52465
BLAKE2b-256 checksum
How to use checksums
e96d8ef69336215a54af84077a7b4ae91b7f8d27cb472ceac3e49f323c746f20
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.5.26

Security for lgst 0.5.11

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.5.11 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page