A lightweight python script that can monitor the T-Mobile Home Internet Nokia 5G Gateway for band and connectivity and reboot as needed.

Overview

tmo-monitor

A lightweight Python 3 script that can monitor the T-Mobile Home Internet Nokia 5G Gateway for band and connectivity and reboot as needed.

Currently checks for n41 5G signal and connectivity to either google.com or a configurable host via ping.

Windows is not currently supported, but should work well with *nix OSes.

Getting Started

Install dependencies

pip install -r requirements.txt

Mark as executable

chmod +x ./tmo-monitor.py

Usage

usage: tmo-monitor.py [-h] [-I INTERFACE] [-H PING_HOST] username password

Check T-Mobile Home Internet 5g band and connectivity and reboot if necessary

positional arguments:
  username              the username. should be admin
  password              the administrative password

optional arguments:
  -h, --help            show this help message and exit
  -I INTERFACE, --interface INTERFACE
                        the network interface to use for ping
  -H PING_HOST, --ping-host PING_HOST
  -R, --reboot          skip health checks and immediately reboot gateway

Options

Interface: --interface Can be used to specify the network interface used by the ping command. Useful if T-Mobile Home Internet is not your default network interface: e.g., this is running on a dual WAN router.

Ping Host --ping-host Defaults to google.com - override if you'd like to ping an alternate host to determine internet connectivity.

Reboot --reboot Skip health checks and immediately reboot gateway.

Known Issues

Windows OS ping implementation is not supported.

Roadmap

(Not yet implemented):

  • Specify desired band locking
    • 4g
    • 5g
  • Disable band locking check
  • Disable ping/connectivity check
  • Alternate connectivity checks
  • Disable reboot behavior
  • systemd service configuration

Tip

Run this script with either a cronjob or as a systemd service to implement periodic recurring T-Mobile Home Internet health checks with automatic rebooting.

