Skip to main content

A Python client for interacting with IKuai routers

Project description

PyIKuaiClient

A Python client for interacting with IKuai routers.

How to install

pip install pyikuai

Usage

from pyikuai import IKuaiClient

ikuai_client = IKuaiClient(
    url="http://192.168.1.1",
    username="your/ikuai/username",
    password="your/ikuai/password"
)

Implemented functionality

mac_group

>>> ikuai_client.list_mac_groups()  # get the mac_groups configured
{'total': 2,
 'data': [{'id': 1,
   'comment': '',
   'group_name': 'IPAD',
   'addr_pool': '34:b8:ec:42:91:2d'},
  {'id': 2,
   'comment': 'foo,%20bar',
   'group_name': 'test',
   'addr_pool': '43:a9:fc:43:97:3d,43:a9:fc:43:97:3f'}]}
>>> ikuai_client.del_mac_group(group_id=3)  # delete mac_group with id 3
{'Result': 30000, 'ErrMsg': 'Success'}  # succeed even that id does not exists.
>>> ikuai_client.add_mac_group(
    group_name="test2",
    addr_pools=['43:a9:fc:43:97:3d', '43:a9:fc:43:97:3f'],
    comments=["foo2", "bar2"])

{'Result': 30000, 'ErrMsg': 'Success', 'RowId': 3}
>>> ikuai_client.edit_mac_group(  # update mac_group id 3 with new comments
    group_id=3,
    group_name="test2", 
    addr_pools=['43:a9:fc:43:97:3d', '43:a9:fc:43:97:3f'],
    comments=["foo3", "bar3"])

{'Result': 30000, 'ErrMsg': 'Success'}

acl_l7

The functionality related to behavioral control of devices connected, via protocol. The implemented methods include add_acl_l7, list_acl_l7, edit_acl_l7, del_acl_l7, disable_acl_l7, enable_acl_l7.

domain_blacklist

The functionality related to behavioral control of devices connected, via domain blacklist. The implemented methods include add_domain_blacklist, list_domain_blacklist, edit_domain_blacklist, del_domain_blacklist, disable_domain_blacklist, enable_domain_blacklist

sysstat

Get the system statistics.

>>> ikuai_client.get_sysstat()
{'verinfo': {'modelname': '',
  'verstring': '3.7.10 x32 Build202401231339',
  'version': '3.7.10',
  'build_date': 202401231339,
  'arch': 'x86',
  'sysbit': 'x32',
  'verflags': '',
  'is_enterprise': 0,
  'support_i18n': 0,
  'support_dingtalk': 1,
  'support_lcd': 0,
  'bootguide': 'hd'},
 'cpu': ['0.00%', '0.00%'],
 'memory': {'total': 886264,
  'available': 618720,
  'free': 538644,
  'cached': 45460,
  'buffers': 69132,
  'used': '30%'},
 'stream': {'connect_num': 52,
  'upload': 821,
  'download': 432,
  'total_up': 671137724,
  'total_down': 4459837833},
 'cputemp': []}
>>> ikuai_client.get_sysstat(["verinfo"])
{'verinfo': {'modelname': '',
  'verstring': '3.7.10 x32 Build202401231339',
  'version': '3.7.10',
  'build_date': 202401231339,
  'arch': 'x86',
  'sysbit': 'x32',
  'verflags': '',
  'is_enterprise': 0,
  'support_i18n': 0,
  'support_dingtalk': 1,
  'support_lcd': 0,
  'bootguide': 'hd'}}

monitor_lanip & monitor_lanipv6

Get the monitor list of lanip (v4) or lanipv6. For v4, use ikuai_client.list_monitor_lanip(). For v6, use ikuai_client.list_monitor_lanip(ip_type='v6') .

acl_mac

The access control of device via mac address. The implemented methods include: add_acl_mac, list_acl_mac, edit_acl_mac, del_acl_mac, enable_acl_mac, disable_acl_mac.

mac_comment

The management of alias of devices, mapping mac addresses. The implemented methods include: add_mac_comment, list_mac_comment, edit_mac_comment, del_mac_comment.

mac_qos

The interface for limiting download/upload speed of devices, mapping mac addresses. The implemented methods include: add_mac_qos, list_mac_qos, edit_mac_qos, del_mac_qos, enable_mac_qos, disable_mac_qos.

url_black

Blacklisting or whitelisting url for accessing, mapping mac addresses. The implemented methods include: add_url_black, list_url_black, edit_url_black, del_url_black, enable_url_black, disable_url_black.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyikuai-0.4.0.dev0.tar.gz (10.9 kB view hashes)

Uploaded Source

Built Distribution

pyikuai-0.4.0.dev0-py3-none-any.whl (9.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page