PyBERT is a serial communication link bit error rate tester simulator with a graphical user interface (GUI).

Overview

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 the Enthought Python Distribution (EPD) http://www.enthought.com/products/epd.php, as well as the NumPy and SciPy packages.

Notice: Before using this package for any purpose, you MUST read and understand the terms put forward in the accompanying "LICENSE" file.

Installation

Testing

Tox is used for the test runner and documentation builder. By default, it runs the following environments: py36, py37, pylint, flake8 and docs. It will skip any missing python versions.

  • pip install tox
  • tox

To run a single environment such as "docs" run: tox -e docs

Documentation

PyBERT documentation exists in 2 separate forms:

Acknowledgements

I would like to thank the following individuals, for their contributions to PyBERT:

  • Mark Marlett
  • Low Kian Seong
  • Amanda Bukur
  • David Patterson
Comments
  • refactor: move to a src python package

    refactor: move to a src python package

    This is the first of the three like in PyAMI. This PR moves all source files from pybert to src/pybert. Some of the repeated pybert_pybert have been removed and reorganized. Really want you thoughts on names, tried to organize best as I understand it and how I think it could grow.

    The Python Packaging Authority has started pushing that packages adopt a src folder structure. This does not change any of the current functionality or usage as a GUI application. It would affect anyone who has integrated it into a larger application.

    • Moves the files under the src/ folder and fixes their imports.
    • Changes some of the filenames to not have the pybert_*.
    • Since enable fixed their build, we can actually install via pip. Update setup.py to allow that. This will be replaced in the next PR by a pyproject.toml file.
    • Corrects pyibisami imports from capn-freako/PyAMI#17

    Updated:

    ./src
    └── pybert
        ├── __init__.py
        ├── __main__.py
        ├── configuration.py  (was `pybert_cfg.py`)
        ├── images
        │   └── icon.png  (moved out some images that were not part of the application)
        ├── parsers
        │   ├── __init__.py
        │   └── hspice.py  (I don't see this being used anywhere but gives us room to expand support)
        ├── pybert.py
        ├── results.py (was `pybert_data.py`)
        ├── sim
        │   ├── __init__.py
        │   ├── cdr.py
        │   ├── dfe.py
        │   └── simulation.py (was `pybert_cntrl.py`.  Somewhat redundant with the import of sim.simulation.)  The idea being that a "sim" could be run without the gui or like how the CLI could enable.
        ├── solvers
        │   ├── __init__.py
        │   ├── simbeor
        │   │   └── __init__.py
        │   └── solver.py
        ├── utility.py (was `pybert_util.py`)
        └── visual
            ├── __init__.py
            ├── help.py  (was `pybert_help.py`)
            ├── plot.py   (was `pybert_plot.py`)
            └── view.py (was `pybert_view.py`)
    
    opened by jdpatt 14
  • refactor: pylint mypy low hanging

    refactor: pylint mypy low hanging

    Last one of the three like in pyibisami. Anything beyond this should be altering features/adding features and will denote them as such.

    • Just gets the low hanging from from running tox -e format and tox -e lint which clear up a large majority of pylint's complaints or increases the score of 7.4 to 8.76 out of 10.0.
    • Updates mypy to work with the src/ structure which is run with tox -e type-check cleaned up an error or two and told it to skip simbeor.
    opened by jdpatt 11
  • PyBERT 3.5.1 simulations not finishing

    PyBERT 3.5.1 simulations not finishing

    Simulations with PyBERT 3.5.1 using Anaconda3 2021.11 that has Python 3.8.12 (does PyBERT force this version rather than using 3.9?) fail using a channel file and using native channel definition.

    With 4-port S-parameter file (Touchstone 1.0 and 2.0 formats), error is: ts2N = import_freq(filename) TypeError: import_freq() missing 1 required positional argument: 'freqs'

    With native channel definition, error occurs during plotting: start_ix = where(clock_times > start_t)[0][0] TypeError: '>' not supported between instances of 'list' and 'int'

    bug 
    opened by dghan0219 10
  • Can't install pybert package.

    Can't install pybert package.

    I've created pybert64 env and did this: conda install -c dbanas pybert

    Anaconda gave the following errors...

    Collecting package metadata (current_repodata.json): done Solving environment: failed with current_repodata.json, will retry with next rep odata source. Initial quick solve with frozen env failed. Unfreezing env and trying again. Solving environment: failed with current_repodata.json, will retry with next rep odata source. Collecting package metadata (repodata.json): done Solving environment: failed

    PackagesNotFoundError: The following packages are not available from current cha nnels:

    How can I install it manually ? Seems anaconda can't find pybert package in it's cloud.

    opened by haykding 9
  • trouble with installation

    trouble with installation

    Hi

    I am trying to follow your guide in Win10, but I am getting the following errors:

    (C:\Program Files\Anaconda2) C:\WINDOWS\system32>python -m pybert Traceback (most recent call last): File "C:\Program Files\Anaconda2\lib\runpy.py", line 174, in _run_module_as_main "main", fname, loader, pkg_name) File "C:\Program Files\Anaconda2\lib\runpy.py", line 72, in run_code exec code in run_globals File "C:\Program Files\Anaconda2\lib\site-packages\pybert_main.py", line 1, in from pybert import * File "C:\Program Files\Anaconda2\lib\site-packages\pybert\pybert.py", line 72, in from pybert_view import traits_view File "C:\Program Files\Anaconda2\lib\site-packages\pybert\pybert_view.py", line 19, in from pybert_cntrl import my_run_sweeps File "C:\Program Files\Anaconda2\lib\site-packages\pybert\pybert_cntrl.py", line 25, in from pybert_util import find_crossings, make_ctle, calc_jitter, moving_average, calc_eye, import_qucs_csv File "C:\Program Files\Anaconda2\lib\site-packages\pybert\pybert_util.py", line 22, in from pylab import plot, show, legend File "C:\Program Files\Anaconda2\lib\site-packages\pylab.py", line 1, in from matplotlib.pylab import * File "C:\Program Files\Anaconda2\lib\site-packages\matplotlib\pylab.py", line 274, in from matplotlib.pyplot import * File "C:\Program Files\Anaconda2\lib\site-packages\matplotlib\pyplot.py", line 114, in _backend_mod, new_figure_manager, draw_if_interactive, show = pylab_setup() File "C:\Program Files\Anaconda2\lib\site-packages\matplotlib\backends_init.py", line 32, in pylab_setup globals(),locals(),[backend_name],0) File "C:\Program Files\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5agg.py", line 16, in from .backend_qt5 import QtCore File "C:\Program Files\Anaconda2\lib\site-packages\matplotlib\backends\backend_qt5.py", line 31, in from .qt_compat import QtCore, QtGui, QtWidgets, _getSaveFileName, version File "C:\Program Files\Anaconda2\lib\site-packages\matplotlib\backends\qt_compat.py", line 175, in "Matplotlib qt-based backends require an external PyQt4, PyQt5,\n" ImportError: Matplotlib qt-based backends require an external PyQt4, PyQt5,

    I am no sure what to do. You help is greatly appreciated. Thank you

    Catalin

    opened by jmecherul 7
  • Use ASCII format for configuration file

    Use ASCII format for configuration file

    PyBERT used to use an ASCII format for the configuration file. This allowed me to create files with a program and then start PyBERT and I'd pick the configuration file I wanted to use for that simulation. Now that PyBERT 3.4.2 uses a binary format, I can't do that. Consider loading and saving the old or new formats or switching back to the ASCII format.

    bug 
    opened by dghan0219 5
  • Errors and Warnings when run Python -m install

    Errors and Warnings when run Python -m install

    I followed the instruction below using Anaconda2(64bit) conda install enable conda install traitsui conda install chaco conda install kiwisolver conda install scipy conda install Sphinx conda install matplotlib pip install PyBERT python -m pybert

    Looks the installs are almost good except the last one when run "python -m pybert" There are still several errors or warnings. Not sure if they are critical

    C**:\python\Anaconda2\lib\site-packages\pybert-2.0.2-py2.7.egg\pybert\pybert.py:1139: VisibleDeprecationWarning: using a non-integer number instead of an integer will result in an error in the future C:\python\Anaconda2\lib\site-packages\chaco\array_data_source.py:123: FutureWarning: comparison to None will result in an elementwise object comparison in the future. self._data = newdata C:\python\Anaconda2\lib\site-packages\traits\trait_handlers.py:1599: FutureWarning: comparison to None will result in an elementwise object comparison in the future. if value in self.values: C:\python\Anaconda2\lib\site-packages\chaco\image_data.py:190: FutureWarning: comparison to None will result in an elementwise object comparison in the future. self._data = newdata Traceback (most recent call last): File "C:\python\Anaconda2\lib\runpy.py", line 162, in _run_module_as_main "main", fname, loader, pkg_name) File "C:\python\Anaconda2\lib\runpy.py", line 72, in run_code exec code in run_globals File "build\bdist.win-amd64\egg\pybert_main.py", line 3, in File "C:\python\Anaconda2\lib\site-packages\traits\has_traits.py", line 2156, in configure_traits kind, handler, id, scrollable, args ) File "C:\python\Anaconda2\lib\site-packages\traitsui\toolkit.py", line 245, in view_application raise NotImplementedError NotImplementedError**

    opened by nyctalope 5
  • Configuration file not being read correctly

    Configuration file not being read correctly

    I have attached a configuration file I had PyBERT 3.5.5 load and then I saved it with a new name, also attached. PyBERT is not reading some fields and is using defaults instead. PyBERT.zip

    bug fixed 
    opened by dghan0219 4
  • Command-line Options

    Command-line Options

    Add command-line options for PyBERT when it loads to do one, multiple, or all of the following...

    1. Load configuration
    2. Save configuration
    3. Load results
    4. Save results
    5. Run
    6. Exit with options to save results and/or configuration or no option at all
    7. Repeat with another set of options

    A possible scenario is load config, run, save results, exit. Another scenario might be to load config, load results, run, and then pass to manual control.

    enhancement help wanted 
    opened by dghan0219 4
  • WIP: Tx/Rx split resolving.

    WIP: Tx/Rx split resolving.

    Hi David,

    Below are my thoughts on a possible way forward, which I'm currently coding up for demo purposes. Please, let me know what you think.

    Thanks! -db

    Thoughts on how to proceed w/ development on tx-rx-split branch

    Regarding the new v3.2.0 version of PyBERT (first one w/ new sub-tabbed layout), both David Patterson and I dislike the way the Tx/Rx configuration is currently split between the Config. and Channel tabs. The following are my thoughts on how to proceed. We've created a branch: tx-rx-split, specifically for this work.

    The obvious first impulse is to unify all Tx/Rx configuration, rather than have it split between two tabs. However, I don't think it's quite that simple. The problem is the Tx/Rx both have equalization-related and channel-related attributes. For instance, the Tx output drive stage properties are intimately associated with the channel impulse response, while the Rx CTLE is closely associated w/ the CDR/DFE. And the more I think about this, the more I believe that it makes sense to have the channel-related Tx/Rx attributes configured separately from the equalization-related attributes. However, I think we may currently have the positions of those two sets flipped from what really makes sense. I think I'd like to try the following and run it by David, to see what he thinks:

    • Rename the Channel tab to Equalization.
    • Swap the current positions of the Tx/Rx configuration items, placing the channel-related stuff on the Config. tab, and the equalization-related stuff on the (newly renamed) Equalization tab.
    • Add the capability (on the Config. tab) to select an IBIS, or IBIS-AMI, model for either the Tx, or Rx, or both.
    • If an IBIS model was selected, then use it to determine the impedance, etc. of the respective analog component, and don't make any changes to the Equalization tab.
    • If an IBIS-AMI model was selected, then do as above, but also configure the Equalization tab to use the DLL/AMI files for equalization mdoeling of the Tx/Rx, as appropriate.

    Also, I think David is correct: having a complete link picture somewhere in the GUI, which reflects the current configuration, would be very helpful.

    opened by capn-freako 4
  • New layout

    New layout

    Hi David,

    I'm creating this pull request, before merging, to give you a chance to review my changes. Note that (I think) there're no technical changes here; only aesthetic ones. I've given the GUI a complete make-over, taking advantage of the availability of "sub-tabbed" frames, in the Enthought Traits/UI framework. (I've been waiting for this capability for a while now.)

    Cheers, -db

    opened by capn-freako 4
  • Profile and Tune Channel Modeling.

    Profile and Tune Channel Modeling.

    Ever since shifting to an exclusively SciKit-RF based approach to channel modeling in PyBERT, we've experienced a dramatic slow-down in that portion of the simulation engine. And the performance of the recently Beta-released v4.0.0 exemplifies this.

    There's just too much utility in this approach to channel modeling to abandon it and return to our old ways. It provides a robust, believable, and commonly understood "platform" for building all sorts of composite channel models compatible w/ PyBERT simulation.

    So, it's time to profile the code and see how we can improve performance.

    Describe the desired new or improved feature. Channel modeling performance that is, at least, as fast as DFE modeling.

    Expected behavior Channel modeling performance is no worse than DFE modeling performance.

    Screenshots (n/a)

    Desktop (please complete the following information): (all)

    Additional context (n/a)

    opened by capn-freako 4
  • Add Simulation Abort Capability.

    Add Simulation Abort Capability.

    Describe the desired new or improved feature. While we're currently able to abort an optimization, we aren't able to abort a simulation. We should have this capability, to handle, for instance:

    • when the user launches a simulation having mistyped the number of bits she wants to run.

    Expected behavior An item in the Simulation menu, which aborts the currently running simulation when selected. Also, a keyboard shortcut for this menu item.

    Screenshots (n/a)

    Desktop (please complete the following information):

    • OS: (all)
    • Python Version (all)
    • PyBERT Version (next release)

    Additional context (n/a)

    enhancement 
    opened by capn-freako 0
  • Attempt Pip Installation

    Attempt Pip Installation

    With the recent modernization of the Pip package installation infrastructure, it may be time to again attempt to get PyBERT into a "Pip installable" state.

    Admittedly, our past attempts at this have been pretty miserable failures. The general sense I have about this is that only real Python wizards succeed and not in a way that can be easily exported to the general PyBERT user base, who must continue to use Anaconda to get a reliable installation of PyBERT up and running. However, in briefly reviewing the advancements embodied by PEP 517 and PEP 518, it seems like it might be worth trying again. And it would be well worth the effort if we succeed, because many folks, who want to use PyBERT, can't use Anaconda for various reasons.

    Note: It's important that we do this in a way that leaves us with a "dual-mode" approach. That is, we want to end up in a state where users can install PyBERT (and/or PyAMI), using either conda or pip, with little hassle. (I think 30 minutes is a good "threshold" for the amount of time it should take to get up and running.)

    I invite anyone with experience at setting up Python packages for such "dual-mode" installation capabilities to comment here, regarding their experiences. Also, if you are one of the gifted few, who've been successful at getting PyBERT installed and running properly using pip, as opposed to conda, please post your recipe here for others to try.

    Thank you! -db

    opened by capn-freako 13
  • Reduce size of plot data, to avoid segmentation faults.

    Reduce size of plot data, to avoid segmentation faults.

    Lately and since working w/ much larger bit streams, I've noticed that clicking a tab in the GUI can cause a segmentation fault. I don't know this for certain, but I believe this may be caused by trying to include too much data in plots.

    ==> Try reducing the amount of data in the plots, to see if these seg. faults go away.

    dormant 
    opened by capn-freako 1
  • Add support for IBIS-AMI Supporting_Files keyword.

    Add support for IBIS-AMI Supporting_Files keyword.

    Describe the desired new or improved feature. A clear and concise description of what is being requested.

    Expected behavior A clear and concise description of what you expected to happen.

    Screenshots If applicable, add screenshots to help explain your problem.

    Desktop (please complete the following information):

    • OS: [e.g. Windows, Linux, or MacOS]
    • Python Version [e.g. 3.7.4]
    • PyBERT Version [e.g. 3.3.0]

    Additional context Add any other context about the problem here.

    help wanted 
    opened by capn-freako 0
