Files
flvx/skills/flvx-api/references/config.md
T
2026-02-28 14:07:54 +08:00

3.1 KiB

System Configuration API

Manage system-wide settings and configurations.

POST /api/v1/config/get

Get a single configuration by name. This endpoint is public (no auth required).

Request:

{"name": "site_name"}

Response:

{
  "code": 0,
  "data": {
    "name": "site_name",
    "value": "My FLVX Panel",
    "time": 1706659200000
  }
}

POST /api/v1/config/list

List all configurations (requires authentication).

Request: {}

Response:

{
  "code": 0,
  "data": {
    "site_name": "My FLVX Panel",
    "site_logo": "https://example.com/logo.png",
    "site_announcement": "System maintenance scheduled",
    "captcha_enabled": "true",
    "captcha_type": "turnstile",
    "turnstile_site_key": "...",
    "default_user_flow": "100",
    "default_user_exp_days": "30"
  }
}

POST /api/v1/config/update

Batch update multiple configurations (admin only).

Request:

{
  "site_name": "New Panel Name",
  "site_announcement": "Welcome to the new panel!",
  "default_user_flow": "50"
}

Only include the keys you want to update.

Response:

{"code": 0, "msg": "success"}

POST /api/v1/config/update-single

Update a single configuration (admin only).

Request:

{
  "name": "site_name",
  "value": "My Awesome Panel"
}

POST /api/v1/announcement/get

Get the site announcement (public endpoint).

Method: GET

Response:

{
  "code": 0,
  "data": {
    "content": "System maintenance scheduled for tonight"
  }
}

POST /api/v1/announcement/update

Update the site announcement (admin only).

Request:

{"content": "New announcement message"}

Common Configuration Keys

Key Description Example
site_name Panel display name "My FLVX Panel"
site_logo Logo URL "https://example.com/logo.png"
site_announcement Announcement HTML "<p>Notice...</p>"
captcha_enabled Enable captcha "true" or "false"
captcha_type Captcha provider "turnstile" or "local"
turnstile_site_key Cloudflare Turnstile site key "0x4..."
turnstile_secret_key Cloudflare Turnstile secret "0x4..."
default_user_flow Default user traffic (GB) "100"
default_user_exp_days Default user expiry days "30"
default_user_num Default max forwards "10"

Example: Update Panel Name and Announcement

curl -s -X POST "${FLVX_BASE_URL}/api/v1/config/update" \
  -H "Authorization: ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "site_name": "Awesome Traffic Panel",
    "site_announcement": "<strong>Welcome!</strong> New nodes added."
  }'

Example: Enable Cloudflare Turnstile Captcha

curl -s -X POST "${FLVX_BASE_URL}/api/v1/config/update" \
  -H "Authorization: ${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{
    "captcha_enabled": "true",
    "captcha_type": "turnstile",
    "turnstile_site_key": "0x4AAAAAAAAjq0JN9YQg",
    "turnstile_secret_key": "0x4AAAAAAAAjq0JN9YQg_secret"
  }'