Comments
  • overhaul the way credentials are managed

    overhaul the way credentials are managed

    An obnoxious number of changes, any of which you're free to veto or tell me to modify. The basic idea behind all of this was to make it possible to save the encrypted credentials to a file for later use so a user wouldn't need to either (a) store their router password as plaintext in a cronjob or, at the every least, their bash history or (b) always be prompted for a password. Note that I still need to test the longevity of the credentials, because if they expire after a few hours (or even a few days), then they're not nearly as useful for this idea, and I'll need to figure something else out (or settle for my unencrypted router password stored in crontab, sigh).

    Anyways, the major changes are:

    • Allow for credentials to be saved to and loaded from a JSON file
    • Set a default for the admin username (to uh... admin)
    • Allow the user to either pass the password in as an argument or input it at a password prompt
    • Move everything into a class and instantiate that class (this really wasn't entirely necessary, I'm just a nerd)

    If you want some of these changes but not all, feel free to copy+paste, or even ask me to go make a less-drastically-changed branch.

    opened by BenKesselring 11
  • Feature request: support for IPv6

    Feature request: support for IPv6

    IPv4 addresses are supported at ping hosts (e.g., 8.8.8.8), but IPv6 (e.g., 2001:4860:4860::8888) isn't on Linux as it requires the use of ping6 instead of ping.

    It would be nice to support both.

    enhancement good first issue 
    opened by hugoh 8
  • Add basic logging functionality & log all connection metrics

    Add basic logging functionality & log all connection metrics

    commit 3c1b750c4ec3276ad228108dabe2f82a08fc6210 Author: Andrew Pardoe [email protected] Date: Fri Dec 24 09:13:15 2021 -0800

    Add basic logging and connection logging
    
    Add new logging options:
      - tmo_logfile: specify logfile
      - tmo_log_all: log all connection statistics
    
    Also move some error output to logfile
    

    commit fd85144231eaf7b93a4bec50ee423d401d68ef1b Author: Andrew Pardoe [email protected] Date: Tue Dec 21 16:23:51 2021 -0500

    Add default operational logging
    
    1. Move error messages from print to logging.error
    2. Add operational logging
    3. Add log_all option to log all connection characteristics
    

    commit cb5eefdbaecaec8391d9c8376eeb4ddf8d2d49b4 Author: Andrew Pardoe [email protected] Date: Mon Dec 20 22:25:43 2021 -0500

    Added logging for basic cases
    
    opened by AndrewPardoe 8
  • v2: Add .env file for configuration & rework args

    v2: Add .env file for configuration & rework args

    Add .env file for configuration settings Rework arguments & argument parsing Add try/catch around request.get that require connection

    Squashed commit of the following:

    commit 1ad90f8da3a3908ffd5737ccd07318a40164e97b Author: Andrew Pardoe [email protected] Date: Thu Dec 16 17:33:35 2021 -0800

    tolower the True comparisons
    

    commit b4d0df17f99f1bf819c1002f7832f18d2cd0c212 Author: Andrew Pardoe [email protected] Date: Thu Dec 16 17:28:04 2021 -0800

    Try/catch around get requests
    

    commit e9dd8e7de49b73cb7c4449ecc80b072a655f0b75 Author: Andrew Pardoe [email protected] Date: Thu Dec 16 16:13:44 2021 -0800

    Re-enabled reboot function
    

    commit ec1347f7bc346e60f188fd2e319bbcee3de2484d Author: Andrew Pardoe [email protected] Date: Thu Dec 16 16:12:35 2021 -0800

    Finished testing of configuration
    

    commit 5f7251a46e344f291f217191bb7e1e7887358854 Author: Andrew Pardoe [email protected] Date: Wed Dec 15 08:19:40 2021 -0800

    Add small design spec for v2
    

    commit 14c1badc2a9b805d561fbc65f023aaaa35f34c86 Author: Andrew Pardoe [email protected] Date: Sun Dec 12 19:12:53 2021 -0800

    Add eND ID info to output
    

    commit 368ca2c1d295b9107014b11a00d36a351d39699a Author: Andrew Pardoe [email protected] Date: Sun Dec 12 16:46:55 2021 -0800

    Support new ping parameters & update requirements
    

    commit 686ba2e04f8420edf8d5f362184aec0500719f68 Author: Andrew Pardoe [email protected] Date: Sun Dec 12 16:04:18 2021 -0800

    Add .env support for config & refactor arg parsing
    
    opened by AndrewPardoe 8
  • How is the ping count supposed to be formatted?

    How is the ping count supposed to be formatted?

    I tried various choices and it looks to me like every time it's still only doing 1 ping.

    [email protected]:~ $ /home/pi/tmo-monitor-main/tmo-monitor.py --ping-count 3 --skip-bands admin password PING google.com (142.250.64.238) 56(84) bytes of data. 64 bytes from mia07s57-in-f14.1e100.net (142.250.64.238): icmp_seq=1 ttl=109 time=47.3 ms

    --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 47.275/47.275/47.275/0.000 ms

    No reboot necessary. [email protected]:~ $ /home/pi/tmo-monitor-main/tmo-monitor.py --skip-bands --ping-count=1 admin password PING google.com (142.250.64.238) 56(84) bytes of data. 64 bytes from mia07s57-in-f14.1e100.net (142.250.64.238): icmp_seq=1 ttl=109 time=54.8 ms

    --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 54.781/54.781/54.781/0.000 ms

    No reboot necessary. [email protected]:~ $ /home/pi/tmo-monitor-main/tmo-monitor.py --skip-bands --ping-count=3 admin password PING google.com (142.250.64.238) 56(84) bytes of data. 64 bytes from mia07s57-in-f14.1e100.net (142.250.64.238): icmp_seq=1 ttl=109 time=39.6 ms

    --- google.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 39.575/39.575/39.575/0.000 ms

    question 
    opened by famewolf 8
  • Log to syslog

    Log to syslog

    Unifies logging to use logging and adds option to log to syslog.

    Note that it works on Linux, and I cannot figure out why it doesn't on macOS (/var/run/syslog should be the socket to write to…).

    Implements #54 on Linux, maybe on macOS too.

    opened by hugoh 7
  • Included Docker image generation

    Included Docker image generation

    Here's a proposed patch to solve #42.

    To make it work: do a search and replace of hugohh/tmo-monitor into your know Docker Hub username/repo, and add the corresponding DOCKERHUB_USERNAME and DOCKERHUB_TOKEN as repository secrets.

    opened by hugoh 7
  • Bug merging configuration across .env, command line, and defaults

    Bug merging configuration across .env, command line, and defaults

    I grabbed the latest version and the logging is not working. Where it was on 12/30. Also the print configuration on the latest version is not working.

    bug 
    opened by danhausman 7
  • Arcaydyan enBID coming up wrong

    Arcaydyan enBID coming up wrong

    When I remove the first six characters (T-Mobile ID), then divide the remaining 8 digit number by 256, the tower ID matched what cellmapper.net showed for my connected tower. Discard the numbers after the decimal point, to get the correct enBID. I would be amenable to letting you ssh into my Linux Box, running Fedora 35, if you care to test it with a live unit. I do appreciate this effort you are putting out, for all of us who are using the Arc box. Using CGI on LTE tab, as the source, peel off the first 6 characters, then divide the remaining 8 digit number by 256, drop the characters after the decimal point, should give cell tower enBID that match the stuff reported to cellmapper.net. Hope this helps. Great work on this tool.

    opened by SteveEbey73742 6
  • Multiple consecutive pings in x time before you reboot due to drop outs or latency (due to bad weather etc)

    Multiple consecutive pings in x time before you reboot due to drop outs or latency (due to bad weather etc)

    At given times of the day and especially in bad weather you can experience "drop outs" that can last for 20-30 seconds. Right now this will trigger a reboot that adds another 2 minutes into the process. If the monitor was to do 4 pings 10 seconds apart before triggering a reboot this would allow for those moments of drop out or latency.

    This seemed to be different enough from the "enhance ping" issue where it talks about multiple hosts vs multiple pings across a timeframe interval.

    enhancement 
    opened by famewolf 6
  • Support .env files & major refactoring of argument parsing

    Support .env files & major refactoring of argument parsing

    Hey there! First, thanks for the script!

    I wanted to add (local) logging, but before I hacked on it I figured I'd add support for .env files and clean up the argument parsing a bit. I tried not to change the semantics but I haven't thoroughly tested yet.

    What I've got is a pretty major refactor that's just one commit behind your repo's status.

    https://github.com/AndrewPardoe/tmo-monitor/blob/config/tmo-monitor.py

    If you like the refactor, I'm happy to integrate your multiple ping logic & submit a PR to merge everything back. If you don't like the refactor, I'll probably maintain a fork. I'm still testing so I haven't created a PR yet.

    Please LMK.

    enhancement 
    opened by AndrewPardoe 5
  • Use technique other than ping to assess connection status

    Use technique other than ping to assess connection status

    It looks like T-Mobile started blocking pings, and so the connection looks down even when it's not. This broke this tool for me – I'm assuming for others too.

    We should add a different mechanism, such as DNS lookup or HTTP request.

    opened by hugoh 3
  • Provide an option to explicitly force IPv4 ping

    Provide an option to explicitly force IPv4 ping

    I had issues when my Linux system didn't apparently handle IPv6 pings to Google very well, and for some reason tmo_monitor/gateway/base.py wanted to use IPv6 ping. It would be really nice to either explicitly force ping -4 by default, or allow the user to specify ping -4 as a command line option.

    In my configuration I wanted to make double sure it didn't use IPv6 ping, so I just hardcoded base.py to add the -4 flag...

    opened by therealbobrice 0
  • Crashes Immediately on macOS

    Crashes Immediately on macOS

    macOS 12.4 Python 3.9.13 tmo-monitor 2.0.0 beta6

    All dependencies installed, as far as I know. The main script crashes with:

    $ ./bin/tmo-monitor.py Password: 2022/06/20 18:42:29 [DEBUG] Starting new HTTP connection (1): 192.168.12.1:80 2022/06/20 18:42:29 [DEBUG] http://192.168.12.1:80 "GET /fastmile_radio_status_web_app.cgi HTTP/1.1" 200 3318 Traceback (most recent call last): File "/Users/Administrator/Downloads/tmo-monitor-2.0.0-beta6/./bin/tmo-monitor.py", line 83, in <module> signal_info = gw_control.get_signal_info() File "/usr/local/lib/python3.9/site-packages/tmo_monitor/gateway/nokia.py", line 141, in get_signal_info info = signal_request.json() File "/usr/local/lib/python3.9/site-packages/requests/models.py", line 910, in json return complexjson.loads(self.text, **kwargs) File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/__init__.py", line 346, in loads return _default_decoder.decode(s) File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/usr/local/Cellar/[email protected]/3.9.13_1/Frameworks/Python.framework/Versions/3.9/lib/python3.9/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

    opened by jetblackrx89 4
  • Could not post reboot request

    Could not post reboot request

    Using Nokia 5G "trashcan" on firmware 1.2104.00.0286

    2022/06/15 00:20:38 [DEBUG] Starting new HTTP connection (1): 192.168.12.1:80 2022/06/15 00:20:39 [DEBUG] http://192.168.12.1:80 "GET /dashboard_device_info_status_web_app.cgi HTTP/1.1" 200 649 2022/06/15 00:20:39 [INFO] Reboot requested. 2022/06/15 00:20:39 [INFO] Rebooting. 2022/06/15 00:20:39 [DEBUG] Starting new HTTP connection (1): 192.168.12.1:80 2022/06/15 00:20:39 [DEBUG] http://192.168.12.1:80 "GET /login_web_app.cgi?nonce HTTP/1.1" 200 369 2022/06/15 00:20:39 [DEBUG] Starting new HTTP connection (1): 192.168.12.1:80 2022/06/15 00:20:39 [DEBUG] http://192.168.12.1:80 "POST /login_web_app.cgi HTTP/1.1" 200 32 2022/06/15 00:20:39 [CRITICAL] Could not post reboot request, exiting. (program terminates here)

    Doesn't seem to be able to reboot the router, so it just exits?

    Also all of this happens within a few seconds, it's not like it sends an initial reboot command then waits for the router, then fails.

    opened by Josephur 2
  • pip3 install .

    pip3 install .

    Sorry, Python noob here.

    On an uppdated RaspberryPi Python 3.9.2 pip 20.3.4 from /usr/lib/python3/dist-packages/pip (python 3.9) pip3 install . yields ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.

    Help

    Do I need to download the project and unpack it in the home directory?

    opened by DWomack 1
  • Format uptime output to Day:Hours:Minute:seconds, similar to the GUI

    Format uptime output to Day:Hours:Minute:seconds, similar to the GUI

    day = uptime // (24 * 3600) uptime = uptime % (24 * 3600) hour = uptime // 3600 uptime %= 3600 minutes = uptime // 60 uptime %= 60 seconds = uptime

    Not sure where to insert this, without possibly breaking stuff.

    opened by SteveEbey73742 0
