Merge pull request #828 from GerbillLife/main

Update CONTRIBUTING and README
pull/830/head
deniscerri 1 year ago committed by GitHub
commit 4288a434b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -1,29 +1,29 @@
# PREFACE
Before reading, you may know what yt-dlp is and what it does. In short, it's a CLI (Command Line Interface) program written in python, which lets you download videos from 1000+ websites.
# Preface
Before reading, you may know what yt-dlp is and what it does. In short, it's a CLI (command-line interface) program written in Python, which lets you download audios or videos from 1000+ websites.
For bug reports and feature requests, please search in issues first (including the closed ones). If there're no duplicates, feel free to submit an issue with an issue template.
We'll probably ignore and close your issue if it's not using the existing templates or doesn't contain sufficient description.
We will probably ignore and close your issue if it's not using the existing templates or doesn't contain a sufficient description.
For questions or any other ideas to improve, you can join or start a new discussion, talk in the telegram group or in the discord server.
For questions or any other ideas to improve, you can join or start a new discussion, talk in the Discord server or in the Telegram group.
## Bug Report
When submitting a bug report, please make sure your issue contains enough information for reproducing the problem, including the options or the custom command being used, the link to the video, and other fields in the issue template if there is one. A video recording of the problem is very helpful.
## Bug report
When submitting a bug report, please make sure your issue contains enough information for reproducing the problem, including the options or the custom command being used, the link to the video, and other fields in the issue template if there is one. A video recording of the problem can be very helpful.
## Feature Request
YTDLnis is and will remain a simple GUI for yt-dlp, providing most of the functionality of yt-dlp as is, without modifications. Thus, we'll not take requests for features that yt-dlp does not support.
## Feature request
YTDLnis is and will remain a simple GUI for yt-dlp, providing most of the functionality of yt-dlp as is, without modifications. Thus, we will not take requests for features that yt-dlp does not support.
The app has three download modes:
- <b>General mode</b>: Save as audio, download playlist, and many other options that can be used individually or combined for normal download tasks. Once the download is complete, YTDLnis will scan the files into the system media library, and store them in the download history.
- <b>Custom Command mode</b>: For advanced usage of yt-dlp, a user can create and store multiple command templates in the app, then select and use one of them directly to execute the yt-dlp command like in a terminal. In this mode, all of the GUI options and features in the general mode will be disabled.
- <b>Custom command mode</b>: For advanced usage of yt-dlp, a user can create and store multiple command templates in the app, then select and use one of them directly to execute the yt-dlp command like in a terminal. In this mode, all of the GUI options and features in the general mode will be disabled.
Since most of the functions can be implemented in custom command mode, the "feature request" would be treated as adding a shortcut to the general mode. However, not all feature requests will be accepted and implemented in the app. Why not add an option for that?
- <b>Terminal mode</b>: A CLI-like interface to be as close to yt-dlp
- <b>Terminal mode</b>: A CLI-like interface for using yt-dlp
## Pull Request
If you wish to contribute to the project by submitting code directly, please first leave a comment under the relevant issue or file a new issue, describe the changes you are about to make.
## Pull request
If you wish to contribute to the project by submitting code directly, please first leave a comment under the relevant issue or file a new issue and describe the changes you are about to make.
To avoid multiple pull requests resolving the same issue, let others know you are working on it by saying so in a comment, or ask the issue to be assigned to yourself.
To avoid multiple pull requests resolving the same issue, let others know you are working on it by saying so in a comment or ask the issue to be assigned to yourself.
## Building From Source
## Building from Source
Fork this project, import and compile it with the latest version of Android Studio Canary.

