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)
NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

NetworkX is a Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.

NetworkX 12k Jan 02, 2023
A socket script to obtain chinese phones-sequence for any english word

Foreign Pronunciation Generator (English-Chinese) We provide a simple socket script for acquiring Chinese pronunciation of English words (phones in ai

Ephemeroptera 5 Jul 25, 2022
A simple framwork to streamline the Domain Adaptation training process.

FastDA Introduction This is a simple framework for domain adaptation training. You can use it to build your own training process. It heavily relies on

Vincent Zhang 7 Nov 22, 2022
👨🏼‍💻 ‎‎‎‏‏ A customizable man-in-the-middle TCP proxy with out-of-the-box support for HTTP & HTTPS.

👨‍💻 mitm A customizable man-in-the-middle TCP proxy with out-of-the-box support for HTTP & HTTPS. Installing pip install mitm Note that OpenSSL 1.1

Felipe 92 Jan 05, 2023
Automated network configuration backups using Github actions and git-scraping

Network Config Scraper This repository demonstrates the use of Github Actions and git-scraping to build an automated backup solution for network confi

WWT 19 Dec 14, 2022
A Python Packages to make own chat room

Chathon A Python packages for make own chat room Install PyPI pip install chathon

1 Dec 10, 2021
A working cloudflare uam bypass !!

Dark Utilities - Cloudflare Uam Bypass Our Website https://over-spam.space/ ! Additional Informations The proxies type are http,https ... You need fas

Inplex-sys 26 Dec 14, 2022
Pritunl is a distributed enterprise vpn server built using the OpenVPN protocol.

Pritunl is a distributed enterprise vpn server built using the OpenVPN protocol.

Pritunl 3.8k Jan 03, 2023
🔥 Minimal performant package to asynchronously make GET requests.

Minimal performant package to asynchronously make GET requests without any dependencies other than asyncio.

Yannick Perrenet 1 Jun 01, 2022
CORS Bypass Proxy Cloud Function

CORS Bypass Proxy Cloud Function

Elayamani K 1 Oct 23, 2021
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
A p2p chat app for zephyr

A p2p chat app for zephyr

L3gacy B3ta 4 Jun 02, 2021
HTTP proxy pool server primarily meant for evading IP whitelists

proxy-forwarder HTTP proxy pool server primarily meant for evading IP whitelists. Setup Create a file named proxies.txt and fill it with your HTTP pro

h0nda 2 Feb 19, 2022
snappi-trex is a snappi plugin that allows executing scripts written using snappi with Cisco's TRex Traffic Generator

snappi-trex snappi-trex is a snappi plugin that allows executing scripts written using snappi with Cisco's TRex Traffic Generator Design snappi-trex c

Open Traffic Generator 14 Sep 07, 2022
基于多线程快速端口扫描脚本,支持目标批量导入、结果导出。

JWS_portscan 基于多线程快速端口扫描脚本,支持目标批量导入、结果导出。如果扫描公网资产,为了提升扫描的精准性,建议放到服务器运行。 用法 依赖安装:pip3 install -r requriement.txt 支持参数:python3 JWS_portscan.py --help 脚本

jammny 5 Apr 12, 2022
Ultimate transformation library that supports validation, contexts and aiohttp.

Trafaret Ultimate transformation library that supports validation, contexts and aiohttp. Trafaret is rigid and powerful lib to work with foreign data,

Mikhail Krivushin 174 Nov 27, 2022
A simple electrical network analyzer, BASED ON computer-aided design.

Electrical Network Analyzer A simple electrical network analyzer. Given the oriented graph of the electrical network (circut), BASED ON computer-aided

Ahmad Abdulrahman 4 Oct 15, 2022
A TCP Chatroom built with python and TCP/IP sockets, consisting of a server and multiple clients which can connect with the server and chat with each other.

A TCP Chatroom built with python and TCP/IP sockets, consisting of a server and multiple clients which can connect with the server and chat with each other. It also provides an Admin role with featur

3 May 22, 2022
A simple python script that parses the MSFT Teams log file for the users current Teams status and then outputs the status color to a MQTT connected light.

Description A simple python script that parses the MSFT Teams log file for the users current Teams status and then outputs the status color to a MQTT

Lorentz Factr 8 Dec 16, 2022
订阅转换,添加免流host

普通订阅转免流订阅 原理 将原来的订阅解析后添加免流host 使用方法 服务器域名/&&订阅链接&&免流host&&转换后服务器前缀 我这里已经在服务器上搭建好了

163 Apr 01, 2022