Releases(v2.0.0-beta7)
  • v2.0.0-beta7(Aug 6, 2022)

    What's Changed

    • safely access 5g band info for arcadyan gateway - fixes #75 by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/76

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v2.0.0-beta6...v2.0.0-beta7

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta6(May 8, 2022)

    What's Changed

    • πŸ› calculate arcaydyan eNB ID using decimal base fixes #68 caused by fir… by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/70

    Thanks to @SteveEbey73742 for reporting.

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v2.0.0-beta5...v2.0.0-beta6

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta5(Apr 10, 2022)

    What's Changed

    • βš™οΈ add IPv6 ping support, fixes #43 by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/61
    • πŸ› use ping6 binary if available for ipv6 ping functionality, fixes #43 by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/62
    • πŸ› conditionally check for lsid cookie to avoid runtime error with nokia… fixes #66 by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/67

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v2.0.0-beta4...v2.0.0-beta5

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta4(Feb 4, 2022)

    What's Changed

    • πŸ› Fixed tmo_monitor.gateway module installation by @hugoh in https://github.com/highvolt-dev/tmo-monitor/pull/51
    • βš™οΈ use meaningful exit status codes, fixes #52 by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/53
    • βš™οΈ Log to syslog by @hugoh in https://github.com/highvolt-dev/tmo-monitor/pull/55
    • πŸ› Feature/bugfix web login nokia by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/57

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v2.0.0-beta3...v2.0.0-beta4

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta3(Jan 23, 2022)

    What's Changed

    • πŸ› Fix for #34 by @AndrewPardoe in https://github.com/highvolt-dev/tmo-monitor/pull/40
    • βš™οΈ Support for Busybox's ping by @hugoh in https://github.com/highvolt-dev/tmo-monitor/pull/46
    • βš™οΈ Add support for Arcadyan KVD21 Gateway by @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/47
    • πŸ“– Updated README

    New Contributors

    • @hugoh made their first contribution in https://github.com/highvolt-dev/tmo-monitor/pull/46

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v2.0.0-beta2...v2.0.0-beta3

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta2(Jan 8, 2022)

    What's Changed

    • 🧹 Regenerated requirements.txt with pipreqs by @AndrewPardoe in https://github.com/highvolt-dev/tmo-monitor/pull/33 and @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/38
    • πŸ› Bugfixes for configuration parsing between .env and command-line flags by @highvolt-dev in 9e2df70 fixes #31
    • πŸ› Support macOS ping output format by @delikat in https://github.com/highvolt-dev/tmo-monitor/pull/36 and @highvolt-dev in https://github.com/highvolt-dev/tmo-monitor/pull/39
    • πŸ“– Updated README

    New Contributors

    • @delikat made their first contribution in https://github.com/highvolt-dev/tmo-monitor/pull/36

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v2.0.0-beta1...v2.0.0-beta2

    Source code(tar.gz)
    Source code(zip)
  • v2.0.0-beta1(Dec 31, 2021)

    What's Changed

    • v2: Add .env file for configuration & rework args by @AndrewPardoe in https://github.com/highvolt-dev/tmo-monitor/pull/23
    • Add basic logging functionality & log all connection metrics by @AndrewPardoe in https://github.com/highvolt-dev/tmo-monitor/pull/24
    • Address the feedback from #24 by @AndrewPardoe in https://github.com/highvolt-dev/tmo-monitor/pull/30

    New Contributors

    • @AndrewPardoe made their first contribution in https://github.com/highvolt-dev/tmo-monitor/pull/23

    Full Changelog: https://github.com/highvolt-dev/tmo-monitor/compare/v1.8.0...v2.0.0-beta1

    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Dec 12, 2021)

  • v1.7.0(Oct 6, 2021)

    With v1.7.0, tmo-monitor brings support for checking that you are connected to a given eNB ID, which lets you specify which cell site you expect your gateway to be connecting to.

    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Oct 4, 2021)

    This release introduces primitive bootloop prevention by checking the gateway uptime to ensure that the script will not prematurely reboot if is running at a frequent interval.

    By default, the gateway must be up for at least 90 seconds to proceed with an implicit reboot.

    This is intended to give enough time for the gateway to start accepting API requests, establish a cellular connection, and stabilize its choice in band selection.

    Gateway uptime check is configurable with the --uptime flag, which takes an uptime threshold measured in integer seconds.

    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Oct 1, 2021)

  • 1.4.0(Sep 29, 2021)

    Allows user-defined preferred 4g and 5g bands. Will reboot when band criteria are not met.

    Also in this release:

    • skip rebooting
    • skip 5g band check
    Source code(tar.gz)
    Source code(zip)
