Skip to main content

Unoffical JioFiber Router API to access it via python

Project description

Docs are given here.

Introduction

JioFiber-API is an unofficial Python package for JioRouters. The Api can be used to get stats and configure jio router from python. I do not own JioFiber or any naming rights w.r.t to it .This is just an unoffical api made for jioFiber router. For any disputes related to naming of the package send an email to : kapale.shreyas@gmail.com

Installation

$ pip install jioFiber-Api==0.1.7

JioFiberAPI Class :

JioFiberAPI(username,password) is instantiated by username and password of your jioFiber Admin Page hosted at 192.168.29.1. The default username and password is admin and Jiocentrum. But make sure you login once externally via browser and change it.

NodeProfile Class:

NodeProfile consists of following data members

name - MAC vendorName of the device
ipv4 - local ipv4 address provided by Router (DHCP) of the device
mac  - MAC address of the device
ntime- Amount of time the device was on the network post start
ap   - { } AP details of the device which it is on
security - [ ]  security and auth details

JioFiberAPI main methods:

createSession()

creates a session with your jioRouter ( Logins in the router ), please make sure to logout any external browser sessions before calling this method. This method also creates a login cookie.

createNodeProfiles()->dict

returns a dictionary of all the devices connected to the jioFiber router

# Format
{'9c:b2:d4:f0:e5:2f':
    {'ap': {
                'code': 'ap1',
                'ssid': 'AuroraHome',
                'status': 'Enabled'
            },
            'mac': '9c:b2:d4:f0:e5:2f',
            'security': ['WPA2', 'CCMP', 'PSK'],
            'ntime': '0 days, 3 hours, 33 minutes, 42 seconds', 'vname': 'Rivet Networks',
            'ipv4': '192.168.29.45'

    }

createNodeProfileObjects(self)->list

returns a list of objects of device info, same as createNodeProfiles but in object form.

getSoup(str)-> object

returns the soup of the supplied param webpage. Example - object.getSoup(‘accessPoints.html’)

getTableFromPage(str)->list

returns the list of rows from the supplied param webage. Example - object.getTableFromPage(‘accessPoints.html’)

There are prebuilt methods which use getTableFromPage to fetch data from pages which contain tables

  • getAccessPoints(str)->list < accessPoints.html >

  • getLanClients(str)->list < lanDhcpLeasedClients.html >

  • getApStats(str)->list < wirelessStatistics.html >

  • getApStats(str)->list < wirelessStatistics.html >

  • getClientStats(str)->list < wirelessClients.html >

  • getWirelessStats(str)->list < wirelessStatus.html >

Some helper functions

isLoggedIn()->bool

checks if the session exists.

getCookie()->str

returns token cookie

getVendor(str)->str

takes mac address and returns vendor uses https://api.macvendors.com/ api.

decoded(str)->str

takes byte string and decodes it

Example

from jiofiber import JioFiberAPI

Api = JioFiberAPI('admin','thanos.123')
Api.createSession()
try:
  print(Api.createNodeProfiles())
except:
  Api.endSession()
Api.endSession()

Please make sure you end the session successfully. If the program exits abruptly the session will still persist if the endSession was not called and this will stay for 3 mins until you can create new session. To avoid this put all your code inside a try except block as shown above.

Next Goals

  • Updating SSID and Password

  • Device Usage Profiles

  • Firewall configuration

LICENSE

MIT License 2021 Developer - Shreyas Kapale

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

jioFiber-Api-0.1.7.tar.gz (6.4 kB view details)

Uploaded Source

Built Distribution

jioFiber_Api-0.1.7-py3-none-any.whl (9.3 kB view details)

Uploaded Python 3

File details

Details for the file jioFiber-Api-0.1.7.tar.gz.

File metadata

  • Download URL: jioFiber-Api-0.1.7.tar.gz
  • Upload date:
  • Size: 6.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.3

File hashes

Hashes for jioFiber-Api-0.1.7.tar.gz
Algorithm Hash digest
SHA256 467e240c862c8db1015c946d0c4a12647d41c45d344950a019fa318aeb300d36
MD5 bb4ced29e4238636165927ae84ea957f
BLAKE2b-256 b24008b9f726bd3a35f256f2eb0b15abf6dae244cefdb5fd27a4a311b9587f02

See more details on using hashes here.

File details

Details for the file jioFiber_Api-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: jioFiber_Api-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 9.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.21.0 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.7.3

File hashes

Hashes for jioFiber_Api-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 a5da99c000f583a2f3643ea0a5db0185391990090f7227a2a1047c5c64104c81
MD5 91e7e882baa7ddff73b487c8552976de
BLAKE2b-256 bb1660e22fb5cd4315e4946748b5a97d2c097545f7acafe7d41dee7c3fedefdb

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