Skip to main content

ffmirror is a program to create and maintain a local mirror of stories on fiction-publishing sites. It has functionality for downloading stories similar to FanFicFare or other projects, but the differentiating factor is support for creating a local database that maintains downloaded metadata and can automatically update authors that are followed.

ffmirror has two currently maintained script entry points:

  • ffdl is a simple one-story file downloader. It takes a single URL and writes an HTML file story.

  • ffdb is the manager for local fanfic site mirrors. These maintain a local copy of metadata for a set of followed users alongside copies of all their stories.

The remaining entry points, ffadd, ffup, ffcache are designed for an older format of mirror, and are now deprecated.

ffmirror can be installed via PyPI: pip install ffmirror

To create a mirror, enter an empty directory and issue:

$ ffdb init

This initializes the SQLite database that tracks metadata. You can now add authors by issuing:

$ ffdb add $AUTHOR_URL

Adding an author will immediately download all their stories into the mirror. Stories are stored under top-level directories per author.

Updating the mirror will recheck all authors that have been added and download any new or updated stories. To update the mirror, issue:

$ ffdb update

You can update only one author by issuing:

$ ffdb update $AUTHOR_DIR

where AUTHOR_DIR is the directory with that author’s stories.

Metadata

Release files for ffmirror 0.4.1

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

Source distribution (sdist)

Source distribution for ffmirror 0.4.1
File Size Uploaded Provenance Actions
ffmirror-0.4.1.tar.gz 22.2 kB Without provenance Details for ffmirror-0.4.1.tar.gz

Built distribution (wheel)

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

Total release size: 47.4 kB

Release files / ffmirror-0.4.1.tar.gz

Download URL ffmirror-0.4.1.tar.gz
Size 22.2 kB
Tags Source
SHA-256 checksum
How to use checksums
636c8a1a98aacb821f6ebd5502e64c62bfbde886f182eff0b68a51b1c2bfe98c
BLAKE2b-256 checksum
How to use checksums
b969c7ebe79246ceb78254cc2c5a08274f2f0cedeee42773d48bc6d01c0f670f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.2 Linux/5.15.16-200.fc35.x86_64

Release files / ffmirror-0.4.1-py3-none-any.whl

Download URL ffmirror-0.4.1-py3-none-any.whl
Size 25.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b57e946f8a2346d7d1f89d795f4482719f04e71e5c72ded1e642fb018e8e9597
BLAKE2b-256 checksum
How to use checksums
b99f5876103a903f583dfa951260617966c1cc2b5c3fff7ae962e2317e07b8fb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.1.12 CPython/3.10.2 Linux/5.15.16-200.fc35.x86_64

Security for ffmirror 0.4.1

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.

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