Genrouter
  • Getting Started
    • Introduction to GenRouter
    • Installation & Setup
  • How to Use?
    • Main Features
    • General settings for router
    • Security & Checking
    • WiFi Manager
    • Integrations API
    • Emulator Integration
      • NOX PLAYER
      • LD PLAYER
      • BLUESTACK
      • MEMU
  • PPoE mode
  • Release Note
  • General Fix Instructions
  • Group 1
    • Frequently Asked Questions (FAQ)
    • Policy & Support
      • Warranty & return policy
      • How to contact support
      • Community channels (Telegram, Discord, Forum)
    • Delivery and payment
Powered by GitBook
On this page
  • Router API Documentation
  • 1. Update Proxy
  • 2. Get Device List
  • 3. System Information
  • 4. Router Information
  • 5. Get System Configuration
  • 6. Check Network Connection
  • 7. Check for System Update
  • 8. Create WiFi Network
  • General Notes
  1. How to Use?

Integrations API

Router API Documentation

This API provides endpoints for developers to interact with and extend the functionality of the router. Below are the main endpoints along with cURL examples, request/response formats, and detailed descriptions.

1. Update Proxy

Endpoint: /api/update_proxy Method: POST Description: Updates the proxy configuration for the specified IP addresses.

Request

  • Headers:

    • Content-Type: application/json

  • Body: A JSON object where the keys are IP addresses and the values contain the proxy configuration:

    • type: Proxy type (e.g., socks5)

    • server: Proxy server address

    • port: Connection port

    • username: Login username

    • password: Login password

Example

curl --location 'http://192.168.5.1:9000/api/update_proxy' \
--header 'Content-Type: application/json' \
--data '{
    "192.168.4.253": {
        "type": "socks5",
        "server": "179.60.183.234",
        "port": 50101,
        "username": "genrouter",
        "password": "MDoFXVw5s8"
    },
    "192.168.5.104": {
        "type": "socks5",
        "server": "179.60.183.234",
        "port": 50101,
        "username": "genrouter",
        "password": "MDoFXVw5s8"
    }
}'

Sample Response

{"success": true}

2. Get Device List

Endpoint: /api/devices Method: GET Description: Retrieves a list of devices connected to the router along with details such as IP, MAC, hostname, connection status, and proxy configuration (if applicable).

Example

curl 'http://192.168.8.1:9000/api/devices'

Sample Response

{
    "data": [
        {
            "ip": "192.168.8.101",
            "mac": "40:c2:ba:89:c1:51",
            "hostname": "akatsuki",
            "connected": true
        },
        {
            "ip": "192.168.8.102",
            "mac": "",
            "hostname": "",
            "proxy": {
                "type": "socks5",
                "server": "179.60.183.234",
                "port": 50101,
                "username": "genrouter",
                "password": "MDoFXVw5s8",
                "udp": true
            },
            "connected": false
        }
    ]
}

3. System Information

Endpoint: /api/system/info Method: GET Description: Retrieves system information such as the build version, git commit, last version check time, and whether a reboot is required.

Example

curl 'http://192.168.8.1:9000/api/system/info' --insecure

Sample Response

{
    "build_version": "20250401",
    "current_version": "424319ff5b9e",
    "git_commit": "810f2d0",
    "last_version_check_time": "2025-04-01T08:14:18.39529544Z",
    "need_reboot": false,
    "newest_version": "424319ff5b9e",
    "success": true
}

4. Router Information

Endpoint: /api/router/info Method: GET Description: Retrieves the router configuration, including LAN and wireless settings.

Example

curl 'http://192.168.8.1:9000/api/router/info' --insecure

Sample Response

