HTTP Listener
Listener UI

Domain Rotation
The options to strategy domain rotation is:
Random
Failover
Round Robin
Proxy Settings
Set Proxy to http connections:
Proxy URL
Username
Password
Use SSL (HTTPS)
SSL Certificate Path
SSL Key Path
Upload Profile
need be passes the profile json for malleable profile
Malleable Profile Overview
This document provides detailed technical specifications for configuring HTTP listener profiles. The profile defines how client-server communications are handled, including request/response formatting, encryption, encoding, and routing behaviors.
Profile Structure
Root Level
The profile contains an array of callback objects, allowing multiple configurations for different hosts and communication patterns.
Callback Object
Multiple Hosts
Each callback can handle multiple hosts:
host array: Multiple target servers and ports
Can mix different ports
Single callback can communicate with multiple servers
User Agent
Important: The User-Agent is shared across both GET and POST requests from this callback. It identifies the client application for all HTTP methods.
Example Callback Structure
Request Methods: GET and POST
Independent Configuration
Each HTTP method (GET/POST) has its own independent configuration:
Separate
server.headersSeparate
client.headersSeparate
empty_responsehandlingSeparate error definitions
Separate route configurations
Empty Response
The empty_response field defines what the server should send when no tasking/data is available:
""(empty string) - Send nothingCan contain a custom response string if needed
Used when the server has no command or data to transmit
Server Error Configuration
Control HTTP status codes and error responses:
http_status (integer): HTTP status code (404, 403, 500, etc.)
response (string): Response body sent to client
Can be HTML or JSON format
Allows simulating various error conditions
Headers
Client Headers (Sent by Client)
Headers that the client includes in requests to the server.
Server Headers (Received from Server)
Headers that the server responds with.
Route Configuration
Route Grouping
Routes with identical behavior can be grouped together:
Routes are separated by spaces in a single string key. This allows reusing the same configuration for multiple endpoints.
Individual Route Configuration
Server Output
Configuration Options:
mask (boolean):
true- Apply XOR encryption before encodingfalse- No encryption, direct encodingEncryption is applied to the data before the format encoding
format (string): Output encoding format, The raw data is traffic encrypted with Loky Encrypt
base64- Standard Base64 encodingbase32- Base32 encodingbase64url- Base64URL encodingraw- No encoding (only XOR encryption if mask is true and default encryption)
Client Output
Configuration Options:
mask (boolean): Apply XOR encryption before encoding
format (string): Output encoding format (base64, base32, base64url, raw)
header (optional string): Send output in HTTP header with this name
parameter (optional string): Send output as query/body parameter with this name
body:
If the payload is in the header/parameter, it's possible to send a body that will be ignored.
Output Location Priority:
If
headeris specified → output sent in that HTTP headerElse if
parameteris specified → output sent as parameterElse → output sent in request body (default)
Payload Template
Purpose: Define the structure of how data is sent and allow flexible formatting.
Special Placeholder:
<<<PAYLOAD_DATA>>>- This is replaced with the actual output dataCan appear multiple times in the payload
Allows wrapping the data in custom JSON, XML, or other formats
Example Variations:
Parameters
Additional parameters to include in the request:
Can include multiple key-value pairs
Used for metadata or status information
Sent alongside the routed data
Complete Route Configuration Example
Example 1: Grouped Routes with Shared Behavior
Behavior:
Routes
/route1,/route2,/route3all use identical configurationServer sends unencrypted base64-encoded data
Client sends base64url-encoded, XOR-encrypted data
Data sent as query/body parameter named
infoIncludes beacon status and name in parameters
Example 2: Unique Route with Header Output
Behavior:
Server sends XOR-encrypted, base64url-encoded data as
infoparameterClient sends XOR-encrypted, base64-encoded data in
cookieheaderbody: ""no false/spoof data sent in the bodyPayload formatted as PHP session ID
Output placed only in header, not in body
Data Flow and Encryption
Encryption and Encoding Process
When mask: true:
When mask: false:
Complete Callback Example
Last updated