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)
ASC - Api Server Controller

ASC - Api Server Controller

Uriel Alves 1 Jan 03, 2022
A Network tool kit for scanning active IP addresses and open ports

Network scanner A small project that I wrote on the fly for (IT351) Computer Networks University Course to identify and label the devices in my networ

Mohamed Abdelrahman 10 Nov 07, 2022
A Python library to utilize AWS API Gateway's large IP pool as a proxy to generate pseudo-infinite IPs for web scraping and brute forcing.

A Python library to utilize AWS API Gateway's large IP pool as a proxy to generate pseudo-infinite IPs for web scraping and brute forcing.

George O 929 Jan 01, 2023
IoT owl is light face detection and recognition system made for small IoT devices like raspberry pi.

IoT Owl IoT owl is light face detection and recognition system made for small IoT devices like raspberry pi. Versions Heavy with mask detection withou

Ret2Me 6 Jun 06, 2022
a safe proxy over tls

TlsProxys 基于TLS协议的http流量代理 安装 ※ 需要python3.7+ linux: python3.9 -m pip install TlsProxys windows: pip install TlsProxys 基本用法 服务器端: $ tpserver [command]

56 Nov 30, 2022
A Python server and client app that tracks player session times and server status

MC Outpost A Python server and client application that tracks player session times and server status About MC Outpost provides a session graph and ser

Grant Scrits 0 Jul 23, 2021
A simple tool to get information about IP

IP Info Tool Just a simple tool to get IP's information, it uses requests module to gather information about IP, if you dont have much knowledge about

0 Dec 01, 2021
Start a simple TCP Listener on a specified IP Address and Port Number and receive incoming connections.

About Start a simple TCP Listener on a specified IP Address and Port Number and receive incoming connections. Download Clone using git in terminal(git

AgentGeneric 5 Feb 24, 2022
GNS3 Graphical Network Simulator

GNS3-gui GNS3 GUI repository.

GNS3 1.7k Dec 29, 2022
Easy to use gRPC-web client in python

pyease-grpc Easy to use gRPC-web client in python Tutorial This package provides a requests like interface to make calls to gRPC-Web servers.

Sudipto Chandra 4 Dec 03, 2022
Modern Denial-of-service ToolKit for python

💣 Impulse Modern Denial-of-service ToolKit 💻 Main window 📡 Methods: Method Target Description SMS PHONE Sends a massive amount of SMS messages and

1 Nov 29, 2021
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
ProxyBroker is an open source tool that asynchronously finds public proxies from multiple sources and concurrently checks them

ProxyBroker is an open source tool that asynchronously finds public proxies from multiple sources and concurrently checks them. Features F

Denis 3.2k Jan 04, 2023
Godzilla traffic decoder Godzilla Decoder 是一个用于 哥斯拉Godzilla 加密流量分析的辅助脚本。

Godzilla Decoder 简介 Godzilla Decoder 是一个用于 哥斯拉Godzilla 加密流量分析的辅助脚本。 Godzilla Decoder 基于 mitmproxy,是mitmproxy的addon脚本。 目前支持 哥斯拉3.0.3 PhpDynamicPayload的

He Ruiliang 40 Dec 25, 2022
Qobuz-rpc - A simple discord rich presence client for qobuz written in Python

qobuz-rpc A simple discord rich presence client for qobuz written in Python It's

Raphael O. 13 Dec 15, 2022
Docker container for demoing Wi-Fi calling stack.

VoWiFiLocalDemo - Docker container that runs StrongSwan and Kamailio to demonstrate how Wi-Fi calling works on smartphones.

18 Nov 12, 2022
Web service load balancing simulation experiment.

Web service load balancing simulation experiment.

NicestZK 1 Nov 12, 2021
Python module to interface with Tuya WiFi smart devices

TinyTuya Python module to interface with Tuya WiFi smart devices Description This python module controls and monitors Tuya compatible WiFi Smart Devic

Jason Cox 365 Dec 26, 2022
An HTML interface for finetuning the sync map output from aeneas

finetuneas 3.0 finetuneas is a simple HTML interface for fine tuning sync maps output by aeneas Version 3.0 Easier adjusting time: following cells wil

Firat Özdemir 50 Mar 12, 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