Skip to content

Adam-Sizzler/v2ray-stat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

181 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

v2ray-stat API

API для управлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ ΠΈ статистикой сСрвСра v2ray-stat.
ВсС запросы ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½Π° http://127.0.0.1:9952.


πŸ“‹ Бписок эндпоинтов

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

GET /api/v1/users

curl -X GET http://127.0.0.1:9952/api/v1/users

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ статистику ΠΏΠΎ сСрвСру ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ

GET /api/v1/stats

Π­Ρ‚ΠΎΡ‚ эндпоинт Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ статистику ΠΏΠΎ сСрвСру ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, Π² зависимости ΠΎΡ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ stats_columns.

curl -X GET http://127.0.0.1:9952/api/v1/stats

ΠžΡ‚Π²Π΅Ρ‚ зависит ΠΎΡ‚ настроСк Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ

Π’ Ρ„Π°ΠΉΠ»Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ YAML ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΈ ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΌΡƒ столбцу ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ:

stats_columns:
  server:
    sort: rate DESC
    columns:
      - source
      - rate
      - uplink
      - downlink
  client:
    sort: user ASC
    columns:
      - user
      - last_seen
      - rate
      - uplink
      - downlink

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

  • Для server:

    • source β€” источник Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° (IP ΠΈΠ»ΠΈ hostname)
    • rate β€” Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ (Π±ΠΈΡ‚/с)
    • uplink β€” всСго ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ (Π±Π°ΠΉΡ‚)
    • downlink β€” всСго ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ (Π±Π°ΠΉΡ‚)
    • sess_uplink β€” ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии (Π±Π°ΠΉΡ‚)
    • sess_downlink β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии (Π±Π°ΠΉΡ‚)
  • Для client:

    • user β€” имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
    • uuid β€” ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€
    • last_seen β€” врСмя послСднСй активности
    • rate β€” Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ (Π±ΠΈΡ‚/с)
    • uplink β€” всСго ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ (Π±Π°ΠΉΡ‚)
    • downlink β€” всСго ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ (Π±Π°ΠΉΡ‚)
    • sess_uplink β€” ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии (Π±Π°ΠΉΡ‚)
    • sess_downlink β€” ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΎ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ сСссии (Π±Π°ΠΉΡ‚)
    • enabled β€” Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ
    • sub_end β€” Π΄Π°Ρ‚Π° окончания подписки
    • renew β€” статус/Π΄Π°Ρ‚Π° продлСния
    • lim_ip β€” ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ IP
    • ips β€” список IP-адрСсов
    • created β€” Π΄Π°Ρ‚Π° создания

ПовСдСниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:

Если ΠΏΠΎΠ»Π΅ columns Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ ΠΈΠ»ΠΈ пустоС, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ статистика Π½Π΅ отобраТаСтся.

Если ΠΏΠΎΠ»Π΅ sort Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ:

  • Для server ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ source ASC
  • Для client ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ user ASC

НСкоррСктныС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сортировки Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹, ΠΈ Π² Π»ΠΎΠ³Π°Ρ… появятся прСдупрСТдСния.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π΅Π· статистики ΠΏΠΎ сСрвСру:

stats_columns:
  server:
    columns: []
  client:
    columns:
      - user
      - rate
      - uplink
      - downlink

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сортировки Ρ‡Π΅Ρ€Π΅Π· URL

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ сортировку для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса:

curl "http://127.0.0.1:9952/api/v1/stats?sort_by=rate&sort_order=DESC"

Бтатистика DNS

GET /api/v1/dns_stats

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ статистика DNS.
    • count: ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ записСй DNS-запросов для Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°.
curl -X GET "http://127.0.0.1:9952/api/v1/dns_stats?user=newuser&count=10"

УдаляСт всС записи ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ DNS-статистики

POST /api/v1/delete_dns_stats

curl -X POST http://127.0.0.1:9952/api/v1/delete_dns_stats

Бброс Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ traffic_stats ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ uplink ΠΈ downlink

POST /api/v1/reset_traffic_stats

curl -X POST http://127.0.0.1:9952/api/v1/reset_traffic_stats

