godanial control surface

Generated 2026-04-01 14:45:59Host qadrBind 127.0.0.1:39110
Services OK
10/10
Containers Running
25/25
APIs OK
5/7
Remediation Actions
0
This page is generated locally by godanial. Keep the web listener on localhost and publish it through Caddy or Cloudflare Access.

Overview

Host: qadr
Public IP: 5.235.208.128
Local IP: 192.168.1.200

Services

- ssh: active
- docker: active
- named: active
- wg-quick@wg0: active
- openvpn-server@qadr: active
- strongswan-starter: active
- qadr-network-guardian.timer: active
- qadr-cloudflared.service: active
- qadr-health-console.service: active
- qadr-vpn-policy.timer: active

Containers

- qadr-ingress-core-caddy: running / healthy
- qadr-openwebui-app: running / healthy
- qadr-openwebui-postgres: running / healthy
- qadr-openwebui-redis: running / healthy
- qadr-openwebui-tika: running / none
- qadr-ai-gateway-litellm: running / healthy
- qadr-ai-gateway-db: running / healthy
- qadr-local-llm-ollama: running / healthy
- qadr-bale-bridge: running / healthy
- qadr-telegram-bridge: running / healthy
- qadr-enigma-engine: running / healthy
- qadr-mirofish-frontend: running / healthy
- qadr-mirofish-backend: running / healthy
- qadr-openhands: running / healthy
- qadr-monitoring-prometheus: running / healthy
- qadr-monitoring-grafana: running / healthy
- qadr-monitoring-alertmanager: running / healthy
- qadr-monitoring-cadvisor: running / healthy
- qadr-watch-bootstrap: running / healthy
- qadr-watch-postgres: running / healthy
- qadr-watch-redis: running / healthy
- qadr-automation-n8n: running / healthy
- qadr-searxng: running / healthy
- qadr-graph-api: running / healthy
- qadr-graph-neo4j: running / healthy

APIs

- [Web] FreeGPT chat: 200 (10.7 ms) :: https://chat.freegpt.ir/auth
- [API] FreeGPT API: 200 (4.7 ms) :: https://api.freegpt.ir/
- [Monitoring] Grafana: 200 (14.7 ms) :: https://freegpt.ir/grafana/
- [Ops] QADR Watch: ERR (19.9 ms): <urlopen error [Errno -2] Name or service not known> :: https://watch.alefba.dev/
- [Ops] QADR Health Console: 200 (1.1 ms) :: http://127.0.0.1:39090/healthz
- [Messaging] Telegram bridge: ERR (0.2 ms): <urlopen error [Errno 111] Connection refused> :: http://127.0.0.1:8080/health
- [AI Router] ClawRouter: 200 (523.4 ms) :: https://api.clawrouter.app/v1/models

Remediation

- OK :: ensure-ssh-service :: active
- OK :: ensure-caddy-ingress-health :: running / healthy
- OK :: ensure-litellm-health :: running / healthy
- OK :: ensure-networkmanager-service :: active via snap.network-manager.networkmanager
- OK :: ensure-health-console-local-port :: open (0.1 ms)

MikroTik

