Menu

Tree [44e938] main /
 History

HTTPS access


File Date Author Commit
 .bolt 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 .github 2025-02-27 Rohan Naagar Rohan Naagar [f33676] Create codeql.yml
 src 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 .eslintrc.cjs 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 .gitattributes 2025-02-27 Rohan Naagar Rohan Naagar [fc7c47] Version 2.1.0
 .gitignore 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 CODE_OF_CONDUCT.md 2025-02-27 Rohan Naagar Rohan Naagar [44e938] Create CODE_OF_CONDUCT.md
 LICENSE 2024-11-23 Rohan Naagar Rohan Naagar [9a67a8] Happy coding! 🎈
 README.md 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 SECURITY.md 2025-02-27 Rohan Naagar Rohan Naagar [2f63b7] Create SECURITY.md
 eslint.config.js 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 index.html 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 package-lock.json 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 package.json 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 postcss.config.js 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 requirements.txt 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 server.py 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 tailwind.config.js 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 tsconfig.app.json 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 tsconfig.json 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 tsconfig.node.json 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0
 vite.config.ts 2025-02-27 Rohan Naagar Rohan Naagar [f4a7b8] Version 2.1.0

Read Me

YouTube Downloader API

This project is a YouTube Downloader API built with FastAPI for the backend and React for the frontend. It allows users to download YouTube videos in various formats.

Features

  • Download YouTube videos in different formats (audio/video).
  • Serve downloaded files via HTTP.
  • React frontend for user interaction.
  • CORS enabled for frontend-backend communication.

Technologies Used

  • Backend: FastAPI, Python, yt-dlp
  • Frontend: React, TypeScript, Tailwind CSS
  • Database: PostgreSQL (for future enhancements)
  • CI/CD: GitHub Actions

Prerequisites

  • Python 3.11
  • Node.js 18
  • npm
  • PostgreSQL (for future enhancements)

Installation

  1. Clone the repository:
    sh git clone https://github.com/RohanCyberOps/YoutubeDL.git cd YoutubeDL

  2. Set up the backend:
    sh python -m venv .venv source .venv/bin/activate # On Windows use `.venv\Scripts\activate` pip install -r src/server/requirements.txt

  3. Set up the frontend:
    sh cd src/app npm install

Running the Application

  1. Start the backend server:
    sh source .venv/bin/activate # On Windows use `.venv\Scripts\activate` uvicorn src/server/main:app --host 127.0.0.1 --port 8000

  2. Start the frontend server:
    sh cd src/app npm run dev

API Endpoints

  • GET /: Welcome message.
  • POST /download: Download a YouTube video.
  • GET /download/{file_id}: Serve the downloaded file.

Example Request

To download a video, send a POST request to /download with the following JSON body:

{
  "url": "https://youtu.be/your_video_id",
  "format": "video"
}

CI/CD Pipeline

The project uses GitHub Actions for continuous integration and deployment. The workflow is defined in .github/workflows/main.yml.

Contributing

  1. Fork the repository.
  2. Create a new branch (git checkout -b feature-branch).
  3. Make your changes.
  4. Commit your changes (git commit -m 'Add some feature').
  5. Push to the branch (git push origin feature-branch).
  6. Open a pull request.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contact

For any inquiries, please contact RohanCyberOps.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.