URL Generator
Generate proxy URLs, extractor links, and encoded URLs for MediaFlow
🔗 Proxy URL Generator
Replace the original key URL (useful for bypassing protection)
Options
Select specific resolution (falls back to closest lower if not available)
Force Playlist Proxy: Force all playlist URLs to be proxied regardless of content routing settings
Key Only Proxy: Only proxy the key URL, leaving segment URLs direct
No Proxy: Returns manifest without proxying internal URLs
Max Resolution: Redirects to the highest resolution stream
Skip Segments (Intro/Outro Skip)
Format: start-end,start-end (e.g., "0-90" skips first 90 seconds, "0-112,1750-1800" skips intro and outro). Supports decimal values.
Start Offset (Live Stream Prebuffer)
Use negative values to start behind the live edge (e.g., -18 to start 18 seconds behind). This enables the prebuffer to work on live streams by creating headroom for prefetching segments.
Response Headers (Advanced)
Headers that propagate to segment URLs (e.g., content-type for disguised segments)
Comma-separated list of response headers to remove
DRM Parameters (Clear Key)
For Clear Key DRM-protected streams. Leave empty for non-DRM content.
Resolution
Select specific resolution (falls back to closest lower if not available)
Skip Segments (Intro/Outro Skip)
Format: start-end,start-end (e.g., "0-90" skips first 90 seconds, "0-112,1750-1800" skips intro and outro). Supports decimal values.
Start Offset (Live Stream Prebuffer)
Use negative values to start behind the live edge (e.g., -18 to start 18 seconds behind). This enables the prebuffer to work on live streams by creating headroom for prefetching segments.
Response Headers (Advanced)
Comma-separated list of response headers to remove
Filename for Content-Disposition header (useful for media players like Infuse)
Response Headers
Headers to add to the proxied response (e.g., Cache-Control, Content-Type)
Comma-separated list of response headers to remove from the proxied response
Headers will be encoded as h_HeaderName=value in the URL
🎬 Extractor URL Generator
Options
Redirect to Stream: Automatically redirect to the stream endpoint after extraction
Max Resolution: Select the highest resolution available
No Proxy: Return direct URLs without proxying
Additional parameters for specific extractors (e.g., stream_title for LiveTV)
Headers (Advanced)
Headers sent when extracting the stream (e.g., Referer, User-Agent)
Headers to add to the proxied response (used with redirect_stream)
Comma-separated list of response headers to remove
🔐 Encoded URL Generator
Generate encrypted/encoded URLs with expiration, IP restriction, and custom headers using the server-side API.
Additional query parameters to include in the URL
Headers
Headers for manifest response only
Headers that propagate to segment URLs (useful for disguised segments)
Response header names to remove from the proxied response
Security & Advanced Options
URL expires after this time
Restrict URL to this IP
For media players
Encode the destination URL in base64 format before processing
📺 Xtream Codes (XC) Proxy Configuration
Generate configuration for IPTV players to use MediaFlow as an XC API proxy. Supports live streams, VOD, series, and catch-up/timeshift.
Your IPTV provider's Xtream Codes server URL (include port if needed)
How it works
MediaFlow acts as a stateless proxy between your IPTV player and XC provider. Your credentials are encoded in the username field, allowing the player to connect through MediaFlow without any database or storage.
IPTV Player Configuration
Base64-encoded string (compatible with all IPTV apps)
Your original XC password (unchanged)
Player Setup Instructions
- Open TiviMate → Add Playlist
- Select "Xtream Codes Login"
- Enter the Server URL, Username, and Password from above
- Click "Next" to connect
- Open IPTV Smarters → Add User
- Select "Xtream Codes API"
- Enter any name for the playlist
- Enter the Username, Password, and URL from above
- Click "Add User"
- Open OTT Navigator → Settings → Providers
- Add Provider → Select "Xtream"
- Portal URL: Enter the Server URL from above
- Login: Enter the Username from above
- Password: Enter the Password from above
- Save and refresh
For any XC-compatible player, use these settings:
- Server/Portal URL: Use the Server URL above
- Username/Login: Use the generated Username above
- Password: Use your original XC password
✅ Supported Features
🌐 Acestream Proxy URL Generator
Generate URLs to proxy Acestream P2P content through MediaFlow. Supports both HLS manifest and MPEG-TS stream output.
The content ID from acestream:// links
40-character hex string from magnet links (e.g., b04372b9543d763bd2dbd2a1842d9723fd080076)
Start Offset (Live Stream Prebuffer)
Use negative values to start behind the live edge (e.g., -18 to start 18 seconds behind). This enables the prebuffer to work on live streams.
Requirements
Acestream proxy requires a running Acestream engine accessible from the MediaFlow server. Make sure ENABLE_ACESTREAM=true is set in your MediaFlow configuration.
Usage Examples
VLC: Media → Open Network Stream → Paste the URL
mpv: mpv "YOUR_URL"
Kodi: Add as a network source or use with Stremio addon
Web Player: Use with any HLS-compatible web player (hls.js, video.js)
✅ Features
Telegram Proxy URL Generator
Stream Telegram media (videos, documents, photos) with high-speed parallel downloads and full seeking support.
Supported formats: t.me/channel/123 (public), t.me/c/123456789/456 (private), t.me/username/123
Channel/group ID (with -100 prefix for supergroups) or @username
The message ID containing the media
Bot API file_id string (base64-encoded)
File size is required for range requests (seeking). Get this from the Bot API file info.
Override the filename for media players that use filename for metadata
📋 Input Format Examples
• https://t.me/channelname/123 - Public channel URL
• https://t.me/c/123456789/456 - Private channel URL
• chat_id=-1001234567890, message_id=123 - Direct IDs
• file_id=BQACAgI..., file_size=1048576 - Bot API file_id
Requirements
Telegram proxy requires configuration on the server side. Make sure ENABLE_TELEGRAM=true is set along with your API credentials and session string.
Usage Examples
VLC: Media → Open Network Stream → Paste the URL
mpv: mpv "YOUR_URL"
Infuse/Kodi: Add as network stream for full metadata support
Web Player: Direct URL works in browsers with video tag
📡 Additional Endpoints
Get file metadata (size, duration, dimensions)
/proxy/telegram/info
Check Telegram session status
/proxy/telegram/status
✅ Features
🔑 Session String Generator
Generate a session string to authenticate MediaFlow with your Telegram account. You only need to do this once.
Enter API Credentials
Get your API credentials from my.telegram.org/apps
International format with country code
Get from @BotFather on Telegram
Enter Verification Code
A verification code has been sent to your Telegram app. Enter it below.
Two-Factor Authentication
Your account has 2FA enabled. Please enter your cloud password.
Session String Generated!
Your session string has been generated successfully. Copy the configuration below and add it to your environment variables.
Error
Security Notice
The session string is equivalent to your Telegram password. Keep it secret and never share it publicly. If compromised, revoke all sessions in your Telegram app settings.