API Reference

Overview

The doxx.net API provides endpoints for authentication, account management, tunnel creation, domain management, and more. This API is accessible at https://setup.doxx.net and follows a token-based authentication system.

Authentication

POST /

Parameters:

  • token: User authentication token (required)
  • reset_token: Request a reset token (optional)

Response:

{
  "status": "success",
  "message": "Authentication successful"
}

Account Management

POST /

Create Account

Parameters:

  • create_account: Email address for new account

Response:

{
  "status": "success",
  "message": "Account created successfully. Please check your email for account details."
}

Tunnel Management

POST /

Create Tunnel

Parameters:

  • token: Authentication token
  • type: Type of tunnel (wireguard, tcp-encrypted, https, cdn)
  • name: Tunnel name (optional)
  • server: Target server (optional)
  • bandwidth_stats: Enable bandwidth statistics (0/1)
  • security_stats: Enable security statistics (0/1)
  • block_bad_dns: Block malicious DNS (0/1)
  • keep_established_ssh: Keep SSH connections alive (0/1)
  • kill_default_route: Kill default route (0/1)
  • auto_reconnect: Auto reconnect on failure (0/1, default: 1)
  • enable_routing: Enable routing (0/1, default: 1)
  • snarf_dns: Intercept DNS queries (0/1, default: 1)
  • firewall: Enable firewall (0/1)

Response:

{
  "status": "success",
  "message": "Tunnel created successfully"
}

Tunnel Management Updates

POST /

Update Tunnel

Parameters:

  • token: Authentication token
  • tunnel_token: Tunnel identifier
  • type: Type of tunnel (wireguard, tcp-encrypted, https, cdn)
  • name: Tunnel name (optional)
  • server: Target server (optional)
  • bandwidth_stats: Enable bandwidth statistics (0/1)
  • security_stats: Enable security statistics (0/1)
  • block_bad_dns: Block malicious DNS (0/1)
  • keep_established_ssh: Keep SSH connections alive (0/1)
  • kill_default_route: Kill default route (0/1)
  • auto_reconnect: Auto reconnect on failure (0/1, default: 1)
  • enable_routing: Enable routing (0/1, default: 1)
  • snarf_dns: Intercept DNS queries (0/1, default: 1)
  • firewall: Enable firewall (0/1)

Response:

{
  "status": "success",
  "message": "Tunnel updated successfully"
}

List Tunnels

Parameters:

  • token: Authentication token

Response:

{
  "status": "success",
  "tunnels": [{...}]
}

Delete Tunnel

Parameters:

  • token: Authentication token
  • tunnel_token: Tunnel identifier

Response:

{
  "status": "success",
  "message": "Tunnel deleted successfully"
}

Domain Management

POST /

Create Domain

Parameters:

  • token: Authentication token
  • domain: Domain name

Response:

{
  "status": "success",
  "message": "Domain registered successfully"
}

List Domains

Parameters:

  • token: Authentication token

Response:

{
  "status": "success",
  "domains": [{...}]
}

Delete Domain

Parameters:

  • token: Authentication token
  • domain: Domain to delete

Response:

{
  "status": "success",
  "message": "Domain deleted successfully"
}

DNS Management

POST /

Create DNS Record

Parameters:

  • token: Authentication token
  • domain: Domain name
  • name: Record name
  • type: Record type (A, CNAME, MX, TXT)
  • content: Record value

Response:

{
  "status": "success",
  "message": "DNS record created successfully"
}

List DNS Records

Parameters:

  • token: Authentication token
  • domain: Domain name

Response:

{
  "status": "success",
  "records": [{...}]
}

Delete DNS Record

Parameters:

  • token: Authentication token
  • domain: Domain name
  • name: Record name
  • type: Record type
  • content: Record value

Response:

{
  "status": "success",
  "message": "DNS record deleted successfully"
}

WireGuard Configuration

POST /

Get WireGuard Configuration

Parameters:

  • token: Authentication token
  • tunnel_token: Tunnel identifier

Response:

{
  "status": "success",
  "config": {...}
}

SSL Certificate Management

POST /

Sign Certificate

Parameters:

  • token: Authentication token
  • domain: Domain name
  • csr: Certificate Signing Request (PEM format)

Response:

{
  "status": "success",
  "certificate": "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----"
}

Server Management

POST /

List Servers

Parameters:

  • servers: Set to any value to list servers
  • type: Filter by server type (optional)

Response:

{
  "status": "success",
  "servers": [
    {
      "server_name": "string",
      "type": "string",
      "location": "string",
      "public_key": "string"
    }
  ]
}

Error Handling

If an error occurs, the API returns:

{
  "status": "error",
  "message": "Description of the error"
}

Notes

  • All requests should be sent as POST.
  • Authentication tokens must be included in every request.
  • Boolean parameters (0/1) default to 0 unless specified otherwise
  • Server types include: wireguard, tcp-encrypted, https, cdn
  • For more details, visit doxx.net.