Бброс Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ clients_stats ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ uplink ΠΈ downlink

POST /api/v1/reset_clients_stats

curl -X POST http://127.0.0.1:9952/api/v1/reset_clients_stats

БбрасываСт статистику сСтСвого Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°

POST /api/v1/reset_traffic

curl -X POST http://127.0.0.1:9952/api/v1/reset_traffic

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

POST /api/v1/add_user

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • credential: Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (UUID для VLESS ΠΈΠ»ΠΈ PASSWORD для Trojan).
    • inboundTag: Π’Π΅Π³ входящСго соСдинСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, vless-in ΠΈΠ»ΠΈ trojan-in).
curl -X POST http://127.0.0.1:9952/api/v1/add_user -d "user=newuser&credential=123e4567-e89b-12d3-a456-426614174000&inboundTag=vless-in"

МассовоС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

POST /api/v1/bulk_add_users

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • users_file: Π€Π°ΠΉΠ» с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ user,credential,inboundTag.
      • Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»Π°:
        • user,credential,inboundTag: ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, user1,550e8400-e29b-41d4-a716-446655440000,vless-in).
        • user,credential: Π‘Π΅Π· inboundTag, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.
        • user: Волько имя, credential (UUID) гСнСрируСтся автоматичСски.
        • user,,inboundTag: Имя ΠΈ inboundTag, credential (UUID) гСнСрируСтся автоматичСски.
curl -X POST "http://127.0.0.1:9952/api/v1/bulk_add_users" -F "users_file=@users.txt"
  • ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π° users.txt:
user1,550e8400-e29b-41d4-a716-446655440000,vless-in  # ΠŸΠΎΠ»Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚
user2,6ba7b810-9dad-11d1-80b4-00c04fd430c8           # Π‘Π΅Π· inboundTag
user3                                                # Волько имя, UUID Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирован
user4,,vless-in                                      # Имя ΠΈ inboundTag, UUID Π±ΡƒΠ΄Π΅Ρ‚ сгСнСрирован

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

DELETE /api/v1/delete_user

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • inboundTag: Π’Π΅Π³ входящСго соСдинСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, vless-in).
curl -X DELETE "http://127.0.0.1:9952/api/v1/delete_user?user=newuser&inboundTag=vless-in"

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅/ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

PATCH /api/v1/set_enabled

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • enabled: Бтатус активности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (true β€” Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ, false β€” ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ).
curl -X PATCH http://127.0.0.1:9952/api/v1/set_enabled -d "user=newuser&enabled=false"

ИзмСнСниС Π»ΠΈΠΌΠΈΡ‚Π° IP для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

PATCH /api/v1/update_lim_ip

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • lim_ip: ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° количСство IP-адрСсов.
curl -X PATCH http://127.0.0.1:9952/api/v1/update_lim_ip -d "user=newuser&lim_ip=5"

ИзмСнСниС Π΄Π°Ρ‚Ρ‹ подписки

PATCH /api/v1/adjust_date

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • sub_end: Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ срока окончания подписки Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ +6d:0d, -3d, 3h
curl -X PATCH http://127.0.0.1:9952/api/v1/adjust_date -d "user=newuser&sub_end=+30d13h"

Настройка автопродлСния подписки

PATCH /api/v1/update_renew

  • ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹:
    • user: Имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
    • renew: ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ автопродлСния Π² днях.
curl -X PATCH http://127.0.0.1:9952/api/v1/update_renew -d "user=newuser&renew=30"

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ API для ядСр

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ API для статистики ΠΈ управлСния Π² ядрах Singbox ΠΈ Xray.

Singbox

"experimental": {
  "v2ray_api": {
    "listen": "127.0.0.1:9953",
    "stats": {
      "enabled": true,
      "inbounds": [
        "trojan-in",
        "vless-in"
      ],
      "outbounds": [
        "warp",
        "direct",
        "IPv4"
      ],
      "users": [
        "user1",
        "user2"
      ]
    }
  }
}

Xray

"api": {
  "tag": "api",
  "listen": "127.0.0.1:9953",
  "services": [
    "HandlerService",
    "StatsService",
    "ReflectionService"
  ]
},

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors