Files
TuneRipper/TuneRipper.Api
Michal Vrba 406cf31b49 Real YouTube download & MP3 conversion with yt-dlp
- Integrate yt-dlp.exe for real YouTube audio download/conversion
- Serve actual MP3 files from wwwroot/downloads via API and static files
- Report real-time progress from yt-dlp to frontend
- Enhance DownloadController: file serving, metadata, deletion endpoints
- Update VideoController to track and return real file info/URLs
- Enable static file serving in Program.cs; update API info/logging
- Update Blazor frontend to use real download URLs and remove old JS logic
- Add README_UPDATED.md with new workflow and troubleshooting
- Improve error handling, logging, and file cleanup throughout backend
- Update .gitignore for downloads and yt-dlp.exe
2025-12-12 09:54:59 +01:00
..
2025-12-11 12:53:44 +01:00
2025-12-11 12:53:44 +01:00
2025-12-11 12:53:44 +01:00
2025-12-11 12:53:44 +01:00

TuneRipper API

Quick Start

Starting the API

Option 1: Using the start script (Windows)

cd TuneRipper.Api
start-api.bat

Option 2: Using the start script (Linux/Mac)

cd TuneRipper.Api
chmod +x start-api.sh
./start-api.sh

Option 3: Manual start

cd TuneRipper.Api
dotnet run

API Endpoints

Once running, the API will be available at:

Testing the API

  1. Start the API using one of the methods above
  2. Open the HTTP test file: TuneRipper.Api/api-tests.http
  3. Run the connectivity tests first to verify the API is responding
  4. Use the main API tests once connectivity is confirmed

Troubleshooting

"This localhost page can't be found" errors:

  1. Check if API is running:

    • Look for console output showing "Now listening on: https://localhost:7160"
    • If not running, start it using the methods above
  2. Try HTTP instead of HTTPS:

    • Use http://localhost:5112 instead of https://localhost:7160
    • Some development environments have HTTPS certificate issues
  3. Trust development certificates (for HTTPS):

    dotnet dev-certs https --trust
    
  4. Check port availability:

    • Make sure ports 7160 and 5112 aren't used by other applications
    • You can change ports in Properties/launchSettings.json

HTTP test file variables not working:

  1. Copy job IDs manually:

    • Run a POST request to start processing
    • Copy the fileName value from the response
    • Use it in the manual test sections
  2. Use the troubleshooting section:

    • Start with connectivity tests
    • Use manual GUID replacements if variables fail

API Documentation

When the API is running, you can access:

Development

The API includes:

  • Automatic reload on code changes (when using dotnet run)
  • Detailed logging in the console
  • CORS enabled for Blazor WebAssembly client
  • OpenAPI/Swagger support for API documentation