{"id":24259129,"url":"https://github.com/MarioFinale/AniDownloader","last_synced_at":"2025-09-23T20:31:23.103Z","repository":{"id":260944209,"uuid":"882732622","full_name":"MarioFinale/AniDownloaderTerminal","owner":"MarioFinale","description":"Automated Anime Downloader, Transcoder and Manager. ","archived":false,"fork":false,"pushed_at":"2025-01-14T07:20:17.000Z","size":121,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-14T08:29:25.150Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MarioFinale.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-03T16:07:20.000Z","updated_at":"2025-01-14T07:20:21.000Z","dependencies_parsed_at":"2024-11-03T19:31:03.274Z","dependency_job_id":"48f43046-93a1-417a-8d0c-7e3a0a177c24","html_url":"https://github.com/MarioFinale/AniDownloaderTerminal","commit_stats":null,"previous_names":["mariofinale/anidownloaderterminal"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioFinale%2FAniDownloaderTerminal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioFinale%2FAniDownloaderTerminal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioFinale%2FAniDownloaderTerminal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarioFinale%2FAniDownloaderTerminal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarioFinale","download_url":"https://codeload.github.com/MarioFinale/AniDownloaderTerminal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233997066,"owners_count":18763367,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-01-15T05:55:16.602Z","updated_at":"2025-09-23T20:31:17.808Z","avatar_url":"https://github.com/MarioFinale.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"﻿# AniDownloader  - Automated Anime Downloader, Transcoder and Manager\n\n\n**Disclaimer:** Before using AniDownloader, please ensure you comply with local laws and regulations regarding the downloading, copying, and distribution of copyrighted materials. This software should only be used with content that is legally available for download or where you have explicit rights.\n\nAniDownloader is a terminal-based application for automatically managing anime series downloads, transcoding, and file organization. Designed to run on .NET 6, AniDownloader works on both Linux and Windows. It uses nyaa.si as a source for files.\n\n\n## Features\n\n- **Automated Downloads**: Fetches torrents for specified anime series from Nyaa.si by simply providing the series name.\n- **Continuous Operation**: Runs continuously, suitable for daemon operation under Linux.\n- **Torrent-Based**: Uses torrents for file transfers, not direct downloads.\n- **Intelligent Filtering**: Filters episodes based on criteria such as file size, age, and language.\n- **Selective Episode Handling**: Detects and downloads the highest quality version of each episode that includes the required subtitle language.\n- **Efficient Resource Management**: Limits bandwidth and request rate to avoid source website rate limits.\n- **Transcoding Support**: Automatically transcodes downloaded episodes to a smaller, device-compatible format using `ffmpeg`.\n- **Automated Cleanup**: Cleans up incomplete files and temporary folders, helping to recover gracefully from power interruptions or partial downloads.\n- **Organized File Management**: Creates folders and assigns correct episode numbers to each file for easy access.\n\n## Requirements\n\n- **.NET 6**: AniDownloader requires .NET 6, which can be installed from the official [Microsoft .NET website](https://dotnet.microsoft.com/download/dotnet/6.0).\n- **FFmpeg**: Ensure FFmpeg is installed on your system for transcoding functionality. Installation instructions can be found at [FFmpeg.org](https://ffmpeg.org/).\n\n## Installation\n\nClone the repository and navigate to the directory:\n\n```bash\ngit clone https://github.com/yourusername/AniDownloader.git\ncd AniDownloader\n```\n\n## Build the project\n\n```bash\ndotnet build\n```\n\n## Usage\n\nTo start AniDownloader, navigate to the folder and run:\n```bash\ndotnet run Anidownloader.dll\n```\n\n## Build as an Self-Contained, Single file\nIt is recommended to build AniDownloader as an stand-alone binary. Pre-Built stand-alone blobs are availiable in Releases but you can build your own with Build-SingleFile-Linux.bat or running the following command:\n```bash\ndotnet publish -c Release -r linux-x64 --self-contained /p:PublishSingleFile=true /p:PublishSelfContained=true\n```\n\n\n## Running as a background task (Linux)\n\nTo run as a background task on Linux, It's recommended to use `screen` since the output prints continuously:\n```bash\n/usr/bin/screen -dmS AniDownloader dotnet run AniDownloader.dll\n```\nIf you use `nohup` It's strongly recommended to redirect the output buffer to /dev/null.\n\n# How It Works\n\n* Episode Fetching: AniDownloader periodically checks Nyaa.si for new episodes of your specified series.\n* Filtering \u0026 Selection: Episodes are filtered based on size, release date, language, and quality to download only the most suitable files.\n* Downloading \u0026 Transcoding: Each episode is downloaded via torrent, then transcoded with ffmpeg to a more compatible and smaller format.\n* Seeding \u0026 Cleanup: Once transcoded, the file continues seeding until it reaches a defined ratio, and unnecessary temporary files are removed.\n* File Organization: AniDownloader organizes each series into its own directory and names files according to episode number for easy identification.\n\n# Configuration\n\nConfiguration options can be set in AniDownloader.cfg and Series Data is stored in SeriesData.xml.\n\n# Web Interface\nAccess the web server at 127.0.0.1:8080 to manage downloads, view current list and change settings. Changing the default bind IP may require admin/root privileges.\n\n# Troubleshooting\nIf the program crashes or becomes unresponsive, check logs in /var/log/AniDownloader.log.\nEnsure ffmpeg is in your PATH for transcoding to work.\n\n# Support\nFor issues or feature requests, open a ticket on GitHub.\n\n# Contributing\nContributions are welcome! Please feel free to submit issues, feature requests, and pull requests.\nFor pull request and code contributions, please follow the [style guide](./STYLE.md).\n\n# License\nAniDownloader is released under the GNU GENERAL PUBLIC LICENSE VERSION 2 (GPLv2). See the [LICENSE](./LICENSE) for details.\n\nView on [GitHub](github.com/MarioFinale/AniDownloader) | [Report a Bug or Issue](github.com/MarioFinale/AniDownloader/issues)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMarioFinale%2FAniDownloader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMarioFinale%2FAniDownloader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMarioFinale%2FAniDownloader/lists"}