Skip to main content

Users Configuration (users.json)

users.json is the JSON-based authentication and policy database for Abdal 4iProto Server.

Example

[
{
"username": "ebrasha",
"password": "152314562152",
"role": "admin",
"blocked_domains": [],
"blocked_ips": [],
"log": "no",
"max_sessions": 1,
"session_ttl_seconds": 300,
"max_speed_kbps": 10240,
"max_total_mb": 0
},
{
"username": "user1",
"password": "password123",
"role": "user",
"blocked_domains": [
"facebook.com",
"*.facebook.com",
"twitter.com",
"*.twitter.com",
"instagram.com",
"*.instagram.com"
],
"blocked_ips": [
"192.168.1.100",
"10.0.0.*",
"172.16.*.*"
],
"log": "yes",
"max_sessions": 2,
"session_ttl_seconds": 300,
"max_speed_kbps": 512,
"max_total_mb": 10240
},
{
"username": "user2",
"password": "password456",
"role": "user",
"blocked_domains": [
"youtube.com",
"*.youtube.com",
"netflix.com",
"*.netflix.com"
],
"blocked_ips": [
"192.168.10.1",
"10.10.10.10"
],
"log": "yes",
"max_sessions": 5,
"session_ttl_seconds": 300,
"max_speed_kbps": 512,
"max_total_mb": 5120
}
]

Field Reference

FieldDescription
usernameLogin name
passwordLogin password
roleadmin or user
blocked_domainsDomains the user cannot visit (supports wildcards like *.example.com)
blocked_ipsDestination IPs the user cannot reach (supports patterns like 10.0.0.*)
logyes / no — enable or disable visited-website tracking for the account
max_sessionsMaximum concurrent sessions for the account
session_ttl_secondsSession lifetime in seconds
max_speed_kbpsPer-user rate limit in KB/s (Token Bucket)
max_total_mbTotal traffic quota in MB (0 can mean unlimited depending on deployment policy)

Roles

  • admin — can establish tunnels and execute operating system shell commands
  • user — can establish tunnels only
warning

Never keep sample passwords in production. Replace every default credential before public exposure.

Rate Limit and Quota Examples

  • max_speed_kbps: 1024 → 1 MB/s
  • max_total_mb: 10240 → 10 GB total quota