[
  {
    "name": "mikrotik-public-edge",
    "label": "Public edge / FTTH",
    "host": "5.235.208.128",
    "port": 22,
    "user": "admin",
    "password": "",
    "public_ip": "5.235.208.128",
    "simple_role": "روتر اصلی برای اینترنت ملی، اینترنت بین المللی و سوئیچ مسیرها",
    "technical_role": "Primary RouterOS edge that terminates FTTH public IP, default routes, and policy routing decisions.",
    "notes": [
      "Use qadr-topology.secrets.json for the real password.",
      "Confirm interface names before enabling or disabling anything in production."
    ],
    "interfaces": [
      {
        "name": "ether1-ftth",
        "label": "FTTH uplink",
        "kind": "ethernet"
      },
      {
        "name": "wlan1-bridge",
        "label": "Wireless bridge uplink",
        "kind": "wireless"
      }
    ],
    "policy_actions": [
      {
        "name": "Prefer Starlink",
        "description": "Lower the Starlink default-route distance so international traffic prefers Starlink.",
        "command": "/ip route set [find comment=\"wan-starlink-default\"] distance=1"
      },
      {
        "name": "Prefer FTTH",
        "description": "Lower the FTTH default-route distance so national and mixed traffic prefer FTTH.",
        "command": "/ip route set [find comment=\"wan-ftth-default\"] distance=1"
      }
    ],
    "common_commands": [
      "/system identity print",
      "/interface print terse",
      "/ip route print terse where dst-address=0.0.0.0/0"
    ]
  },
  {
    "name": "mikrotik-lan-core",
    "label": "LAN core",
    "host": "192.168.1.3",
    "port": 2222,
    "user": "admin",
    "password": "",
    "simple_role": "هسته روتر داخلی و سوییچ سیاست های شبکه محلی",
    "technical_role": "Internal RouterOS node for local policy routing, NAT, and failover coordination inside the main LAN.",
    "notes": [
      "This host matches the historical qadr topology file."
    ],
    "interfaces": [
      {
        "name": "bridge-lan",
        "label": "LAN bridge",
        "kind": "bridge"
      }
    ],
    "policy_actions": [],
    "common_commands": [
      "/system identity print",
      "/ip firewall nat print terse",
      "/ip firewall filter print terse"
    ]
  },
  {
    "name": "mikrotik-starlink-segment",
    "label": "Starlink segment",
    "host": "192.168.100.3",
    "port": 22,
    "user": "admin",
    "password": "",
    "simple_role": "مدیریت سگمنت مرتبط با استارلینک",
    "technical_role": "RouterOS node dedicated to the Starlink-side segment and bypass-mode routing.",
    "notes": [],
    "interfaces": [],
    "policy_actions": [],
    "common_commands": [
      "/system identity print",
      "/interface print terse",
      "/ip route print terse"
    ]
  },
  {
    "name": "mikrotik-gateway",
    "label": "Gateway router",
    "host": "192.168.1.254",
    "port": 22,
    "user": "admin",
    "password": "",
    "simple_role": "گیت وی محلی شبکه",
    "technical_role": "Default local gateway on the QADR LAN.",
    "notes": [
      "The user request contained 5192.168.1.254, which is invalid. This example normalizes it to 192.168.1.254."
    ],
    "interfaces": [],
    "policy_actions": [],
    "common_commands": [
      "/system identity print",
      "/ip address print terse"
    ]
  }
]

Starlink

[
  {
    "name": "starlink-router",
    "label": "Starlink router",
    "host": "192.168.1.1",
    "probe_urls": [
      "http://192.168.1.1"
    ],
    "simple_role": "مدیریت مودم یا روتر اصلی استارلینک",
    "technical_role": "Primary Starlink management node on the local subnet."
  },
  {
    "name": "starlink-bypass",
    "label": "Starlink bypass",
    "host": "192.168.100.1",
    "probe_urls": [
      "http://192.168.100.1"
    ],
    "simple_role": "مسیر مدیریتی بای پس استارلینک",
    "technical_role": "Dish-side or bypass-mode management IP for the Starlink antenna path."
  }
]

VPN

{
  "services": [
    "wg-quick@wg0",
    "openvpn-server@qadr",
    "strongswan-starter"
  ],
  "upstreams": [
    {
      "name": "Starlink international",
      "type": "international",
      "endpoint": "Starlink antenna",
      "probe_host": "192.168.1.1",
      "simple_role": "اینترنت بین المللی از طریق استارلینک",
      "technical_role": "Primary international-only egress via the Starlink antenna path."
    },
    {
      "name": "FTTH public edge",
      "type": "mixed",
      "endpoint": "5.235.208.128",
      "probe_host": "5.235.208.128",
      "simple_role": "اینترنت ملی و بین المللی از طریق FTTH",
      "technical_role": "FTTH public edge that carries national access plus international breakout."
    },
    {
      "name": "Wireless national bridge",
      "type": "national",
      "endpoint": "87.107.101.48/30",
      "probe_host": "87.107.101.49",
      "simple_role": "پل وایرلس صرفا برای اینترنت ملی",
      "technical_role": "Wireless bridged national-only path on 87.107.101.48/30."
    },
    {
      "name": "Irancell modem",
      "type": "mixed",
      "endpoint": "Irancell modem",
      "probe_host": "",
      "simple_role": "اتصال سفید ملی و بین المللی روی مودم ایرانسلی",
      "technical_role": "Backup mobile uplink with both national and international access."
    },
    {
      "name": "National VPS",
      "type": "national",
      "endpoint": "213.176.120.5",
      "probe_host": "213.176.120.5",
      "ssh_user": "root",
      "ssh_port": 22,
      "simple_role": "VPS ملی برای دسترسی یا عبور ترافیک",
      "technical_role": "National-network VPS used as a transit or managed egress point."
    },
    {
      "name": "Dedicated national server",
      "type": "national",
      "endpoint": "91.199.215.38",
      "probe_host": "91.199.215.38",
      "ssh_user": "samii",
      "ssh_port": 22,
      "simple_role": "سرور اختصاصی ملی برای حمل یا مانیتورینگ",
      "technical_role": "Dedicated national-network server for monitoring, relay, or backup control-plane traffic."
    }
  ],
  "download_links": [
    {
      "name": "Windows package",
      "audience": "general",
      "url": "https://vpn.freegpt.ir/downloads/windows"
    },
    {
      "name": "Android package",
      "audience": "general",
      "url": "https://vpn.freegpt.ir/downloads/android"
    },
    {
      "name": "National-only package",
      "audience": "national",
      "url": "https://vpn.freegpt.ir/downloads/national"
    }
  ]
}

