Back to Home API Documentation

Config Decoder API

Config Decode API endpoint reference

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.

DARKTUNNEL HTTPCUSTOM HTTPINJECTOR NPVTUNNEL SSCCUSTOM

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.