A simple tool to test internet stability.

Overview

pingtest

Description

A personal project for testing internet stability, intended for use in Linux and Windows. While testing download/upload speed or one-time ping data is great, this tool can send many pings per second and generates a graph to illustrate the ping times in order to indicate the stability of the connection. Inspired by packetlosstest.com.

This program now includes GUI functionality. See Usage for more details.

Setup

This script is written in Python3.

The requirements can be installed with the following commands in Linux:

sudo apt install python3-tk &&
sudo apt install traceroute &&
pip install matplotlib &&
pip install numpy

Modify as needed depending on your package manager. For Windows, tracert is used instead of traceroute, and it should already be installed. Tkinter also might be installed with Python3, I'm not entirely sure as I've seen it both ways.

On Linux, clone the repository and either run pingtest file with Python3, or use the command chmod a+x pingtest to make the program executable as a script.

On Windows, clone the repository and run pingtest file with Python3.

Usage

NOTE: On Linux, if threading isn't used, requires sudo privileges due to small intervals used in the ping command. If you run the program with neither sudo nor threading, it may prompt you for your password during runtime.

NOTE: On Windows, if threading isn't used, the maximum interval between pings is just one second. This nearly defeats the purpose of the program, so utilizing the -T flag to enable threading is highly recommended, as this allows for more than one ping per second.

After following Setup notes, run with ./pingtest or python3 pingtest on Linux, or python pingtest.py on Windows, followed by any desired flags.

The program now uses command line flags/arguments to set the parameters of the test. Help can be displayed with ./pingtest -h:

usage: pingtest [-h] [-G] [-a 
] [-d ] [-f ] [-t ] [-T] ____ ____ ____ ____ ______ ___ _____ ______ | \ || \ / || | / _]/ ___/| | | o ) | | _ || __|| | / [_( \_ | | | _/| | | | || | ||_| |_|| _]\__ ||_| |_| | | | | | | || |_ | | | | [_ / \ | | | | | | | | | || | | | | |\ | | | |__| |____||__|__||___,_| |__| |_____| \___| |__| Pingtest program by mire https://github.com/itsonlyMiRE/pingtest optional arguments: -h, --help show this help message and exit -G use GUI (all other flags are ignored if this is used) -a
address to ping (or use '-a F' to use first hop router) -d duration of test (DEFAULT: 10) -f frequency in pings per second (DEFAULT: 50, but 1 on Windows unless using threading) -t threshold of acceptable ping time (DEFAULT: 60) -T enable threading approach (highly recommended for Windows users)

Please note that either the -a or -G flag must be used. If the -G flag is used to launch the GUI, all other flags are ignored.

Notes

As written, this program can only be used in Linux. It could be implemented for Windows, but the ping command in Windows does not allow for extremely small interval times between pings, which is useful for getting accurate data.

Now supports Windows! Threading highly recommended.

Next is Mac, coming soon-ish.

Owner
chris
chris
Bayesian A/B testing

bayesian_testing is a small package for a quick evaluation of A/B (or A/B/C/...) tests using Bayesian approach.

Matus Baniar 35 Dec 15, 2022
bulk upload files to libgen.lc (Selenium script)

LibgenBulkUpload bulk upload files to http://libgen.lc/librarian.php (Selenium script) Usage ./upload.py to_upload uploaded rejects So title and autho

8 Jul 07, 2022
Pynguin, The PYthoN General UnIt Test geNerator is a test-generation tool for Python

Pynguin, the PYthoN General UnIt test geNerator, is a tool that allows developers to generate unit tests automatically.

Chair of Software Engineering II, Uni Passau 997 Jan 06, 2023
Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ...

Python 3 wrapper of Microsoft UIAutomation. Support UIAutomation for MFC, WindowsForm, WPF, Modern UI(Metro UI), Qt, IE, Firefox, Chrome ...

yin kaisheng 1.6k Dec 29, 2022
Plugin for generating HTML reports for pytest results

pytest-html pytest-html is a plugin for pytest that generates a HTML report for test results. Resources Documentation Release Notes Issue Tracker Code

pytest-dev 548 Dec 28, 2022
The (Python-based) mining software required for the Game Boy mining project.

ntgbtminer - Game Boy edition This is a version of ntgbtminer that works with the Game Boy bitcoin miner. ntgbtminer ntgbtminer is a no thrills getblo

Ghidra Ninja 31 Nov 04, 2022
MongoDB panel for the Flask Debug Toolbar

Flask Debug Toolbar MongoDB Panel Info: An extension panel for Rob Hudson's Django Debug Toolbar that adds MongoDB debugging information Author: Harry

Cenk Altı 4 Dec 11, 2019
Selects tests affected by changed files. Continous test runner when used with pytest-watch.

This is a pytest plug-in which automatically selects and re-executes only tests affected by recent changes. How is this possible in dynamic language l

Tibor Arpas 614 Dec 30, 2022
Code for "SUGAR: Subgraph Neural Network with Reinforcement Pooling and Self-Supervised Mutual Information Mechanism"

SUGAR Code for "SUGAR: Subgraph Neural Network with Reinforcement Pooling and Self-Supervised Mutual Information Mechanism" Overview train.py: the cor

41 Nov 08, 2022
Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)

Custom Selenium Chromedriver | Zero-Config | Passes ALL bot mitigation systems (like Distil / Imperva/ Datadadome / CloudFlare IUAM)

Leon 3.5k Dec 30, 2022
PyAutoEasy is a extension / wrapper around the famous PyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive tasks.

PyAutoEasy PyAutoEasy is a extension / wrapper around the famous PyAutoGUI, a cross-platform GUI automation tool to replace your boooring repetitive t

Dingu Sagar 7 Oct 27, 2022
Whatsapp messages bulk sender using Python Selenium.

Whatsapp Sender Whatsapp Sender automates sending of messages via Whatsapp Web. The tool allows you to send whatsapp messages in bulk. This program re

Yap Yee Qiang 3 Jan 23, 2022
show python coverage information directly in emacs

show python coverage information directly in emacs

wouter bolsterlee 30 Oct 26, 2022
Youtube Tool using selenium Python

YT-AutoLikeComment-AutoReportComment-AutoComment Youtube Tool using selenium Python Auto Comment Auto Like Comment Auto Report Comment Usage: 1. Insta

Rahul Joshua Damanik 1 Dec 13, 2021
Ward is a modern test framework for Python with a focus on productivity and readability.

Ward is a modern test framework for Python with a focus on productivity and readability.

Darren Burns 1k Dec 31, 2022
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. An example o

pytest-dev 9.6k Jan 02, 2023
Baseball Discord bot that can post up-to-date scores, lineups, and home runs.

Sunny Day Discord Bot Baseball Discord bot that can post up-to-date scores, lineups, and home runs. Uses webscraping techniques to scrape baseball dat

Benjamin Hammack 1 Jun 20, 2022
tidevice can be used to communicate with iPhone device

tidevice can be used to communicate with iPhone device

Alibaba 1.8k Jan 08, 2023
Python version of the Playwright testing and automation library.

🎭 Playwright for Python Docs | API Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright del

Microsoft 7.8k Jan 02, 2023
A web scraping using Selenium Webdriver

Savee - Images Downloader Project using Selenium Webdriver to download images from someone's profile on https:www.savee.it website. Usage The project

Caio Eduardo Lobo 1 Dec 17, 2021