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)
Py script to aid in setting up the boot chime in OpenCore.

BootChime Py script to aid in setting up the boot chime in OpenCore. It does so by helping you locate your IOHDACodecDevices, IOHDACodecAddress values

CorpNewt 7 Sep 19, 2022
Rufus is a Dos tool written in Python3.

🦎 Rufus 🦎 Rufus is a simple but powerful Denial of Service tool written in Python3. The type of the Dos attack is TCP Flood, the power of the attack

Billy 88 Dec 20, 2022
Tiny JSON RPC via HTTP library.

jrpc Simplest ever possible Asynchronous JSON RPC via HTTP library for Python, backed by httpx. Installation pip install async-jrpc Usage Import JRPC

Onigiri Team 2 Jan 31, 2022
Base on browser-time to get har from network, and use python to analyze the data .

base on browser-time to get har from network, and use python to analyze the data

1 Dec 20, 2021
This is a simple python code to get the list of banned IP addresses from Fail2ban

Fail2ban Scripts Usage banned_list.py This script tries to get the banned list of IP addresses by Fail2ban for the service freeswitch. You can modify

Yehor Smoliakov 9 Dec 28, 2022
Transfer files to and from a Windows host via ICMP in restricted network environments.

ICMP-TransferTools ICMP-TransferTools is a set of scripts designed to move files to and from Windows hosts in restricted network environments. This is

icyguider 269 Dec 20, 2022
Pywbem - A WBEM client and related utilities, written in pure Python.

Pywbem - A WBEM client and related utilities, written in pure Python Overview Pywbem is a WBEM client and WBEM indication listener and provides relate

PyWBEM Projects 39 Dec 22, 2022
Light, simple RPC framework for Python

Agileutil是一个Python3 RPC框架。基于微服务架构,封装了rpc/http/orm/log等常用组件,提供了简洁的API,开发者可以很快上手,快速进行业务开发。

16 Nov 22, 2022
Query protocol and response

whois Query protocol and response _MᵃˢᵗᵉʳBᵘʳⁿᵗ_ _ ( ) _ ( )( ) _ | | ( ) | || |__ _ (_) ___ | | | | | || _ `\ /'_`\ | |/',__) |

MasterBurnt 4 Sep 05, 2021
Nyx-Net: Network Fuzzing with Incremental Snapshots

Nyx-Net: Network Fuzzing with Incremental Snapshots Nyx-Net is fast full-VM snapshot fuzzer for complex network based targets. It's built upon kAFL, R

Chair for Sys­tems Se­cu­ri­ty 146 Dec 16, 2022
msgspec is a fast and friendly implementation of the MessagePack protocol for Python 3.8+

msgspec msgspec is a fast and friendly implementation of the MessagePack protocol for Python 3.8+. In addition to serialization/deserializat

Jim Crist-Harif 414 Jan 06, 2023
league-connection is a python package to communicate to riot client and league client

league-connection is a python package to communicate to riot client and league client.

Sandbox 1 Sep 13, 2022
MS Iot Device Can Platform

Kavo MS IoT Platform Version: 2.0 Author: Luke Garceau Requirements Read CAN messages in real-time Convert the given variables to engineering useful v

Luke Garceau 1 Oct 13, 2021
Library containing the core modules for the kingdom-python-server.

🏰 Kingdom Core Library containing the core modules for the kingdom-python-server. Installation Use the package manager pip to install kingdom-core. p

T10 4 Dec 27, 2021
NanoChat - nano chat server and client

NanoChat This is a work in progress! NanoChat is an application for connecting with your friends using Python that uses ONLY default Python libraries.

Miss Bliss 1 Nov 13, 2021
An open source bias lighting program which syncs up colored lights to the contents of your screen.

About Firelight Firelight is an open source bias lighting program which syncs up colored lights to the contents of your screen or TV, providing an imm

Roshan 18 Dec 18, 2022
Network Dynaimcs Simulation

A Final Year Project in CUHK, Autumn 2021 Network Dynaimcs Simulation Files param.h edit all the variables & settings here simulate.c the main program

Likchun 0 Mar 28, 2022
Simple client for the Sirah Matisse Commander TCP server.

Simple client for the Sirah Matisse Commander TCP server.

Nelson Darkwah Oppong 1 Nov 02, 2021
PoC code for stealing the WiFi password of a network with a Lovebox IOT device connected

LoveBoxer PoC code for stealing the WiFi password of a network with a Lovebox IOT device connected. This PoC was is what I used in this blogpost Usage

Graham Helton 10 May 24, 2022
Cobalt Strike script for ScareCrow payloads

🎃 🌽 ScareCrow Cobalt Strike intergration CNA A Cobalt Strike script for ScareCrow payload generation. Works only with the binary and DLL Loader. 💣

UserX 401 Dec 11, 2022