Messaging

[
  {
    "name": "Telegram bridge",
    "type": "container",
    "container": "qadr-telegram-bridge",
    "simple_role": "پل تلگرام",
    "technical_role": "Telegram bot bridge container integrated with the FreeGPT stack."
  },
  {
    "name": "Bale bridge",
    "type": "container",
    "container": "qadr-bale-bridge",
    "simple_role": "پل بله",
    "technical_role": "Bale messaging bridge container integrated with the FreeGPT stack."
  },
  {
    "name": "Eitaa",
    "type": "account",
    "simple_role": "اتصال ایتا",
    "technical_role": "Planned Eitaa integration managed by an external command or connector.",
    "command": ""
  },
  {
    "name": "Telegram bot",
    "type": "bot",
    "container": "qadr-telegram-bridge",
    "simple_role": "ربات تلگرام",
    "technical_role": "Telegram bot channel managed by the same bridge surface."
  },
  {
    "name": "Bale bot",
    "type": "bot",
    "container": "qadr-bale-bridge",
    "simple_role": "ربات بله",
    "technical_role": "Bale bot surface for automated operator workflows."
  },
  {
    "name": "Instagram",
    "type": "account",
    "simple_role": "اتصال اینستاگرام",
    "technical_role": "Planned social integration for operator visibility and outbound messaging."
  },
  {
    "name": "WhatsApp",
    "type": "account",
    "simple_role": "اتصال واتساپ",
    "technical_role": "Planned WhatsApp connector for VPN service delivery and notifications."
  },
  {
    "name": "Gmail",
    "type": "email",
    "simple_role": "ارسال ایمیل و لینک های دانلود",
    "technical_role": "Outbound email delivery surface for VPN package links and support automation."
  }
]

AI Router

{
  "enabled": true,
  "name": "ClawRouter",
  "provider": "clawrouter",
  "base_url": "https://api.clawrouter.app/v1",
  "health_url": "https://api.clawrouter.app/v1/models",
  "api_key_env": "CLAWROUTER_API_KEY",
  "default_model": "auto",
  "strategy": "balanced",
  "policy_header": "X-Routing-Policy",
  "simple_role": "مسیردهی هوشمند مدل ها برای کارایی و بهینه سازی هزینه",
  "technical_role": "OpenAI-compatible router layer for OpenClaw and internal tooling with model-selection strategies.",
  "preferred_clients": [
    "OpenClaw",
    "OpenAI-compatible SDKs",
    "Internal API tools"
  ],
  "optimization_goals": [
    "Reduce cost",
    "Improve latency",
    "Centralize model routing",
    "Use stronger models only when needed"
  ],
  "strategies": [
    {
      "name": "balanced",
      "summary": "Good default for operator workflows."
    },
    {
      "name": "cheap",
      "summary": "Prefer cheaper models for bulk jobs."
    },
    {
      "name": "low_latency",
      "summary": "Prefer low latency for interactive use."
    },
    {
      "name": "best",
      "summary": "Prefer stronger models for complex reasoning and auto-remediation."
    }
  ],
  "openclaw": {
    "config_path": "~/.openclaw/openclaw.json",
    "provider_mode": "openai-compatible",
    "notes": [
      "Keep the API key in an environment variable.",
      "Point OpenClaw to the configured ClawRouter base URL."
    ]
  },
  "notes": [
    "Treat the endpoint as configurable in case you self-host or use a different deployment.",
    "Use ClawRouter as the default route for OpenClaw and similar OpenAI-compatible clients."
  ]
}

AI CLIs

[
  {
    "name": "Codex",
    "command": "codex",
    "description": "CLI for code-aware operations, diagnostics, and guided automation."
  },
  {
    "name": "Claude",
    "command": "claude",
    "description": "Reasoning-first assistant for incident analysis and change planning."
  },
  {
    "name": "KiloCode",
    "command": "kilo",
    "description": "Local development and operations helper."
  },
  {
    "name": "Copilot",
    "command": "github-copilot",
    "description": "GitHub Copilot CLI or wrapper command."
  },
  {
    "name": "GitHub",
    "command": "gh",
    "description": "GitHub CLI."
  },
  {
    "name": "Gemini",
    "command": "gemini",
    "description": "Gemini CLI or wrapper command."
  }
]

