- 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
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:
- HTTPS: https://localhost:7160
- HTTP: http://localhost:5112
Testing the API
- Start the API using one of the methods above
- Open the HTTP test file:
TuneRipper.Api/api-tests.http - Run the connectivity tests first to verify the API is responding
- Use the main API tests once connectivity is confirmed
Troubleshooting
"This localhost page can't be found" errors:
-
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
-
Try HTTP instead of HTTPS:
- Use
http://localhost:5112instead ofhttps://localhost:7160 - Some development environments have HTTPS certificate issues
- Use
-
Trust development certificates (for HTTPS):
dotnet dev-certs https --trust -
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:
-
Copy job IDs manually:
- Run a POST request to start processing
- Copy the
fileNamevalue from the response - Use it in the manual test sections
-
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:
- Root endpoint: https://localhost:7160/ (lists available endpoints)
- OpenAPI spec: https://localhost:7160/openapi/v1.json
- Health check: https://localhost:7160/api/health
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