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.3.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.3-py3-none-any.whl (18.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fanfic_downloader-0.3.3.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.3.tar.gz
Algorithm Hash digest
SHA256 4ae870e051ee0f92d9e134d7185e8bb6db89936c689d4b85497c2318c341b268
MD5 8f4565dfb8cb3e9df12c793c04acd93a
BLAKE2b-256 4a4632926d978809ee617de58040e99df063c47d775b041f51e81040457aace8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fanfic_downloader-0.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 2c3bd894e9339d2600ed0f5c708129b92f766cb2a8873b23639534066d9e5445
MD5 af9b4c8d9fb9926c1819a3e3262a4771
BLAKE2b-256 9686a52a29922d624a4f7ff33686632484179d583b7e61e15a318b7b65ee68dc

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