Config Decoder API
Send multipart form-data to the decode API and get back the decoded tunnel or VPN file payload with no login required.
Decoder Selector
Pick a decoder to update the request examples and copy the `decoder=` value.
Endpoint
POST https://config-decoder-two.vercel.app/decode
POST http://config-decoder-two.vercel.app/decode
Content Type
multipart/form-data
Request Body
| Field | Type | Required | Notes |
|---|---|---|---|
| decoder | string | Yes | Example: DARKTUNNEL |
| input_type | string | Yes | Use text or file |
| text | string | Conditional | Send when input_type=text |
| file | file | Conditional | Send when input_type=file |
Supported File Types
Dark Tunnel
.darktunnel
HTTP Custom
.hc
HTTP Injector
.ehi
NPV Tunnel
NPVT1 / NPVTSUB1
SSC Custom
ssc://
These are the decoder families supported by the API. Text payloads can also be sent with the same `decoder` values when using `input_type=text`.
Example Response
{
"result": "{ ...decoded config... }",
"filename": "decoded_output.json"
}
cURL
curl -X POST "https://config-decoder-two.vercel.app/decode" \
-F "decoder=DARKTUNNEL" \
-F "input_type=text" \
-F "text=darktunnel://your-payload"
JavaScript
const formData = new FormData();
formData.append('decoder', 'DARKTUNNEL');
formData.append('input_type', 'text');
formData.append('text', 'darktunnel://your-payload');
const response = await fetch('https://config-decoder-two.vercel.app/decode', {
method: 'POST',
body: formData,
});
const data = await response.json();
console.log(data.result);
Python
import requests
url = 'https://config-decoder-two.vercel.app/decode'
files = {
'decoder': (None, 'DARKTUNNEL'),
'input_type': (None, 'text'),
'text': (None, 'darktunnel://your-payload'),
}
response = requests.post(url, files=files)
print(response.json()['result'])
PHP
<?php
$ch = curl_init('https://config-decoder-two.vercel.app/decode');
$postFields = [
'decoder' => 'DARKTUNNEL',
'input_type' => 'text',
'text' => 'darktunnel://your-payload',
];
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postFields);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
echo json_decode($response, true)['result'];
curl_close($ch);
Ad Scripts
These ad slots mirror the scripts loaded below so the documentation page exposes them directly in the UI.