Open API of WFilter NGF
From Wiki of WFilter NG Firewall
Contents |
1 Introduction
WFilter NGF has a built-in API library for developers to manipulate the entire system or integrate WFilter features. With APIs, you’re able to:
- 1. Monitor system/network status.
- 2. Monitor bandwidth and online users.
- 3. Set client access policy.
Available APIs are listed in below:
2 Network Status
2.1 List network interfaces
- Function: get_network_interfaces
- Parameter: none
- Return: JSON
- Result format
2.2 Get interface status and statistics
- Function: get_network_status
- Parameter: none
- Return: JSON
- Result format
3 Bandwidth and user status
3.1 Get bandwidth history of past N seconds
- Function: list_bandwidth
- Parameter: seconds
- Return: JSON
- Result format
3.2 List online users
- Function: list_online_users
- Parameters: return rows(max 1000), search string
- Return: JSON
- Result format
3.3 List online connections of a client
- Function: list_online_connections
- Parameter: IP address
- Return: JSON
- Result format
4 Get Basic Settings
4.1 List groups
- Function: list_group
- Parameter: none
- Return: JSON
- Result format
4.2 List WFilter accounts
- Function: list_account
- Parameter: none
- Return: JSON
- Result format
5 Set client access policy
5.1 Terminate connections(kick off user)
- Function: kill_connection
- Parameters:
- port : connection local port, 0 for all ports
- type: "ALL"-- all protocols, "RESET"-- reset to default, "REMOVE"-- bypass all blocking, others -- protocol name.
- minutes: blocking minutes
- message: message to be displayed(urlencoded)
- Return: TRUE or FALSE
5.2 Add IP into a virtual group
- Function: add_virtual_group
- Parameters:
- groupid: group ID
- ip: client IP
- minutes: stay in this group for N minutes
- Return: TRUE or FALSE
5.3 Remove IP from a virtual group
- Function: rm_virtual_group
- Paramter: IP
- Return: TRUE or FALSE
5.4 Connect IP with username
- Function: add_user
- Parameters
- ip: ip address
- user: username(urlencoded)
- from: from type(eg: webauth, pppoe)
- expire: expire after N seconds
- Return: TRUE or FALSE
5.5 Disconnect ip with username
- Function: rm_user
- Paramter: ip or username(urlencoded)
6 Add, modify and delete settings
6.1 Load settings
- Function: config_load
- cfgname: config file name
- Return: json format settings
6.2 Add settings
- Function: config_add
- Parameters
- cfgname: config file name
- type: settings type
- name: settings section name
- values: json format settings content
6.3 Modify settings
- Function: config_set
- Parameters
- cfgname: config file name
- section: settings section name
- values: json format settings content
6.4 Delete settings
- Function: config_del
- Parameters
- cfgname: config file name
- section: settings section name
6.5 Apply changes
- Function: config_apply
- Parameter: none
7 SDK Download
7.1 php
Download URL: WFilter SDK for php