Tinyproxy · Schema

Tinyproxy Configuration

Schema for Tinyproxy HTTP proxy daemon configuration parameters

Forward ProxyProxyHTTPNetworkingOpen Source

Properties

Name Type Description
port integer TCP port Tinyproxy listens on (default: 8888)
user string System user to run the proxy daemon as
group string System group for the proxy daemon process
logFile string Path to the log file
logLevel string Logging verbosity level
pidFile string Path to the PID file
maxClients integer Maximum number of simultaneous connections
minSpareServers integer Minimum number of spare server processes
maxSpareServers integer Maximum number of spare server processes
startServers integer Initial number of server processes to start
maxRequestsPerChild integer Number of connections per child process before recycling
allow array Allowed client IP addresses or CIDR ranges
deny array Denied client IP addresses or CIDR ranges
disableViaHeader boolean Whether to disable the Via header
xTinyproxyHeader boolean Whether to send X-Tinyproxy header with client IP
upstream array Upstream proxy configuration for chaining
noUpstream array Domains to bypass upstream proxy
filter string Path to filter file for URL/domain filtering
filterURLs boolean Whether to filter by full URLs rather than just domains
filterCaseSensitive boolean Whether filters are case-sensitive
filterDefaultDeny boolean Default deny policy when filter file is active
connectPort array Allowed ports for CONNECT tunneling (e.g., 443, 563)
reverseOnly boolean Whether to operate in reverse proxy mode only
reverseMagic boolean Whether to add cookie magic for reverse proxying
reverseBaseURL string Base URL for reverse proxy mode
statHost string Hostname that returns statistics page
statFile string Path to statistics page template file
timeout integer Connection timeout in seconds
bindSameAddress boolean Whether to bind outbound connections to same address
View JSON Schema on GitHub

JSON Schema

tinyproxy-config-schema.json Raw ↑
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "https://raw.githubusercontent.com/api-evangelist/tinyproxy/main/json-schema/tinyproxy-config-schema.json",
  "title": "Tinyproxy Configuration",
  "description": "Schema for Tinyproxy HTTP proxy daemon configuration parameters",
  "type": "object",
  "properties": {
    "port": {
      "type": "integer",
      "minimum": 1,
      "maximum": 65535,
      "description": "TCP port Tinyproxy listens on (default: 8888)"
    },
    "user": {
      "type": "string",
      "description": "System user to run the proxy daemon as"
    },
    "group": {
      "type": "string",
      "description": "System group for the proxy daemon process"
    },
    "logFile": {
      "type": "string",
      "description": "Path to the log file"
    },
    "logLevel": {
      "type": "string",
      "enum": ["Critical", "Error", "Warning", "Notice", "Connect", "Info"],
      "description": "Logging verbosity level"
    },
    "pidFile": {
      "type": "string",
      "description": "Path to the PID file"
    },
    "maxClients": {
      "type": "integer",
      "minimum": 1,
      "description": "Maximum number of simultaneous connections"
    },
    "minSpareServers": {
      "type": "integer",
      "description": "Minimum number of spare server processes"
    },
    "maxSpareServers": {
      "type": "integer",
      "description": "Maximum number of spare server processes"
    },
    "startServers": {
      "type": "integer",
      "description": "Initial number of server processes to start"
    },
    "maxRequestsPerChild": {
      "type": "integer",
      "description": "Number of connections per child process before recycling"
    },
    "allow": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Allowed client IP addresses or CIDR ranges"
    },
    "deny": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Denied client IP addresses or CIDR ranges"
    },
    "disableViaHeader": {
      "type": "boolean",
      "description": "Whether to disable the Via header"
    },
    "xTinyproxyHeader": {
      "type": "boolean",
      "description": "Whether to send X-Tinyproxy header with client IP"
    },
    "upstream": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": ["http", "socks4", "socks5"]
          },
          "host": {
            "type": "string"
          },
          "port": {
            "type": "integer"
          },
          "domain": {
            "type": "string"
          }
        }
      },
      "description": "Upstream proxy configuration for chaining"
    },
    "noUpstream": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Domains to bypass upstream proxy"
    },
    "filter": {
      "type": "string",
      "description": "Path to filter file for URL/domain filtering"
    },
    "filterURLs": {
      "type": "boolean",
      "description": "Whether to filter by full URLs rather than just domains"
    },
    "filterCaseSensitive": {
      "type": "boolean",
      "description": "Whether filters are case-sensitive"
    },
    "filterDefaultDeny": {
      "type": "boolean",
      "description": "Default deny policy when filter file is active"
    },
    "connectPort": {
      "type": "array",
      "items": {
        "type": "integer"
      },
      "description": "Allowed ports for CONNECT tunneling (e.g., 443, 563)"
    },
    "reverseOnly": {
      "type": "boolean",
      "description": "Whether to operate in reverse proxy mode only"
    },
    "reverseMagic": {
      "type": "boolean",
      "description": "Whether to add cookie magic for reverse proxying"
    },
    "reverseBaseURL": {
      "type": "string",
      "description": "Base URL for reverse proxy mode"
    },
    "statHost": {
      "type": "string",
      "description": "Hostname that returns statistics page"
    },
    "statFile": {
      "type": "string",
      "description": "Path to statistics page template file"
    },
    "timeout": {
      "type": "integer",
      "description": "Connection timeout in seconds"
    },
    "bindSameAddress": {
      "type": "boolean",
      "description": "Whether to bind outbound connections to same address"
    }
  }
}