Releases(3.5.7)
  • 3.5.7(Sep 25, 2022)

    This release brings reserved AMI parameter parsing up to date with version 7.1 of the IBIS specification.

    Note that not all reserved parameters are being faithfully implemented, yet.

    Source code(tar.gz)
    Source code(zip)
  • 3.5.5(Feb 19, 2022)

  • 3.5.4(Jan 10, 2022)

  • 3.5.3(Jan 5, 2022)

  • 3.5.2(Dec 16, 2021)

  • 3.5.1(Dec 13, 2021)

    This release:

    • fixes a breakage that crept into release v3.4.2 for users w/ pyparsing >=3.0,
    • catches up w/ some outstanding "low hanging fruit" issues, and
    • significantly improves the handling of on-die S-parameters.
    Source code(tar.gz)
    Source code(zip)
  • v3.4.2(Oct 24, 2021)

    • Fixes a critical bug in the handling of single-ended 4-port Touchstone channel models.
    • Fixes the tiny plot axis label font size problem on newer Windows machines w/ high DPI displays.
    • Updates PyBERTAsLibrary notebook with jitter breakdown and bathtub curve plotting examples.
    Source code(tar.gz)
    Source code(zip)
  • v3.4.1(Aug 16, 2021)

  • v3.4.0(Aug 9, 2021)

    This release makes the pybert Python package much easier to import into a larger Python script.

    A detailed example, including IBIS-AMI model usage, is provided in the new misc/PyBERTasLibrary.ipynb Jupyter notebook.

    Also, the main window is once again resizable.

    Source code(tar.gz)
    Source code(zip)
  • v3.3.4(Dec 14, 2020)

    Anaconda recently moved to Python 3.8 as their default. This release makes PyBERT compatible with that change to Python 3.8. No serious functional changes.

    Note: You should NOT update to this release, unless you are also planning to update your Anaconda installation to Python 3.8!

    Source code(tar.gz)
    Source code(zip)
  • v3.3.2(Jan 21, 2020)

    This release fixes some IBIS file parsing frailties, to wit:

    • IBIS files w/ no [Date] keyword were causing a parse failure.
    • IBIS models w/ incomplete [Algorithmic Model] sections were causing a parse failure.

    Thanks to Hansel Dsilva of Achronix for pointing these out!

    Source code(tar.gz)
    Source code(zip)
  • v3.3.1(Jan 4, 2020)

    This release just fixes a breakage introduced by v3.3.0, wherein external interconnect model files became unusable. If you only use PyBERT's native interconnect modeling then this doesn't affect you and there's no need to upgrade.

    Thanks to Dennis Han for reporting the breakage so soon after the v3.3.0 release!

    See Issue #76 for complete details.

    Source code(tar.gz)
    Source code(zip)
  • v3.3.0(Dec 28, 2019)

    Release v3.3.0 - IBIS Model Importing

    This release provides users with the more standard: IBIS File => Component => Pin => Model selection flow, by adding the ability to import IBIS model files. (Previously, the user had to import the *.AMI and *.DLL/*.SO files explicitly.)

    In addition, this release:

    • further simplifies the layout of the GUI,

    • changes configuration saving from pickle to yaml file formatting,

    • adds reporting of OS, Python version, and PyBERT version to console at start-up, and

    • fixes the following issues:

      • #71
      • #69
      • #60
    Source code(tar.gz)
    Source code(zip)
  • v2.4.4(Sep 15, 2018)

    This release:

    • Fixes the infamous kiwisolver omission.

    • Adds a user-configurable fstep parameter to the GUI, so that the user may control the frequency step used in generating the channel H(f), when importing channel description Touchstone files.

      This was causing extremely poor performance, when importing a Touchstone file with very low minimum frequency.

    Source code(tar.gz)
    Source code(zip)
  • v2.4.2(Sep 13, 2018)

    This release:

    • Rearranges the GUI so as to fit within standard 768-pixel height screens.

    • Addresses an issue reported by Dennis Han, re: importing Touchstone files with very low fmin is extremely slow.

    Source code(tar.gz)
    Source code(zip)
  • v2.3.1(Dec 14, 2017)

  • v2.3.0(Dec 11, 2017)

    This release fixes the following issues:

    • #32 The "front porch" of the trimmed impulse response is now fixed at 20% of the total response length, after trimming.

    • #33 *.s4p files may now be used directly, as an alternative to PyBERT's built-in channel model.

    • #34 The optimizer may now be aborted by the user. And the results obtained thus far may be used in the next simulation run.

    • #35 The error in the Pulse Response Zero Forcing approximation, for the last simulation run, is now reported in the optimization (i.e. - EQ Tune) tab.

    Source code(tar.gz)
    Source code(zip)
  • v2.2.2(Jul 28, 2017)

  • v2.2.0(May 27, 2017)

    This release improves support for "adapt in Init()" AMI models. Previously, the Rx AMI model Init() function was being sent an ideal impulse, which meant that it couldn't adapt to the channel response. Now, that upstream channel response is being sent in and deconvolution is used to extract the Rx impulse response.

    Also, the ability to save/load reference waveforms, for the impulse, step, pulse, and frequency responses, has been added. This facilitates easy comparison of Init() vs. GetWave() behavior.

    Source code(tar.gz)
    Source code(zip)
  • v2.1.0(May 8, 2017)

    This release fixes the co-optimization functionality. It also adds the ability to save and load simulation configurations, to *.pybert_cfg files. It fixes issues #29 and #18.

    Source code(tar.gz)
    Source code(zip)
  • v2.0.1(Jan 2, 2017)

  • v2.0.0(Dec 29, 2016)

    This release proposes to support IBIS-AMI models. I have done only very minimal testing of this support. I would LOVE some help kicking the tires of this new version against many different IBIS-AMI models, if anyone's got the time. Thanks! :)

    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Dec 17, 2016)

    This release adds DFE behavioral modeling to the link optimization routine. A pulse response zero forcing approximation to DFE behavior is used. This results in significant eye height improvement in designs with DFEs, compared to the old optimizer, which simply ignored the DFE's contribution while optimizing.

    Source code(tar.gz)
    Source code(zip)
  • v1.7.4(Apr 24, 2016)

    This release contains major improvements to the:

    1. Equalization optimization algorithm.
      • Switched to ISI based costing.
      • Simplified version of "Hula Hoop" algorithm used for clock positioning.
      • Improved duo-binary system pulse response tuning.
    2. Jitter calculation algorithm.
      • Made duo-binary case more robust.
    Source code(tar.gz)
    Source code(zip)
  • v1.7.2(Nov 3, 2015)

  • v1.7.1(Nov 3, 2015)

  • v1.6(Apr 15, 2015)

  • v1.5(Apr 4, 2015)

    This release:

    • Adds automatic Tx tap weight optimization.
    • Adds a PRBS bit stream generator, to even out the symbol distribution.
    • Cleans up the imports, which fixed an error under Anaconda on Windows.
    • Adds some further robustness to jitter analysis.
    Source code(tar.gz)
    Source code(zip)
  • v1.4(Mar 9, 2015)

    This release:

    • Adds automatic sweeping of Tx pre-emphasis filter tap weights.
    • Provides a tuning aid for manually optimizing both Tx tap weights and Rx CTLE settings.
    • Adds a Pulse Responses tab.
    • Fixes some minor robustness issues.
    • Cleans up the GUI arrangement.
    Source code(tar.gz)
    Source code(zip)
  • v1.3(Feb 14, 2015)

    This release:

    • Adds the ability to import a channel impulse response from QUCS, by using QUCS' "Export CSV" functionality. (Note: QUCS uses a semicolon, not a comma, to separate fields.)
    • Fixed a bug, regarding vertical scaling of eye diagrams.
    • Added some documentation.
    Source code(tar.gz)
    Source code(zip)
Owner
David Banas
David Banas
JF⚡can - Super fast port scanning & service discovery using Masscan and Nmap. Scan large networks with Masscan and use Nmap's scripting abilities to discover information about services. Generate report.

Description Killing features Perform a large-scale scans using Nmap! Allows you to use Masscan to scan targets and execute Nmap on detected ports with

377 Jan 03, 2023
📨 Share files easily over your local network from the terminal! 📨

Fileshare 📨 Share files easily over your local network from the terminal! 📨 Installation #

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

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.

61 Dec 17, 2022
订阅转换,添加免流host

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

163 Apr 01, 2022
The World Most Fastest Proxy Checker In Python, Maybe?!

The World's Most Fastest Proxy Checker In Python, Maybe?! Features Based on Python 3.7+ Save Valid Porixes into the custom file Multi-Thread Fully Asy

Cyber 4 Feb 10, 2022
No-dependency, single file NNTP server library for developing modern, rfc3977-compliant (bridge) NNTP servers.

nntpserver.py No-dependency, single file NNTP server library for developing modern, rfc3977-compliant (bridge) NNTP servers for python =3.7. Develope

Manos Pitsidianakis 44 Nov 14, 2022
A simple, 2-person chat program that runs on a single computer. No Internet, just you

localChat A simple, 2-person chat program that runs on a single computer. No Internet, just you. Simple and Local This was created with ease of use in

Owls 2 Aug 19, 2022
Simulate Attacks With Mininet And Hping3

Miniattack Simulate Attacks With Mininet And Hping3 It measures network load with bwm-ng when the net is under attack and plots the result. This demo

Geraked 3 Oct 03, 2022
Simplest dashboard for WireGuard VPN written in Python w/ Flask

Hi! I'm planning the next major update for this project, please let me know if you have any suggestions or feature requests ;) You can create an issue

Donald Zou 763 Jan 02, 2023
Una simple herramienta para rastrear IP programada en Python

Spyrod-v2 Una simple herramienta para rastrear IP programada en Python Instalacion apt install git -y cd $HOME git clone https://github.com/Euronymou5

15 Dec 08, 2022
IP Rover - An Excellent OSINT tool to get information of any ip address

IP Rover - An Excellent OSINT tool to get information of any ip address. All details are explained in below screenshot

Saad 20 Dec 16, 2022
Data Exfiltration without ever making a connection. Using TCP header space.

TCPwned PoC toy code to exfiltrate data without ever making a TCP connection. This will never show up in firewall logs, much less, actually be monitor

2 Nov 21, 2022
This script aims to make the dynamic public ip of your local server, public.

EZ DDNS CLOUDFLARE This script aims to make the dynamic ip of your local server, public. It does this by regularly updating cloudflare's dns record. B

3 Feb 13, 2022
Geowifi 📡 💘 🌎 Search WiFi geolocation data by BSSID and SSID on different public databases.

Geowifi 📡 💘 🌎 Search WiFi geolocation data by BSSID and SSID on different public databases.

GOΠZO 441 Dec 23, 2022
Linux SBC featuring two wifi radios, masquerading as a USB charger.

The WiFiWart is an open source WiFi penetration device masquerading as a regular wall charger. It features a 1.2Ghz Cortex A7 MPU with two WiFi chips onboard.

Walker 151 Dec 26, 2022
TunnelProxy 是一个本地隧道代理,可以从fofa爬取免费的socks代理,然后构建代理池,如果一个代理失效,会自动切换

TunnelProxy 是一个本地隧道代理,可以从fofa爬取免费的socks代理,然后构建代理池,如果一个代理失效,会自动切换。 应用场景 渗透测试需要访问某些国内网站(比如edu的),想要隐藏自己,但是国外代理不能访问,也没有稳定的可用代理的时候。 之后,可能我会增加国外代理,实现白嫖科学上网。

urdr-gungnir 45 Nov 17, 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
Wallc - Calculate the layout on the wall to hang up pictures

wallc Calculate the layout on the wall to hang up pictures. Installation pip install git+https://github.com/trbznk/wallc.git Getting Started Currently

Alex Trbznk 68 Sep 09, 2022
Juniper SNMP Migrations For Python

Juniper SNMP Migrations This example will show how to use the PyEZ plugin for Nornir to build a NETCONF connection to a remote device validate that SN

Calvin Remsburg 1 Jan 07, 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