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.2.3.tar.gz (12.2 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.2.3-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: fanfic_downloader-0.2.3.tar.gz
  • Upload date:
  • Size: 12.2 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.2.3.tar.gz
Algorithm Hash digest
SHA256 75e7dfc12d0ecc6c22037ed9afc61e4efa2674fce709142ab22baa4ac8665811
MD5 7179b4a7496ee0c1485fd563b348428a
BLAKE2b-256 363bb651710860792de75d00f1367480997c252ae0105f5d0fd61b7bf019856c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for fanfic_downloader-0.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 31a4c7bc493465165c121c283e035b44edfe327190a1c223c647fc5e73ca053a
MD5 92d151664e804ac31a1359f57246f36a
BLAKE2b-256 f7ab23fc3c43b7a392db823d13c06eaa9602d57a9f6d3500d5445df01c3eaaec

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