2024-08-14 19:18:21 +05:30
2024-08-08 03:06:17 +05:30
2024-08-08 01:55:38 +05:30
2024-08-08 03:07:34 +05:30
2024-08-08 03:06:17 +05:30

downlink.png

DownLink

DownLink is a web application that allows users to download YouTube videos from URLs using a simple interface. This repository contains the code for both the frontend and backend of the application.

Table of Contents

Features

  • Download YouTube videos from a provided URL.
  • Choose video quality (480p, 720p, 1080p) 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:

    git clone https://github.com/arkorty/downlink.git
    cd downlink
    
  2. Set up environment variables:

    Create a .env file in the root of the frontend directory and add the following:

    REACT_APP_BACKEND_URL=http://localhost:8080
    
  3. Run the application using Docker Compose:

    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 file for details.

Description
No description provided
Readme MIT 1 MiB
Languages
TypeScript 46.1%
Go 24.5%
JavaScript 18.1%
CSS 7.6%
HTML 2.4%
Other 1.3%