Giter Site home page Giter Site logo

bugy / script-server Goto Github PK

View Code? Open in Web Editor NEW
1.6K 44.0 248.0 7.71 MB

Web UI for your scripts with execution management

License: Other

Python 60.30% CSS 0.85% HTML 0.15% JavaScript 26.06% Vue 12.25% Dockerfile 0.01% Shell 0.19% SCSS 0.17%
python scripting web-server ssh bash material-design vuejs web-gui websockets

script-server's People

Contributors

andrewheberle avatar annashepa avatar anthony-francisco avatar bruno-amelco avatar bugy avatar chihhao-su avatar clarkeac avatar conway avatar dependabot[bot] avatar dnrce avatar drehelis avatar eduardschwarzkopf avatar gpsinghsandhu avatar guria avatar jthacker avatar jtprof avatar miksir avatar oktorok avatar pierok13 avatar playpauseandstop avatar rollinghog avatar sfordinc avatar urekd avatar vnghia avatar wowselim avatar yog27ray avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

script-server's Issues

Show that script has finished faster

There should be less than 0.1s delay after the script has finished and UI updates correspondingly (currently it means that ExecuteButton should be unlocked, and StopButton should be locked)

[feature] Remove spaces from script names in URL

Currently script names used as a hashes in the URL. However linking such pages to other people looks bad: either the link will be cut at the first space or spaces will be urlencoded (decreasing readability). So all spaces should be replaced with some other symbol (e.g. underscore).

Backward compatibility should be supported, i.e. old links should still work after this feature.

Back button is not working

When you press back button in browser, the URL changes, but the page is not updated

(at least in Chrome)

[feature] Add possiblity to run via SSL

Currently script server is working via plain HTTP only. There should be possilibility to turn on HTTPS.

Proposal:

  1. Add conf folder
  2. Read web.json configuration from conf folder
  3. If ssl parameter exists there, read key and cert paths from it
  4. Start http server with ssl config, on the port 5443
  5. Add port parameter to web.conf file, which will allow to override default port
  6. Move current script configurations locations to conf/runners

Additionally: test on windows

[feature] Change IP to hostname in process logs

Currently, for each script run, log file is created, and it contains caller IP in the name.
However hostname can provide more information at a glance, so if hostname can be acquired, it should be used for filename.
Also, main log file should log both caller IP and hostname.

[bug] sometimes script opening fails

How to reproduce:
open a config with a lot of parameters and update the page untill error occurs

Web console exception:
Uncaught TypeError: this.validate is not a function

[feature] improve process log with better information

PID in filename makes not much sense, since it won't help to find the proper file at all. However the running host for example or time will help.

It should be understood how this log file can be improve and implemented

Add support for scripts output colors (for Linux)

Scripts can produce output with colouring mode (e.g. grep --color ..). Script server should show such output as colored as well.
Currently such output is shown like:
�[01;31m�[KI'm called�[m�[K
So we need to decode the color and create corresponding coloring at the web GUI for such blocks.
Both font and background can be colored.

For testing purposes we can extend Write to file script, with showing all occurences (including old ones) of the added text with different color. Like changing the last line of the script to:
cat ~/simple.txt | grep --color=always -E "$text|$"
And possible show some other information with different background.

Logging of execution log

Currently execution log is sent only to web page and not logged anywhere.
It should be logged somewhere, so it will be possible to analyze what was happening.

[feature] Add LDAP authorization support

LDAP authorization should be configurable using web.json file.
For this new config section should be added, which should look like:
{
...
"authorization": {
"type": "LDAP",
"config": {
//some LDAP based config parameters
}
}
}

[feature] allow omitting of parameter's "param"

If you have a script, which is reading input values by order (e.g. in bash: var1=$1), rather than by parameters (e.g. "script.sh -p val"), it's useful just to omit "param" in the parameter configuration.

[feature] Make terminal mode default

Since it's hard to predict, whether used commands in the script behave differently, being invoked in terminal, it should be better to launch all the scripts in terminal mode by default.

See some more info in my comment in #2 (comment)

Fix Windows incompatibility issues

Currently script server is not running on windows because of different issues (paths, modules, working with processes, etc.). This should be fixed

[bug] Launching scripts sometimes causes exception and hanging request on GUI

Error log:

2016-08-11 17:25:00,831 [scriptServer.INFO] Calling script: ...
2016-08-11 17:25:00,851 [tornado.access.INFO] 200 POST /scripts/execute (...) 120.47ms
Exception in thread Thread-58:
Traceback (most recent call last):
File "/usr/lib/python3.5/threading.py", line 914, in _bootstrap_inner
self.run()
File "/usr/lib/python3.5/threading.py", line 862, in run
self._target(_self._args, *_self._kwargs)
File "/home/shepilov/DEV/github/script-server/execution.py", line 176, in pipe_process_output
if data and (self.encoding.lower() == "utf-8"):
AttributeError: 'NoneType' object has no attribute 'lower'

Remove fcntl dependency on windows

In #28 was fixed blocking os.read, but the fix depends on the fcntl module, which is available only for linux.
This module shouldn't be used for windows

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.