mirror of
https://github.com/arkorty/DownLink.git
synced 2026-03-17 16:51:45 +00:00
91 lines
2.5 KiB
Markdown
91 lines
2.5 KiB
Markdown

|
|
|
|
# DownLink
|
|
|
|
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.
|
|
|
|
## Table of Contents
|
|
|
|
- [Features](#features)
|
|
- [Technologies](#technologies)
|
|
- [Setup](#setup)
|
|
- [Prerequisites](#prerequisites)
|
|
- [Installation](#installation)
|
|
- [Usage](#usage)
|
|
- [API Endpoints](#api-endpoints)
|
|
- [Contributing](#contributing)
|
|
- [License](#license)
|
|
|
|
## Features
|
|
|
|
- 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.
|
|
|
|
## Technologies
|
|
|
|
- **Frontend**: React, Axios, Tailwind CSS
|
|
- **Backend**: Go, Echo, yt-dlp, ffmpeg
|
|
- **Containerization**: Docker, Docker Compose
|
|
|
|
## Setup
|
|
|
|
### Prerequisites
|
|
|
|
- Docker
|
|
- Docker Compose
|
|
- Node.js and npm (for frontend development)
|
|
- Python 3 (for `yt-dlp` and `ffmpeg`)
|
|
|
|
### Installation
|
|
|
|
1. **Clone the repository:**
|
|
|
|
```bash
|
|
git clone https://github.com/arkorty/downlink.git
|
|
cd downlink
|
|
```
|
|
|
|
2. **Set up environment variables:**
|
|
|
|
Create a `.env.local` file in the root of the frontend directory and add the following:
|
|
|
|
```env
|
|
REACT_APP_BACKEND_URL=http://localhost:8080
|
|
```
|
|
|
|
3. **Run the application using Docker Compose:**
|
|
|
|
```bash
|
|
docker compose up --build
|
|
```
|
|
|
|
This command will build and start the Docker containers for the frontend and backend.
|
|
|
|
4. **Access the application:**
|
|
|
|
Open your browser and navigate to `http://localhost:3000` to access the frontend. The backend API will be available at `http://localhost:8080`.
|
|
|
|
## Usage
|
|
|
|
### Downloading a Video
|
|
|
|
1. Enter the video URL and select the desired quality in the form on the homepage.
|
|
2. Click the "Download" button.
|
|
3. The video will be processed and downloaded to your device.
|
|
|
|
## API Endpoints
|
|
|
|
- **GET `/downlink/`**: Check if the backend is running.
|
|
- **POST `/downlink/download`**: Submit a request to download and merge video and audio. Requires JSON body with `url` and `quality` fields.
|
|
|
|
## Contributing
|
|
|
|
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!
|
|
|
|
## License
|
|
|
|
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|