Web Surfaces

[
  {
    "name": "godanial.alefba.dev",
    "url": "https://godanial.alefba.dev/",
    "description": "Planned godanial control surface on Alefba."
  },
  {
    "name": "godanial.gantor.ir",
    "url": "https://godanial.gantor.ir/",
    "description": "Planned godanial control surface on Gantor."
  },
  {
    "name": "godanial.freegpt.ir",
    "url": "https://godanial.freegpt.ir/",
    "description": "Planned godanial control surface on FreeGPT."
  }
]

Remote Deploy

{
  "host": "ssh.gantor.ir",
  "port": 22,
  "user": "saman",
  "remote_dir": "/tmp/godanial-deploy",
  "profile": "max",
  "enable_web": true,
  "enable_export_timer": true,
  "install_caddy_example": true,
  "caddy_target": "/etc/caddy/conf.d/godanial.conf",
  "verify_after_install": true,
  "notes": [
    "Use the local deploy helper when SSH reachability is available from the operator workstation.",
    "If you need live secrets on the remote host, pass a local qadr-topology.secrets.json file to the deploy helper."
  ]
}

Repos

[
  {
    "name": "freegpt",
    "path": "/home/saman/workspaces/freegpt",
    "owner": "product"
  },
  {
    "name": "qadr-host-ops",
    "path": "/home/saman/workspaces/qadr-host-ops",
    "owner": "host-ops"
  },
  {
    "name": "qadr-unified-vpn",
    "path": "/home/saman/workspaces/qadr-unified-vpn",
    "owner": "vpn"
  },
  {
    "name": "qadr-watch",
    "path": "/home/saman/workspaces/qadr-watch",
    "owner": "ops"
  },
  {
    "name": "gantor-enigma-engine",
    "path": "/home/saman/workspaces/gantor-enigma-engine",
    "owner": "product"
  },
  {
    "name": "gantor-mirofish",
    "path": "/home/saman/workspaces/gantor-mirofish",
    "owner": "product"
  },
  {
    "name": "gantor-openhands",
    "path": "/home/saman/workspaces/gantor-openhands",
    "owner": "ops"
  }
]

Topology Mermaid

graph TD
  qadr_host["QADR host\nqadr\n192.168.1.200"]
  mikrotik_1["Public edge / FTTH\n5.235.208.128"]
  qadr_host -->|RouterOS| mikrotik_1
  mikrotik_2["LAN core\n192.168.1.3"]
  qadr_host -->|RouterOS| mikrotik_2
  mikrotik_3["Starlink segment\n192.168.100.3"]
  qadr_host -->|RouterOS| mikrotik_3
  mikrotik_4["Gateway router\n192.168.1.254"]
  qadr_host -->|RouterOS| mikrotik_4
  starlink_1["Starlink router\n192.168.1.1"]
  qadr_host -->|Starlink| starlink_1
  starlink_2["Starlink bypass\n192.168.100.1"]
  qadr_host -->|Starlink| starlink_2
  upstream_1["Starlink international\ninternational"]
  qadr_host -->|VPN path| upstream_1
  upstream_2["FTTH public edge\nmixed"]
  qadr_host -->|VPN path| upstream_2
  upstream_3["Wireless national bridge\nnational"]
  qadr_host -->|VPN path| upstream_3
  upstream_4["Irancell modem\nmixed"]
  qadr_host -->|VPN path| upstream_4
  upstream_5["National VPS\nnational"]
  qadr_host -->|VPN path| upstream_5
  upstream_6["Dedicated national server\nnational"]
  qadr_host -->|VPN path| upstream_6
  godanial_domain_1["godanial.alefba.dev"]
  qadr_host -->|web| godanial_domain_1
  godanial_domain_2["godanial.gantor.ir"]
  qadr_host -->|web| godanial_domain_2
  godanial_domain_3["godanial.freegpt.ir"]
  qadr_host -->|web| godanial_domain_3
  QADR_host["QADR host"]
  Public_edge_FTTH["Public edge / FTTH"]
  QADR_host -->|LAN and control| Public_edge_FTTH
  QADR_host["QADR host"]
  Starlink_router["Starlink router"]
  QADR_host -->|probe and routing| Starlink_router
  QADR_host["QADR host"]
  godanial_alefba_dev["godanial.alefba.dev"]
  QADR_host -->|planned web panel| godanial_alefba_dev
  QADR_host["QADR host"]
  National_VPS["National VPS"]
  QADR_host -->|backup national path| National_VPS
  QADR_host["QADR host"]
  Dedicated_national_server["Dedicated national server"]
  QADR_host -->|relay and monitoring| Dedicated_national_server