{
    "data": {
        "lan": {
            "networks": [
                {
                    "ip": "192.168.8.1",
                    "prefix_length": 24,
                    "dhcp_start": 100,
                    "dhcp_limit": 150,
                    "dhcp_lease_time": 0,
                    "device": "br-lan",
                    "ports": [
                        "eth0"
                    ],
                    "id": "lan",
                    "mac": "",
                    "country": "",
                    "brand": ""
                }
            ]
        },
        "wireless": {
            "radios": [
                {
                    "id": "radio0",
                    "band": "2g",
                    "mode": "speed",
                    "channel_id": "1",
                    "channels": [
                        {
                            "value": "auto",
                            "label": "auto"
                        },
                        {
                            "value": "1",
                            "label": "1 (2412 Mhz)"
                        },
                        {
                            "value": "2",
                            "label": "2 (2417 Mhz)"
                        },
                        {
                            "value": "3",
                            "label": "3 (2422 Mhz)"
                        },
                        {
                            "value": "4",
                            "label": "4 (2427 Mhz)"
                        },
                        {
                            "value": "5",
                            "label": "5 (2432 Mhz)"
                        },
                        {
                            "value": "6",
                            "label": "6 (2437 Mhz)"
                        },
                        {
                            "value": "7",
                            "label": "7 (2442 Mhz)"
                        },
                        {
                            "value": "8",
                            "label": "8 (2447 Mhz)"
                        },
                        {
                            "value": "9",
                            "label": "9 (2452 Mhz)"
                        },
                        {
                            "value": "10",
                            "label": "10 (2457 Mhz)"
                        },
                        {
                            "value": "11",
                            "label": "11 (2462 Mhz)"
                        }
                    ],
                    "ssids": [
                        {
                            "id": "gr_radio0_0",
                            "ssid": "GenRouter H3000",
                            "password": "",
                            "mac": "",
                            "brand": "",
                            "country": "",
                            "hidden": "",
                            "disabled": "0"
                        }
                    ]
                },
                {
                    "id": "radio1",
                    "band": "5g",
                    "mode": "speed",
                    "channel_id": "36",
                    "channels": [
                        {
                            "value": "auto",
                            "label": "auto"
                        },
                        {
                            "value": "36",
                            "label": "36 (5180 Mhz)"
                        },
                        {
                            "value": "40",
                            "label": "40 (5200 Mhz)"
                        },
                        {
                            "value": "44",
                            "label": "44 (5220 Mhz)"
                        },
                        {
                            "value": "48",
                            "label": "48 (5240 Mhz)"
                        },
                        {
                            "value": "52",
                            "label": "52 (5260 Mhz)"
                        },
                        {
                            "value": "56",
                            "label": "56 (5280 Mhz)"
                        },
                        {
                            "value": "60",
                            "label": "60 (5300 Mhz)"
                        },
                        {
                            "value": "64",
                            "label": "64 (5320 Mhz)"
                        },
                        {
                            "value": "100",
                            "label": "100 (5500 Mhz)"
                        },
                        {
                            "value": "104",
                            "label": "104 (5520 Mhz)"
                        },
                        {
                            "value": "108",
                            "label": "108 (5540 Mhz)"
                        },
                        {
                            "value": "112",
                            "label": "112 (5560 Mhz)"
                        },
                        {
                            "value": "116",
                            "label": "116 (5580 Mhz)"
                        },
                        {
                            "value": "120",
                            "label": "120 (5600 Mhz)"
                        },
                        {
                            "value": "124",
                            "label": "124 (5620 Mhz)"
                        },
                        {
                            "value": "128",
                            "label": "128 (5640 Mhz)"
                        },
                        {
                            "value": "132",
                            "label": "132 (5660 Mhz)"
                        },
                        {
                            "value": "136",
                            "label": "136 (5680 Mhz)"
                        },
                        {
                            "value": "140",
                            "label": "140 (5700 Mhz)"
                        },
                        {
                            "value": "144",
                            "label": "144 (5720 Mhz)"
                        },
                        {
                            "value": "149",
                            "label": "149 (5745 Mhz)"
                        },
                        {
                            "value": "153",
                            "label": "153 (5765 Mhz)"
                        },
                        {
                            "value": "157",
                            "label": "157 (5785 Mhz)"
                        },
                        {
                            "value": "161",
                            "label": "161 (5805 Mhz)"
                        }
                    ],
                    "ssids": null
                }
            ]
        }
    },
    "success": true
}

5. Get System Configuration

Endpoint: /api/system/config Method: GET Description: Retrieves the router's system configuration, including modes such as WebRTC and global proxy settings.

Example

curl 'http://192.168.8.1:9000/api/system/config' \
  --insecure

Sample Response

{
    "data": {
        "webrtcMode": 1,
        "globalProxyMode": 0,
        "globalProxy": null
    },
    "success": true
}

6. Check Network Connection

Endpoint: /api/system/network Method: GET Description: Checks the network connectivity of the router. A response with "success": true indicates that the router is connected to the network.

Example

curl 'http://192.168.8.1:9000/api/system/network' \
  --insecure

Sample Response

{"success": true}

7. Check for System Update

Endpoint: /api/system/check_for_update Method: GET Description: Checks if a new system update is available and provides details such as the build version, git commit, update ID, and changelog.

curl http://192.168.8.1:9000/api/system/check_for_update

Sample Response

{
    "data": {
        "build_version": "20250401",
        "git_commit": "810f2d0",
        "update_id": "424319ff5b9e",
        "changelog": ""
    },
    "success": true
}

8. Create WiFi Network

Endpoint: /api/router/create_wifi Method: POST Description: Creates or configures the WiFi network on the router. The request payload includes radio information and the SSIDs to be configured.

Request

  • Body: A JSON object with a key data that contains an array of configuration objects. Each object includes:

    • id: The radio ID (e.g., radio0)

    • ssids: An array of SSID configuration objects, each with:

      • ssid: WiFi network name

      • password: Password (can be set to null if not used)

      • hidden: Boolean indicating if the SSID is hidden

      • disabled: Boolean indicating if the SSID is disabled

      • mac, brand: Additional fields if applicable

Example

curl 'http://192.168.8.1:9000/api/router/create_wifi' \
  --data-raw '{"data":[{"id":"radio0","ssids":[{"ssid":"GenRouter H3000","password":null,"hidden":false,"disabled":false,"mac":"","brand":""},{"ssid":"Cahaahaah","password":"aassasas","hidden":true,"disabled":false,"mac":"","brand":"viettel"}]}]}' \
  --insecure

Sample Response

{"success": true}

General Notes

  • Endpoints related to system and router (e.g., /api/system/info, /api/router/info, /api/system/config, /api/system/network, /api/system/check_for_update, /api/router/create_wifi) may require the --insecure flag with cURL if the system is using an invalid SSL certificate.

  • The examples provided can be adjusted based on your specific environment (IP addresses, ports, authentication details, etc.).

PreviousWiFi ManagerNextEmulator Integration

Last updated 2 months ago