@ -28,64 +28,63 @@
<div align="center">
[![Github Download](https://custom-icon-badges.herokuapp.com/badge/Download-blue?style=for-the-badge&logo=download&logoColor=white)](https://github.com/deniscerri/ytdlnis/releases/latest)
[![Official Website](https://custom-icon-badges.herokuapp.com/badge/Official%20Website-violet?style=for-the-badge&logo=download&logoColor=white)](https://ytdlnis.org)
[![IzzyOnDroid Repo](https://custom-icon-badges.herokuapp.com/badge/IzzyOnDroid%20Repo-red?style=for-the-badge&logo=download&logoColor=white)](https://android.izzysoft.de/repo/apk/com.deniscerri.ytdl)
[![UpToDown](https://custom-icon-badges.herokuapp.com/badge/UpToDown-green?style=for-the-badge&logo=download&logoColor=white)](https://ytdlnis.en.uptodown.com/android/download)
[![Official website](https://custom-icon-badges.herokuapp.com/badge/Official%20Website-violet?style=for-the-badge&logo=download&logoColor=white)](https://ytdlnis.org)
[![GitHub Releases](https://custom-icon-badges.herokuapp.com/badge/Download-blue?style=for-the-badge&logo=download&logoColor=white)](https://github.com/deniscerri/ytdlnis/releases/latest)
[![IzzyOnDroid repository](https://custom-icon-badges.herokuapp.com/badge/IzzyOnDroid%20Repo-red?style=for-the-badge&logo=download&logoColor=white)](https://android.izzysoft.de/repo/apk/com.deniscerri.ytdl)
[![Uptodown](https://custom-icon-badges.herokuapp.com/badge/UpToDown-green?style=for-the-badge&logo=download&logoColor=white)](https://ytdlnis.en.uptodown.com/android/download)
![CI](https://github.com/deniscerri/ytdlnis/actions/workflows/android.yml/badge.svg?branch=main&event=pull)
[![preview release](https://img.shields.io/github/release/deniscerri/ytdlnis.svg?maxAge=3600&include_prereleases&label=preview)](https://github.com/deniscerri/ytdlnis/releases)
[![downloads](https://img.shields.io/github/downloads/deniscerri/ytdlnis/total?style=flat-square)](https://github.com/deniscerri/ytdlnis/releases)
[![Preview release](https://img.shields.io/github/release/deniscerri/ytdlnis.svg?maxAge=3600&include_prereleases&label=preview)](https://github.com/deniscerri/ytdlnis/releases)
[![Downloads](https://img.shields.io/github/downloads/deniscerri/ytdlnis/total?style=flat-square)](https://github.com/deniscerri/ytdlnis/releases)
[![Translation status](https://hosted.weblate.org/widgets/ytdlnis/-/svg-badge.svg)](https://hosted.weblate.org/engage/ytdlnis/?utm_source=widget)
[![community](https://img.shields.io/badge/Discord-YTDLnis-blueviolet?style=flat-square&logo=discord)](https://discord.gg/WW3KYWxAPm)
[![community](https://img.shields.io/badge/Telegram-YTDLnis-blue?style=flat-square&logo=telegram)](https://t.me/ytdlnis)
[![community](https://img.shields.io/badge/Telegram-Updates-red?style=flat-square&logo=telegram)](https://t.me/ytdlnisupdates)
### Only the links above are the only trusted sources of YTDLnis. Everything else is not related to me. YTDLnis doesn't have a personal website.
### Only the links above are the only trusted sources of YTDLnis. Everything else is not related to me.
</div>
## 💡 Features:
- download audio/video files from more than <a href="https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md">1000 websites</a>
- process playlists
- edit every playlist item separately just like in a normal download item.
- select a common format for all items and/or select multiple audio formats in case you are downloading them as a video
- select a download path for all items
- select a filename template for all items
- batch update download type to audio/video/custom command in one click
- queue downloads and schedule them by date and time
- you can also schedule multiple items at the same time
- download multiple items at the same time
- use custom commands and templates or go full yt-dlp mode with a built in terminal
- you can backup and restore templates, so you can share with your buddies
- COOKIES support. Log in with your accounts and download private/unavailable videos, unlock premium formats etc.
- cut videos based on timestamps and video chapters (This yt-dlp feature is experimental on the original project)
- you can make unlimited cuts
- remove sponsorblock elements from the item
- embed them as a chapters in your video
- embed subtitles/metadata/chapters etc
- modify metadata such as title and author
- split item into separate files depending on its chapters
- select different download formats
- bottom card right from the share menu, no need to open the app
- you can create a txt file and fill it with links/playlists/search queries separate by a new line and the app will process them
- search or insert a link from the app
- you can stack searches so you can process them at the same time
- log downloads in case of problems
- re-download cancelled or failed downloads
- you can use gestures to swipe left to redownload and right to delete
- you can long click the redownload button in the details sheet to show the download card for more functionality
- incognito mode when you don't want to save a download history or logs
- quick download mode
- download immediately without having to wait for data to process. Turn off the bottom card and it will instantly start
- open / share downloaded files right from the finished notification
- most yt-dlp features are implemented, suggestions are welcome
- Download audio/video files from more than <a href="https://github.com/yt-dlp/yt-dlp/blob/master/supportedsites.md">1000 websites</a>
- Process playlists
- Edit every playlist item separately just like in a normal download item
- Select a common format for all items and/or select multiple audio formats in case you are downloading them as a video
- Select a download path for all items
- Select a filename template for all items
- Batch update download type to audio/video/custom command in one click
- Queue downloads and schedule them by date and time
- You can also schedule multiple items at the same time
- Download multiple items at the same time
- Use custom commands and templates or use yt-dlp with the built-in terminal
- You can backup and restore templates so you can share them with your buddies
- Supports cookies. Log in with your accounts and download private/unavailable videos, unlock premium formats etc.
- Cut videos based on timestamps and video chapters (experimental yt-dlp feature)
- You can make unlimited cuts
- Remove SponsorBlock elements from downloaded items
- Embed them as a chapters in your video
- Embed subtitles/metadata/chapters etc
- Modify metadata such as title and author
- Split item into separate files depending on its chapters
- Select different download formats
- Bottom card right from the share menu, no need to open the app
- You can create a txt file and fill it with links/playlists/search queries separate by a new line and the app will process them
- Search or insert a link from the app
- You can stack searches so you can process them at the same time
- Log downloads in case of problems
- Re-download cancelled or failed downloads
- You can use gestures to swipe left to redownload and right to delete
- You can long click the redownload button in the details sheet to show the download card for more functionality
- Incognito mode when you don't want to save a download history or logs
- Quick download mode
- Download immediately without having to wait for data to process. Turn off the bottom card and it will instantly start
- Open / share downloaded files right from the finished notification
- Most yt-dlp features are implemented, suggestions are welcome
- Material You interface
- Theming options
- Backup and restore features. (Almost everything can be backed up)
- MVVM Architecture w/ WorkManager
- Backup and restore features
- MVVM architecture with WorkManager
## 📲 Screenshots
@ -107,13 +106,13 @@
## 💬 Contact
Join our [Telegram Channel](https://t.me/ytdlnis) or [Discord](https://discord.gg/WW3KYWxAPm) for discussion, announcements, and releases!
Join our [Discord](https://discord.gg/WW3KYWxAPm) or [Telegram channel](https://t.me/ytdlnis) for announcements, discussion and releases.
## 🔑 Connect with ReVanced and LibreTube
## 😇 Contributing
The App's package name is "com.deniscerri.ytdl"
Please read the [contributing](CONTRIBUTING.MD) section if you would like to contribute.
## 📝 Help Translate on Weblate
## 📝 Help translate on Weblate
<a href="https://hosted.weblate.org/engage/ytdlnis/">
<img src="https://hosted.weblate.org/widgets/ytdlnis/-/strings/open-graph.png" alt="Translation status" />
</a>
@ -123,43 +122,41 @@ The App's package name is "com.deniscerri.ytdl"
<img src="https://hosted.weblate.org/widgets/ytdlnis/-/multi-auto.svg" alt="Translation status" />
</a>
## ✔️🤖 Connect with Tasker / Macrodroid etc
## 🔑 Connect with third-party apps using the package name
The app's package name is "com.deniscerri.ytdl".
## 🤖 Connect with third-party apps using intents
You can use intents on apps like tasker or macrodroid to push commands to the app to run a download without user interaction
You can use intents to push commands to the app to run downloads without user interaction.
Accepted variables:
<b>TYPE</b> -> it can be: audio,video,command <br/>
<b>BACKGROUND</b> -> it can be: true,false. If its true the app won't show the download card no matter what and run the download in the background <br/>
### Tasker Example of downloading an audio in the background
### An example of downloading an audio item in the background with Tasker
1. Create Send Intent task
2. Action: android.intent.action.SEND
3. Cat: Default
4. Mime Type: text/*
5. Extra: android.intent.extra.TEXT:url (instead of url write the url of the video you want to download)
5. Extra: android.intent.extra.TEXT:url (instead of "url" write the URL of the video you want to download)
6. Extra: TYPE:audio
7. Extra: BACKGROUND:true
## 😇 Contributing
If you would like to contribute. Please read the [Contributing](CONTRIBUTING.MD) section.
## 📄 License
[GNU GPL v3.0](https://github.com/deniscerri/ytdlnis/blob/main/LICENSE)
⚠️ Warning <br>
Except for the source code licensed under the GPLv3 license, all other parties are prohibited from using the 'YTDLnis' name as a downloader app, and the same is true for its derivatives. Derivatives include but are not limited to forks and unofficial builds.
Except for the source code licensed under the GPLv3 license, all other parties are prohibited from using the "YTDLnis" name as a downloader app, and the same is true for its derivatives. Derivatives include but are not limited to forks and unofficial builds.
## 🙏 Thanks
- [yt-dlp](https://github.com/yt-dlp/yt-dlp) and its contributors for making this tool possible. Without it this app wouldn't exist.
- [youtubedl-android](https://github.com/yausername/youtubedl-android) for porting yt-dlp to android
- [dvd](https://github.com/yausername/dvd) for showing how to implement youtubedl-android
- [seal](https://github.com/JunkFood02/Seal) for certain design elements and features i wanted to use aswell in this app when i started developing
- [decipher3114](https://github.com/decipher3114) for the app icon
- [decipher3114](https://github.com/decipher3114) for the app's icon
- [dvd](https://github.com/yausername/dvd) for being an example youtubedl-android implementation
- [seal](https://github.com/JunkFood02/Seal) for certain design elements and features I wanted to have in this app when I started developing it
- [youtubedl-android](https://github.com/yausername/youtubedl-android) for porting yt-dlp to Android
- [yt-dlp](https://github.com/yt-dlp/yt-dlp) and its contributors for making this tool possible. Without it this app wouldn't exist
and alot of other internet forum strangers.
and to a lot of other people, such as contributors.

Loading…
Cancel
Save