Advanced Settings
Setting up advanced configuration with Commander Service Mode
Advanced Configuration
Rate Limited Rules
Defines maximum API requests allowed within a specified time frame.
Default Rate Limits: 60/minute, 600/hour, 6000/day
Input Format: X/[minute|hour|day] or X per [minute|hour|day]
Valid Examples: "100/minute", "50/hour", "1000 per day"
Note: Case insensitive
IP Allow and IP Deny Lists
Controls access based on IP addresses or IP network ranges.
IP Allow List (Whitelist):
If specified, only IPs in this list are allowed access
Takes precedence over deny list
Default:
0.0.0.0/0(allow all) when not specified
IP Deny List (Blacklist):
IPs in this list are explicitly denied access
Only effective when allow list is not specified or when IP is not in allow list
Logic Flow:
If IP Allow list exists: Check if IP is allowed → Grant/Deny access
If IP Allow list is empty: Check IP Deny list → Deny if found, otherwise allow
Input Format: Comma-separated list of IP addresses or CIDR blocks
Validation Rules: Each IP must be valid IPv4 address or CIDR block
Valid Examples: "192.168.1.1, 10.0.0.0/24","172.16.0.0/16"
Notes: Empty list is allowed (skips validation)
Encryption Settings
Optional layer of AES-256 (GCM) encryption for all REST API responses
Input Format: y or n
Private Key Validation Rules:
Exactly 32 characters long
Allowed characters: alphanumeric and special characters (@#$%^&+=)
Cannot be empty
Note: The Key is required for API response decryption.
Token Expiration
Configures the REST API token lifespan.
Input Format: Xm, Xh, or Xd where X is a positive number and time units represent m for minutes, h for hours and d for days.
Validation Rules:
Value must be a positive number
Unit must be one of m, h or d
Valid Examples: "
30m", "24h", "7d".
Note: Empty input will set the token to never expire.
Command List
Specify the list of commands to be exposed via the API
Input Format: Comma-separated list of valid Keeper Commander commands
Validation Rules:
Must be a comma-separated list of valid Keeper Commander commands (can be seen by executing help in Commander CLI or entering some wrong command).
Cannot be empty
No spaces in individual commands.
Valid Example: "
whoami,tree,list"
Configuration Format
Input Format: Select between 'json' or 'yaml'
Validation Rules: Must be either 'json' or 'yaml' (case insensitive)
Run Mode
Input Format: Select between 'foreground' or 'background'
Foreground Mode: Service runs in the current terminal session Background Mode: Service runs as a background process with logging to files
Validation Rules: Must be either 'foreground' or 'background' (case insensitive)
Multiple API Token Support
The service_config.yaml file stored in the vault contains the service properties. In the file there is a section called "records". This allows you to define an API key with specific commands and token expiration.
encryption: ''
encryption_private_key: ''
ip_allowed_list: 0.0.0.0/0
ip_denied_list: ''
is_advanced_security_enabled: n
ngrok: y
ngrok_auth_token: XXXXXXXXXX
ngrok_custom_domain: myname
ngrok_public_url: ''
cloudflare: n
cloudflare_tunnel_token:
cloudflare_custom_domain:
cloudflare_public_url: ''
tls_certificate: n
certfile: ''
certpassword: ''
port: 9090
rate_limiting: ''
queue_enabled: y
run_mode: foreground
fileformat: yaml
records:
- api-key: XXXXXXXX
command_list: tree,record-add
expiration_timestamp: '9999-12-31T23:59:59'
- api-key: XXXXXXXX
command_list: get
expiration_timestamp: '9999-12-31T23:59:59'Configuration Security
Important Security Feature: The local service configuration files are automatically encrypted using your private key to protect sensitive configuration data including API keys, tokens, and security settings.
Last updated
Was this helpful?