CSP-style concurrency for Python

aiochan Aiochan is a library written to bring the wonderful idiom of CSP-style concurrency to python. The implementation is based on the battle-tested

Ziyang Hu 127 Dec 23, 2022
Mass Reverse IP Dibuat Dengan Python 3 Dan Ada Fitur Filter.

Reverse IP Tools Description. Reverse IP is a method to map an IP address to a sub domain. This tool is made in the python 3 programming language. Fea

Wan Naz ID 6 Oct 24, 2022
Easily share folders between VMs.

This package aims to solve the problem of inter-VM file sharing (rather than manual copying) by allowing a VM to mount folders from any other VM's file system (or mounted network shares).

Rudd-O 12 Oct 17, 2022
Official ProtonVPN Linux app

ProtonVPN Linux App Copyright (c) 2021 Proton Technologies AG This repository holds the ProtonVPN Linux App. For licensing information see COPYING. Fo

ProtonVPN 288 Jan 01, 2023
syncio: asyncio, without await

syncio: asyncio, without await asyncio can look very intimidating to newcomers, because of the async/await syntax. Even experienced programmers can ge

David Brochart 10 Nov 21, 2022
A project that forwards data it receives in a URL POST Request to a Discord Webhook link

Mailman Mailman is a project that basically just forwards data it receives in a URL POST Request to a Discord Webhook link and act as a sort of messag

