Git Product home page Git Product logo

gwcgi's Introduction

Greaseweazle CGI Interface

Web interface to Greaseweazle host tools.

The only sensible use case I can think of is something like mine, in which my Greaseweazle and thus drives are connected to a PC other than the one at my desk. (To be fair, this was $80 cheaper than a dual 5¼″ drive bay enclosure.)

Screenshot of gwcgi at work

Installation

Dependencies:

If Greaseweazle isn’t installed to your PATH, edit gw-wrapper.sh to reflect its location.

Directions

  1. Clone this repository into somewhere served by your webserver, e.g. /var/www/gwcgi, and cd to that directory. (From here on, this directory will just be called /path/to/gwcgi for sanity.)
  2. Configure your webserver to allow CGI scripts to be executed in /path/to/gwcgi.
  3. Create a directory called images, i.e. /path/to/gwcgi/images. Make it writable by the user which will be running index.cgi (probably www or apache or something).
  4. Copy config.ini.sample to config.ini, and edit the values for the websocket address and Greaseweazle device accordingly.

Notes

  • There are a few duplicate templates—e.g. 5¼″ quad-density and high-density formats both having 80 tracks at 96 TPI, thus using the same parameters when invoking Greaseweazle—, but these are to simplify the dropdown menu and to avoid having up to three density and/or BPI specifications on one entry.

Known issues

  • Text input is not validated and as such gw-wrapper.sh might be vulnerable to something like this:
    args=--help; cat /etc/passwd
    ./gw $args
    #./gw --help; cat /etc/passwd
    (i.e. arbitrary strings can be passed through the websocket). However, given gwcgi is only intended to be accessed via LAN, this doesn’t seem to be a pressing issue, especially given a user can simply firewall the computer on which gwcgi is run. Input validation, however, is on the to-do list below.

To-do

  • Make the code suck less
  • More configurability
  • Include BPI info
  • Validation of input

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.