Skip to main content

Download fan fiction stories from various sites

Project description

📚 FanFic Downloader CLI Guide

Your ultimate companion for downloading and managing fan fiction stories from across the web!

Version Python License

🌟 Introduction

FanFic Downloader CLI is a powerful command-line tool that helps you download, organize, and manage fan fiction stories from various websites. Powered by FanFicFare under the hood, it provides a beautiful, user-friendly interface to interact with your favorite stories.

Demo Screenshot

⚡ Features

  • 📥 Easy Downloads: Download stories with a simple command
  • 📋 Batch Processing: Handle multiple stories at once
  • 🔍 URL Extraction: Extract story URLs from author profiles and series pages
  • 📁 Library Management: Keep track of your downloaded stories
  • 🎨 Beautiful Interface: Rich text formatting for an enhanced experience
  • ⚙️ Customizable Settings: Configure download locations and preferences

📦 Installation

Using pip (Recommended)

pip install fanfic-downloader

From Source

git clone https://github.com/yourusername/fanfic-downloader.git
cd fanfic-downloader
pip install -e .

🚀 Getting Started

After installation, you can start using the fanfic command in your terminal:

fanfic --help

This will display all available commands and options.

📘 Basic Usage

💾 Downloading Stories

Download a story by providing its URL:

fanfic download -u https://archiveofourown.org/works/12345678

Download multiple stories at once:

fanfic download -u https://archiveofourown.org/works/12345678 https://archiveofourown.org/works/87654321

Download stories listed in a text file:

fanfic download -f my_stories.txt

🔎 Interactive Mode

If you don't have URLs ready, you can use the interactive mode:

fanfic download -i

This will prompt you to enter URLs one by one.

🔥 Advanced Features

📋 Extracting Story URLs

Extract story URLs from an author's profile or series page:

fanfic extract -u https://archiveofourown.org/users/authorname/works

Save extracted URLs to a file:

fanfic extract -u https://archiveofourown.org/series/12345 -o extracted_urls.txt

Extract and download in one command:

fanfic extract -u https://archiveofourown.org/users/authorname/works -d

📚 Managing Your Library

List all downloaded stories:

fanfic list

Get detailed information about your stories:

fanfic list -d

Sort stories by size, date, or name:

fanfic list -s size

⚙️ Configuring Settings

View current settings:

fanfic settings

Change the download folder:

fanfic settings -f /path/to/new/folder

Open the download folder:

fanfic settings -o

💡 Use Cases

📱 For Mobile Readers

  1. Download your favorite stories using FanFic Downloader CLI
  2. Transfer the EPUB files to your e-reader or mobile device
  3. Enjoy reading on the go, even without internet access!

🏫 For Series Bingers

  1. Find a series you love with multiple stories
  2. Extract all story URLs with a single command:
    fanfic extract -u https://archiveofourown.org/series/12345 -d
    
  3. All stories will be downloaded automatically for a binge-reading session!

🔍 For Archive Explorers

  1. Discover a new author with a large collection
  2. Extract all their stories with:
    fanfic extract -u https://archiveofourown.org/users/authorname/works -o author_stories.txt
    
  3. Review the list and select favorites
  4. Download selected stories:
    fanfic download -f author_stories.txt
    

🌙 For Offline Reading

  1. Before a trip or when you know you'll be without internet:
  2. Prepare a list of stories you want to read
  3. Run a batch download:
    fanfic download -f vacation_reading.txt
    
  4. All stories will be available offline in EPUB format!

🛠️ Tips & Tricks

💻 Command Aliases

Create aliases for commonly used commands:

# On Linux/macOS
alias fanfic-dl="fanfic download -i"
alias fanfic-list="fanfic list -d"

# On Windows (PowerShell)
function FanficDL { fanfic download -i }
function FanficList { fanfic list -d }

📅 Scheduled Downloads

Use cron jobs (Linux/macOS) or Task Scheduler (Windows) to automatically download new chapters from a list of URLs:

# Example cron job (Linux/macOS)
0 9 * * * /usr/local/bin/fanfic download -f ~/ongoing_stories.txt

🔄 Workflow Integration

Combine with other tools for an enhanced workflow:

  1. Use grep or find to search through your downloaded stories
  2. Convert EPUBs to other formats using Calibre
  3. Set up a personal server to access your stories remotely

🚨 Troubleshooting

❓ Common Issues

Issue: Command not found after installation Solution: Ensure your Python scripts directory is in your PATH

Issue: Download fails for certain stories Solution: Check if the story requires login or age verification and use:

fanfic download -u URL -o "is_adult=true"

Issue: Extraction yields no results Solution: Some sites may block automated tools. Try:

fanfic extract -u URL -o "delay_between_pages=3"

🤝 Contributing

Contributions are welcome! If you'd like to help improve FanFic Downloader CLI:

  1. Fork the repository
  2. Create a feature branch: git checkout -b new-feature
  3. Commit your changes: git commit -am 'Add new feature'
  4. Push to the branch: git push origin new-feature
  5. Submit a pull request

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • FanFicFare for providing the core downloading functionality
  • Typer for the CLI framework
  • Rich for the beautiful terminal formatting

Made with ❤️ by Munish Chandra Jha

Happy reading! 📚✨

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fanfic_downloader-0.3.2.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fanfic_downloader-0.3.2-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

Details for the file fanfic_downloader-0.3.2.tar.gz.

File metadata

  • Download URL: fanfic_downloader-0.3.2.tar.gz
  • Upload date:
  • Size: 16.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for fanfic_downloader-0.3.2.tar.gz
Algorithm Hash digest
SHA256 064518abf49c1a86c8ee8153f9a6c46497a911810d74bc33c4c9e71b787ecb36
MD5 b5721dab6de2fd21a79eaf0835a6300e
BLAKE2b-256 c8da233720eb0293c5bc6e1e96e32e4cc7c3c6bdaa1f7ea9daa2222ad4692b6f

See more details on using hashes here.

File details

Details for the file fanfic_downloader-0.3.2-py3-none-any.whl.

File metadata

File hashes

Hashes for fanfic_downloader-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 b0f122901daed414cb90130b8c30719139ca46b31564323e4d384f5dfee137c4
MD5 deb72995477d3f206ef142a56adffae6
BLAKE2b-256 4e4d2a739d5da25a943a86cdba1e5ad876daba31217ec78ebe98e9fdeff3c89c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page