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.3.2.dev0.tar.gz (10.9 kB view details)

Uploaded Source

Built Distribution

pyikuai-0.3.2.dev0-py3-none-any.whl (9.8 kB view details)

Uploaded Python 3

File details

Details for the file pyikuai-0.3.2.dev0.tar.gz.

File metadata

  • Download URL: pyikuai-0.3.2.dev0.tar.gz
  • Upload date:
  • Size: 10.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.2

File hashes

Hashes for pyikuai-0.3.2.dev0.tar.gz
Algorithm Hash digest
SHA256 6dac1a586f9f1bbdd980c25f0e04b0c4785d6a81297eab85dadda59888bd57a0
MD5 7d9a03d3449c094bdc593955545aa28c
BLAKE2b-256 ab5e862156e850bde75b550f56ab25e4207f315abcdb367b18dda4932fe45069

See more details on using hashes here.

File details

Details for the file pyikuai-0.3.2.dev0-py3-none-any.whl.

File metadata

File hashes

Hashes for pyikuai-0.3.2.dev0-py3-none-any.whl
Algorithm Hash digest
SHA256 2609e2f010d0632220e27415d56770867d00e7364fc15efe77b91b20d5d85c16
MD5 decfea3fb9cd13f1c4a105f82dab6489
BLAKE2b-256 8819b1ab4451f8e704b380e7910a6402bdd91f2b205703c928bfd1c13b499e9f

See more details on using hashes here.

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