106 lines
No EOL
3.3 KiB
Markdown
106 lines
No EOL
3.3 KiB
Markdown
# RePiped
|
|
|
|
RePiped is an alternative frontend for YouTube, inspired by the Piped project. It provides a privacy-focused way to watch YouTube content with additional features.
|
|
|
|
This was made because piped is not working reliably anymore.
|
|
Repiped uses yt-dlp to fetch the videos and ffmpeg to stream them.
|
|
|
|
## Features
|
|
|
|
- 🎥 Watch YouTube videos without tracking
|
|
- 📦 Video caching for faster playback and reduced bandwidth usage
|
|
- 🍪 Cookie utilization for authenticated features
|
|
- 🔒 Privacy-focused
|
|
- 🚀 Fast and beautiful interface
|
|
|
|
## Installation
|
|
|
|
Repiped supports Windows and Linux operating systems. ffmpeg and yt-dlp are provided in the deps folder.
|
|
To install follow these simple steps:
|
|
|
|
### Running on the normal system
|
|
1. Clone this repo and fetch all lfs objects
|
|
```bash
|
|
git clone https://git.eplg.services/obvtiger/repiped.git
|
|
cd repiped
|
|
git lfs fetch --all
|
|
```
|
|
Make sure that the `ffmpeg` and `yt-dlp` binaries are in the `deps` folder.
|
|
Otherwise try to download the binaries from this repo and manually placing them into the deps directory.
|
|
|
|
2. Install all node dependencies
|
|
```bash
|
|
npm i
|
|
```
|
|
or
|
|
```bash
|
|
bun i
|
|
```
|
|
|
|
3. Configure your environment variables in a `.env` file
|
|
|
|
4. Export the cookies of a YouTube account using the cookies.txt extension on chrome or firefox and place it into a cookies.txt file next to the `server.js`
|
|
|
|
5. Run the server
|
|
```bash
|
|
node server.js
|
|
```
|
|
|
|
6. Open your browser and navigate to `http://localhost:3000`
|
|
|
|
### Running inside Docker
|
|
|
|
1. Clone this repo and fetch all lfs objects
|
|
```bash
|
|
git clone https://git.eplg.services/obvtiger/repiped.git
|
|
cd repiped
|
|
git lfs fetch --all
|
|
```
|
|
Make sure that the `ffmpeg` and `yt-dlp` binaries are in the `deps` folder.
|
|
Otherwise try to download the binaries from this repo and manually placing them into the deps directory.
|
|
|
|
2. Configure your environment variables in a `.env` file
|
|
|
|
3. Export the cookies of a YouTube account using the cookies.txt extension on chrome or firefox and place it into a cookies.txt file next to the `server.js`
|
|
|
|
4. Build the docker image
|
|
```bash
|
|
docker build -t repiped .
|
|
```
|
|
|
|
6. Run the docker container
|
|
```bash
|
|
docker run -d -p 3000:3000 repiped
|
|
```
|
|
|
|
## Technical Details
|
|
|
|
- Uses YouTube cookies for authenticated features while protecting user privacy
|
|
- Implements video caching system to improve performance
|
|
- Built with privacy and efficiency in mind
|
|
|
|
## Development
|
|
|
|
This project is under active development. Contributions are welcome!
|
|
|
|
## Disclaimer
|
|
|
|
Run this at your own risk!
|
|
Generally running this is legally safe. It is just a frontend for YouTube with a builtin proxy with caching capabilities. If you are not sure, turn off caching in the `.env`.
|
|
|
|
## Disclaimer
|
|
|
|
This project is not affiliated with YouTube or Google. It is an independent alternative frontend.
|
|
|
|
## Environment Configuration
|
|
|
|
The application can be configured using environment variables in a `.env` file:
|
|
|
|
| Variable | Description | Default |
|
|
|----------|-------------|---------|
|
|
| PORT | The port the server will listen on | 3000 |
|
|
| ENABLE_CACHING | Enable/disable video caching | true |
|
|
|
|
### Video Caching
|
|
|
|
When `ENABLE_CACHING` is set to `false`, video directories that haven't been accessed for 10 minutes will be automatically deleted to save disk space. When set to `true`, all downloaded videos will be kept permanently. |