inital release

This commit is contained in:
obvtiger 2025-04-30 19:01:10 +02:00
commit 1d708c14cf
26 changed files with 34335 additions and 0 deletions

106
readme.md Normal file
View file

@ -0,0 +1,106 @@
# 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.