Home

# URL Generator

Generate proxy URLs, extractor links, and encoded URLs for MediaFlow

API Password (optional - for protected instances)

## 🔗 Proxy URL Generator

Proxy Type
Destination URL *
Key URL (optional)

Replace the original key URL (useful for bypassing protection)

#### Options

Force Playlist Proxy Key Only Proxy No Proxy Max Resolution
Resolution (optional)

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)

Time Ranges to 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)

Time Offset (seconds)

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)

Add Response Headers (r_ prefix - manifest only)
Propagate Headers to Segments (rp_ prefix)

Headers that propagate to segment URLs (e.g., content-type for disguised segments)

Remove Response Headers (x_headers)

Comma-separated list of response headers to remove

Destination URL *

#### DRM Parameters (Clear Key)

Key ID
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)

Time Ranges to 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)

Time Offset (seconds)

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)

Add Response Headers (r_ prefix)
Remove Response Headers (x_headers)

Comma-separated list of response headers to remove

Destination URL *
Filename (optional)

Filename for Content-Disposition header (useful for media players like Infuse)

#### Transcode (optional)

Enable Transcoding

Transcode to browser-compatible fMP4 (H.264 + AAC). Without Start Time, generates `/proxy/transcode/playlist.m3u8` (HLS). With Start Time, generates `/proxy/stream?...&transcode=true&start=...`.

Start Time (seconds) (optional)

Seek to this position before starting transcoded playback (e.g., 300 for 5 minutes)

#### Response Headers

Add Response Headers (r_ prefix)

Headers to add to the proxied response (e.g., Cache-Control, Content-Type)

Remove Response Headers (x_headers)

Comma-separated list of response headers to remove from the proxied response

Request Headers (optional)

Headers will be encoded as h_HeaderName=value in the URL

Generated URL
``

## 🎬 Extractor URL Generator

Video Host *
Video URL *

#### Options

Redirect to Stream Max Resolution No Proxy
URL Extension (for player compatibility)

Tip: Use `.m3u8` for HLS streams when using ExoPlayer (Android/Stremio). The extension helps players detect the stream type from the URL.

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

Extra Parameters (JSON, optional)

Additional parameters for specific extractors (e.g., stream_title for LiveTV)

#### Headers (Advanced)

Request Headers (h_ prefix)

Headers sent when extracting the stream (e.g., Referer, User-Agent)

Response Headers (r_ prefix)

Headers to add to the proxied response (used with redirect_stream)

Remove Response Headers (x_headers)

Comma-separated list of response headers to remove

Generated URL
``

## 🔐 Encoded URL Generator

Generate encrypted/encoded URLs with expiration, IP restriction, and custom headers using the server-side API.

MediaFlow Proxy URL *
Endpoint *
Destination URL *
Query Parameters (JSON, optional)

Additional query parameters to include in the URL

#### Headers

Request Headers (JSON)
Response Headers (JSON, r_ prefix)

Headers for manifest response only

Propagate Headers to Segments (JSON, rp_ prefix)

Headers that propagate to segment URLs (useful for disguised segments)

Remove Response Headers (comma-separated)

Response header names to remove from the proxied response

#### Security & Advanced Options

Expiration (seconds)

URL expires after this time

IP Restriction

Restrict URL to this IP

Filename

For media players

Base64 encode destination URL

Encode the destination URL in base64 format before processing

Generated URL
``

## 📺 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.

XC Provider URL *

Your IPTV provider's Xtream Codes server URL (include port if needed)

XC Username *
XC Password *

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

Server URL
``
Username
``

Base64-encoded string (compatible with all IPTV apps)

Password
``

Your original XC password (unchanged)

####
Player Setup Instructions

📱 TiviMate

1. Open TiviMate → Add Playlist
2. Select "Xtream Codes Login"
3. Enter the Server URL, Username, and Password from above
4. Click "Next" to connect

📺 IPTV Smarters

1. Open IPTV Smarters → Add User
2. Select "Xtream Codes API"
3. Enter any name for the playlist
4. Enter the Username, Password, and URL from above
5. Click "Add User"

🧭 OTT Navigator

1. Open OTT Navigator → Settings → Providers
2. Add Provider → Select "Xtream"
3. Portal URL: Enter the Server URL from above
4. Login: Enter the Username from above
5. Password: Enter the Password from above
6. Save and refresh

🎯 Other XC-Compatible Players

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

• Live TV • VOD/Movies • TV Series • Catch-up/Timeshift • EPG/TV Guide • M3U Export • Categories • Account Info

## 🌐 Acestream Proxy URL Generator

Generate URLs to proxy Acestream P2P content through MediaFlow. Supports both HLS manifest and MPEG-TS stream output.

Output Format
Content Identifier Type
Content ID *

The content ID from acestream:// links

Infohash *

40-character hex string from magnet links (e.g., b04372b9543d763bd2dbd2a1842d9723fd080076)

#### Transcode (optional)

Enable Transcoding

Transcode to browser-compatible fMP4 (H.264 + AAC) using direct stream mode (`transcode=true`). Uses GPU acceleration when available.

Start Time (seconds) (optional)

Seek to this position before starting transcoded playback (e.g., 300 for 5 minutes)

#### Start Offset (Live Stream Prebuffer)

Time Offset (seconds)

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.

Generated URL
``

#### 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

• HLS Output • MPEG-TS Output • Live Streams • Session Management • Cross-process Sync • Auto Keepalive

## Telegram Proxy URL Generator

Stream Telegram media (videos, documents, photos) with high-speed parallel downloads and full seeking support.

Input Type
Telegram URL *

Supported formats: t.me/channel/123 (public), t.me/c/123456789/456 (private), t.me/username/123

Chat ID *

Channel/group ID (with -100 prefix for supergroups) or @username

Message ID *

The message ID containing the media

File ID *

Bot API file_id string (base64-encoded)

File Size (bytes) *

File size is required for range requests (seeking). Get this from the Bot API file info.

Custom Filename (optional)

Override the filename for media players that use filename for metadata

#### Transcode (optional)

Enable Transcoding

Transcode to browser-compatible fMP4 (H.264 + AAC). Without Start Time, generates `/proxy/telegram/transcode/playlist.m3u8` (HLS). With Start Time, generates `/proxy/telegram/stream?...&transcode=true&start=...`.

Start Time (seconds) (optional)

Seek to this position before starting transcoded playback (e.g., 300 for 5 minutes)

#### 📋 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.

Generated URL
``

#### 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

Media Info

Get file metadata (size, duration, dimensions)

`/proxy/telegram/info`
Status Check

Check Telegram session status

`/proxy/telegram/status`

#### ✅ Features

• High-speed Downloads • Parallel Connections • Range Requests • Seeking Support • Video/Audio/Photos • Private Channels

## 🔑 Session String Generator

Generate a session string to authenticate MediaFlow with your Telegram account. You only need to do this once.

1

#### Enter API Credentials

Get your API credentials from my.telegram.org/apps

API ID *
API Hash *
Authentication Method
Phone Number *

International format with country code

Bot Token *

Get from @BotFather on Telegram

2

#### Enter Verification Code

A verification code has been sent to your Telegram app. Enter it below.

Verification Code *
2

#### Two-Factor Authentication

Your account has 2FA enabled. Please enter your cloud password.

2FA Password *
✓

#### Session String Generated!

Your session string has been generated successfully. Copy the configuration below and add it to your environment variables.

Environment Configuration
ENABLE_TELEGRAM=true
TELEGRAM_API_ID=
TELEGRAM_API_HASH=
TELEGRAM_SESSION_STRING=
❌

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.

#### Check Connection Status