DownLink is a web application that allows users to download videos from YouTube and Instagram via a simple interface. This repository contains the code for both the frontend and backend of the application.
- Download YouTube videos from a provided URL.
- Choose video quality (360p, 480p, 720p) before downloading.
- Responsive UI built with React and Tailwind CSS.
- Backend API built with Go and the Echo framework.
- Utilizes yt-dlp for downloading and ffmpeg for converting files.
- Frontend: React, Axios, Tailwind CSS
- Backend: Go, Echo, yt-dlp, ffmpeg
- Containerization: Docker, Docker Compose
- Docker
- Docker Compose
- Node.js and npm (for frontend development)
- Python 3 (for
yt-dlp
andffmpeg
)
-
Clone the repository:
git clone https://github.com/arkorty/downlink.git cd downlink
-
Set up environment variables:
Create a
.env.local
file in the root of the frontend directory and add the following:REACT_APP_BACKEND_URL=http://localhost:8080
-
Run the application using Docker Compose:
docker compose up --build
This command will build and start the Docker containers for the frontend and backend.
-
Access the application:
Open your browser and navigate to
http://localhost:3000
to access the frontend. The backend API will be available athttp://localhost:8080
.
- Enter the video URL and select the desired quality in the form on the homepage.
- Click the "Download" button.
- The video will be processed and downloaded to your device.
- GET
/downlink/
: Check if the backend is running. - POST
/downlink/download
: Submit a request to download and merge video and audio. Requires JSON body withurl
andquality
fields.
We welcome contributions to DownLink! If you have suggestions, bug fixes, or new features, feel free to open an issue or submit a pull request. Thank you for helping improve DownLink!
This project is licensed under the MIT License - see the LICENSE file for details.