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
List of ngrok alternatives and other ngrok-like tunneling software and services. Focus on self-hosting.

List of ngrok alternatives and other ngrok-like tunneling software and services. Focus on self-hosting.

Anders Pitman 7.3k Jan 03, 2023
The sequel to SquidNet. It has many of the previous features that were in the original script, however a lot of the functions that do not serve much functionality have been removed.

SquidNet2 The sequel to SquidNet. It has many of the previous features that were in the original script, however a lot of the functions that do not se

DrSquidX 5 Mar 25, 2022
This script helps us to add IP, host name entry in hosts file and create directory run nmap scan and directory scan with your favourite tools

A python script to automate your set-up for Hack The Box, It sets up Workspace, Opens TMUX session, connects to OpenVPN, Runs Nmap and many more...

Cognizance 7 Mar 25, 2022
An curated collection of awesome resources about networking in cybersecurity

An ongoing curated collection of awesome software, libraries, frameworks, talks & videos, best practices, learning tutorials and important practical resources about networking in cybersecurity

Paul Veillard, P. Eng 7 Nov 30, 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
Slowloris is basically an HTTP Denial of Service attack that affects threaded servers.

slowrise-ddos-tool What is Slowloris? Slowloris is basically an HTTP Denial of S

DEMON cat 4 Jun 19, 2022
Automatic Proxy scraper and Proxy-rotating Nitro Generator.

Automatic Proxy scraper and Proxy-rotating Nitro Generator.

Tawren007 2 Nov 08, 2021
Minimal, self-hosted, 0-config alternative to ngrok. Caddy+OpenSSH+50 lines of Python.

If you have a webserver running on one computer (say your development laptop), and you want to expose it securely (ie HTTPS) via a public URL, SirTunnel allows you to easily do that.

Anders Pitman 423 Jan 02, 2023
Apple Store Stock Notifier monitors the availability of selected Apple devices in selected Apple stores, and sends you a notification when devices are available!

Apple Store Stock Notifier This software will immediately send you a notification via Telegram when one of your coveted Apple Devices is available in

Floris-Jan Willemsen 25 Dec 05, 2022
MoreIP 一款基于Python的面向 MacOS/Linux 用户用于查询IP/域名信息的日常渗透小工具

MoreIP 一款基于Python的面向 MacOS/Linux 用户用于查询IP/域名信息的日常渗透小工具

xq17 9 Sep 21, 2022
A non-custodial oracle and escrow system for the lightning network. Make LN contracts more expressive.

Hodl contracts A non-custodial oracle and escrow system for the lightning network. Make LN contracts more expressive. If you fire it up, be aware: (1)

31 Nov 30, 2022
An ansible playbook to set up wireguard server.

Poor man's VPN (pay for only what you need) An ansible playbook to quickly set up Wireguard server for occasional personal use. It takes around five m

Amrit Bera 613 Dec 25, 2022
Visualize the electric field of a point charge network.

ElectriPy ⚡ Visualize the electric field of a point charges network. 🔌 Installation Install ElectriPy package: $ pip install electripy You are all d

Dylan Tintenfich 29 Aug 29, 2022
Octodns-cloudflare - Cloudflare DNS provider for octoDNS

CloudflareProvider provider for octoDNS An octoDNS provider that targets Cloudfl

octoDNS 6 May 28, 2022
IP Pinger - This tool allows you to enter an IP and check if its currently connected to a host

IP Pinger - This tool allows you to enter an IP and check if its currently connected to a host

invasion 3 Feb 18, 2022
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
This python script can change the mac address after some attack

MAC-changer Hello people, this python script was written for people who want to change the mac address after some attack, I know there are many ways t

5 Oct 10, 2022
wg-exporter is a simple yet effective Prometheus exporter for Wireguard

wg-exporter wg-exporter is a simple yet effective Prometheus exporter for Wireguard. What are the collected metrics ? General: wg_connected_peers: num

men1n2 3 May 20, 2022
Nautobot is a Network Source of Truth and Network Automation Platform.

Nautobot is a Network Source of Truth and Network Automation Platform. Nautobot was initially developed as a fork of NetBox (v2.10.4). Nautobot runs as a web application atop the Django Python framew

Nautobot 549 Dec 31, 2022
tradingview socket api for fetching real time prices.

tradingView-API tradingview socket api for fetching real time prices. How to run git clone https://github.com/mohamadkhalaj/tradingView-API.git cd tra

MohammadKhalaj 35 Dec 31, 2022