Prakhar Trivedi 2 Mar 14, 2022
API to establish connection between server and client

Socket-programming API to establish connection between server and client, socket.socket() creates a socket object that supports the context manager ty

Muziwandile Nkomo 1 Oct 30, 2021
This Tool can help enginners and biggener in network, the tool help you to find of any ip with subnet mask that can calucate them and show you ( Availble IP's , Subnet Mask, Network-ID, Broadcast-ID )

This Tool can help enginners and biggener in network, the tool help you to find of any ip with subnet mask that can calucate them and show you ( Availble IP's , Subnet Mask, Network-ID, Broadcast-ID

12 Dec 13, 2022
A simple, personal chat program that runs on a single computer. No Internet, just you.

MultiChat A simple, personal chat program that runs on a single computer. No Internet, just you. Simple and Local MultiChat was created with ease of u

Owls 2 Aug 19, 2022
A vpn that sits in your browser, accessible via a website

VPNInYourBrowser A vpn that sits in your browser, accessible via a website Example setup: https://VPNInBrowser.jaffa42.repl.co Setup Put the code onto

1 Jan 20, 2022
A simple tcpdump sidecar injector to demonstrate Kubernetes's Mutating Webhook

k8s-tcpdump-webhook A simple tcpdump sidecar injector to demonstrate Kubernetes's Mutating Webhook Build and Deploy Build docker image; docker build -

Bilal Ünal 2 Sep 01, 2022
Fmog: Fortinet Mass Object Generator. This script will take a list of IP addresses and create address objects with the same name

Fmog: Fortinet Mass Object Generator This script will take a list of IP addresses and create address objects with the same name. It will also add them

2 Oct 26, 2021
pfSense integration with Home Assistant

hass-pfsense Join pfSense with home-assistant! hass-pfsense uses the built-in xmlrpc service of pfSense for all interactions. No special plugins or so

Travis Glenn Hansen 105 Dec 24, 2022
A simple implementation of an RPC toolkit

Simple RPC With Raw Sockets Repository for the Data network course project: Introduction In this project, you will attempt to code a simple implementa

Milad Samimifar 1 Mar 25, 2022
Tripwire monitors ports and icmp to send the admin a message if somebody is scanning a machine that shouldn't be touched

Tripwire monitors ports and icmp to send the admin a message if somebody is scanning a machine that shouldn't be touched

3 Apr 05, 2022
netpy - more than implementation of netcat 🐍πŸ”₯

netpy - more than implementation of netcat 🐍πŸ”₯

Mahmoud S. ElGammal 1 Jan 26, 2022
This is the code repository for Mastering Python for Networking and Security – Second Edition

Mastering Python for Networking and Security – Second Edition This is the code repository for Mastering Python for Networking and Security – Second Ed

Frank Gottinger 1 Feb 09, 2022
PyBERT is a serial communication link bit error rate tester simulator with a graphical user interface (GUI).

PyBERT PyBERT is a serial communication link bit error rate tester simulator with a graphical user interface (GUI). It uses the Traits/UI package of t

David Banas 59 Dec 23, 2022
LGPL Pure Python OPC-UA Client and Server

LGPL Pure Python OPC-UA Client and Server

Free OPC-UA Library 1.2k Jan 04, 2023
Lets you remove all friends, leave GCs, and leave servers, in an instant!

anonymity Lets you remove all friends, leave GCs, and leave servers, in an instant! You can also do each of them by themselves. First, you need to get

1 Dec 07, 2021