Desktop Audio Proxy

Eliminates CORS issues for audio streaming in desktop apps

System Status

Environment: Detecting...
Proxy Server: Checking...
Library Version: Detecting...

Library Capabilities

✅ What Desktop Audio Proxy CAN Do:

  • • Bypass CORS restrictions for direct audio file URLs
  • • Handle MP3, WAV, OGG, FLAC, and other audio formats
  • • Support range requests for audio seeking
  • • Auto-detect Tauri/Electron/Web environments
  • • Provide fallback strategies when proxy unavailable
  • • Handle redirects and authentication headers
  • • Cache audio streams for better performance

❌ What It CANNOT Do:

  • • Extract audio from YouTube/Spotify/SoundCloud pages
  • • Convert HTML web pages to audio streams
  • • Bypass DRM or encrypted content
  • • Download copyrighted material
  • • Work with streaming platform APIs
  • • Handle video files (use direct audio URLs only)

🎵 Audio URL Tester

Try these example URLs to see the library in action:

Expected behavior: The "Without Proxy" test should fail with CORS errors when accessing these external audio URLs directly from the browser, while "With Proxy" should successfully bypass CORS restrictions and play the audio by routing through the Desktop Audio Proxy server. This demonstrates how the library solves cross-origin access issues for desktop applications.

Before vs After Comparison

❌ Without Proxy (Direct URL)

⏳ Not tested

✅ With Proxy (CORS Bypass)

⏳ Not tested

Implementation Code

import { createAudioClient } from 'desktop-audio-proxy';

// Create client with auto-detection
const audioClient = createAudioClient();

// Convert any audio URL to a playable URL
const playableUrl = await audioClient.getPlayableUrl(
  'https://example.com/podcast.mp3'
);

// Use in your audio element
audioElement.src = playableUrl;
import { TauriAudioService } from 'desktop-audio-proxy';

const audioService = new TauriAudioService({
  autoDetect: true
});

// In your audio player
const streamUrl = await audioService.getStreamableUrl(originalUrl);
audioElement.src = streamUrl;
import { ElectronAudioService } from 'desktop-audio-proxy';

const audioService = new ElectronAudioService({
  enableTranscoding: true
});

const streamUrl = await audioService.getStreamableUrl(originalUrl);