Giter Site home page Giter Site logo

oneshot-webui's Introduction

Web Graphical Interface for OneShot

WebUI is a wrapper for OneShot that provides a convenient way to control it on a smartphone.

The HTML page is designed to be as minimal as possible, with no JS and only pure CSS, while mimicking Material Design.

Usage

Options are same as for OneShot, with one extra option:
-t/--termux-intent in Termux, sends an intent to open the webpage in a browser

When running, navigate to localhost, port 8080.

All OneShot print()s are also sent to stdout, so they can be logged to a file.

Status flags

  • ๐Ÿ”’ AP is locked
  • โœ“ network is already in stored.csv
  • โ˜  router model is in the list of vulnerable models
  • color of the status cell visually represents signal strength

Customizations

At the beginning of this script is a section with variables to be changed according to users needs. Featuring:

  • light theme / dark theme
  • network attributes displayed in scan

TODOs

  • improve OneShot state handling
  • autoscroll down in /go
  • documentation and comments in code
  • responding to prompts - "Use previous calculated PIN" etc...
  • CSS cleanup
  • use library for generating HTML
  • checkboxes for filtering
    • locked networks, stored networks
    • too verbose output

Graphical TODOs

  • better FAB design (icon is not centered)
  • rework status column design for more clarity
  • "ergonomic" UI version (like curved Android software keyboards)
  • top bar with buttons and more thoughtful design

Implementation

The web page is served by Cherrypy. OneShot functionality is accessed through wrapper class. This class provides two main features - network scanning and running OneShot attack. For scanning, this script uses functions from OneShot as a library (the code is imported to the main file), whereas for the attack, OneShot script is run in a subprocess.

All arguments except -t/--termux-intent are not checked and are evaluated in OneShot subprocess.

Endpoints

  • /index, /scan provide scan results
  • /go has parameter target, specifying MAC address of target
  • /signal used to send a signal to the script by parameter signal. Currently, CTRL-C and exit is supported
  • /help only prints this file, with no formatting

Acknowledgements

Author: eda-abec
Date: 02/2021
Thanks for amazing work on CLI version to:

oneshot-webui's People

Contributors

eda-abec avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Forkers

bollustrado

oneshot-webui's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.