Web UI for your scripts with execution management

Overview

Build Status Gitter

script-server

Script-server is a Web UI for scripts.

As an administrator, you add your existing scripts into Script server and other users would be able to execute them via a web interface. The UI is very straightforward and can be used by non-tech people.

No script modifications are needed - you configure each script in Script server and it creates the corresponding UI with parameters and takes care of validation, execution, etc.

DEMO server

Admin interface screenshots

Features

  • Different types of script parameters (text, flag, dropdown, file upload, etc.)
  • Real-time script output
  • Users can send input during script execution
  • Auth (optional): LDAP, Google OAuth, htpasswd file
  • Access control
  • Alerts
  • Logging and auditing
  • Formatted output support (colors, styles, cursor positioning, clearing)
  • Download of script output files
  • Execution history
  • Admin page for script configuration

For more details check how to configure a script or how to configure the server

Requirements

Server-side

Python 3.5 or higher with the following modules:

  • Tornado 4 / 5 / 6

Some features can require additional modules. Such requirements are specified in a corresponding feature description.

OS support:

  • Linux (main). Tested and working on Debian 9,10
  • Windows (additional). Light testing
  • macOS (additional). Light testing

Client-side

Any more or less up to date browser with enabled JS

Internet connection is not needed. All the files are loaded from the server.

Installation

For production

  1. Download script-server.zip file from Latest release or Dev release
  2. Create script-server folder anywhere on your PC and extract zip content to this folder

(For detailed steps on linux with virtualenv, please see Installation guide)

As a docker container

Please find pre-built images here: https://hub.docker.com/r/bugy/script-server/tags
For the usage please check this ticket

For development

  1. Clone/download the repository
  2. Run 'tools/init.py --no-npm' script

init.py script should be run after pulling any new changes

If you are making changes to web files, use npm run build or npm run serve

Setup and run

  1. Create configurations for your scripts in conf/runners/ folder (see script config page for details)
  2. Launch launcher.py from script-server folder
  • Windows command: launcher.py
  • Linux command: ./launcher.py
  1. Add/edit scripts on the admin page

By default, the server will run on http://localhost:5000

Server config

All the features listed above and some other minor features can be configured in conf/conf.json file. It is allowed not to create this file. In this case, default values will be used. See server config page for details

Admin panel

Admin panel is accessible on admin.html page (e.g. http://localhost:5000/admin.html)

Logging

All web/operating logs are written to the logs/server.log Additionally each script logs are written to separate file in logs/processes. File name format is {script_name}_{client_address}_{date}_{time}.log.

Testing/demo

Script-server has bundled configs/scripts for testing/demo purposes, which are located in samples folder. You can link/copy these config files (samples/configs/*.json) to server config folder (conf/runners).

Security

I do my best to make script-server secure and invulnerable to attacks, injections or user data security. However to be on the safe side, it's better to run Script server only on a trusted network.
Any security leaks report or recommendations are greatly appreciated!

Shell commands injection

Script server guarantees that all user parameters are passed to an executable script as arguments and won't be executed under any conditions. There is no way to inject fraud command from a client-side. However user parameters are not escaped, so scripts should take care of not executing them also (general recommendation for bash is at least to wrap all arguments in double-quotes). It's recommended to use typed parameters when appropriate, because they are validated for proper values and so they are harder to be subject of commands injection. Such attempts would be easier to detect also.

Important! Command injection protection is fully supported for Linux, but only for .bat and .exe files on Windows

XSS and CSRF

At the moment script server is vulnerable to these attacks.

Contribution

If you like the project and think you could help with making it better, there are many ways you can do it:

  • Create a new issue for new feature proposal or a bug
  • Implement existing issues (there are quite some of them: frontend/backend, simple/complex, choose whatever you like)
  • Help with improving the documentation
  • Set up a demo server
  • Spread a word about the project to your colleagues, friends, blogs or any other channels
  • Any other things you could imagine

Any contribution would be of great help and I will highly appreciate it! If you have any questions, please create a new issue, or contact me via [email protected]

Asking questions

If you have any questions, feel free to:

Special thanks

JetBrains logo

Comments
  • Can't use rich to print output in python script

    Can't use rich to print output in python script

    I have problem printing script output when using rich https://github.com/willmcgugan/rich for some reason, i can't print script output when script is called from script-server in terminal everything is fine

    there is no visible output in script server

    if i use python3 print function i am getting this output <rich.table.Table object at 0x7f3b2b488400>

    This is log file (logs/processes) [email protected]:/home/srdjan/script-server/logs/processes# cat GPON__ONT_RFO_LOSS_Report_192.168.128.132_200724_143245.log id:2460 user_name:192.168.128.132 user_id:192.168.128.141-04f1204895df4625 script:GPON _ONT RFO LOSS Report start_time:1595601165629 command:/home/srdjan/script-server/conf/runners/rich_ma4k_ltp_high_loss_detailed.py 24 exit_code:0

    OUTPUT STARTED <<<<<

    question resolved 
    opened by srqjan 44
  • Scheduler

    Scheduler

    From what I can tell, this is near the perfect solution for script interfacing for nontechnical users.

    The ability to schedule scripts is the only feature I feel is missing. Ideally, being able to assign specific dates, times, and/or cadences would round out this as a solution.

    Sorry if this is already feature, but no mention of it in the wiki/docs.

    feature resolved 
    opened by NickBrecht 27
  • Help with running in docker

    Help with running in docker

    Hello, so I set this up in docker today but its not working. So if I go to scripts.mydomain.com I can see the webui, but no scripts. If I go to scripts.mydomain.com/admin.html it says 403 no authorization.

    Docker Config - https://hastebin.com/focevemota.bash - ignore first five Traefik Config - https://hastebin.com/epoyugekoc.bash Contents of Local Folder - https://hastebin.com/hakiwomafo.rb Script-Server Config - https://hastebin.com/koxigezihu.pl Runner Config - https://hastebin.com/fobiliweyi.json Script Contents - https://hastebin.com/afamitexej.coffeescript Script-Server Logs - https://hastebin.com/pezakeyaqi.cs

    question 
    opened by ghost 25
  • may be we could pass parameter to script by name

    may be we could pass parameter to script by name

    because when there are too many it becomes pretty complicated to remember numbers

    may be there is such an option?

    (i can live without it... just a thought) thanks

    feature resolved 
    opened by yosefy 24
  • Using auth-proxy username not detected

    Using auth-proxy username not detected

    I have auth-proxy configuration, everything works fine but in the logs the variable USERNAME is None instead of the value in my user_header_name

    conf.json

    {
        "port": 5000,
        "address": "0.0.0.0",
        "title": "My Script Server",
        "max_request_size": 100,
        "access": {
    	"allowed_users": "*",
    	"admin_users": [ "USERA", "USERB", "USERC" ],
    	"user_header_name": "X-Forwarded-User",
    	"trusted_ips": "*"
        },
        "logging": {
    	"execution_file": "${USERNAME}.log",
    	"execution_date_format": "%y-%m-%d-%H:%M"
        }
    }
    
    bug resolved 
    opened by oktorok 22
  • Add possibility to dynamically include script parameter section

    Add possibility to dynamically include script parameter section

    There should be a possibility to add an "include" section to a script configuration, which would add/fill parameters configuration from another file. This "include" section can depend on current parameter values, so it will be loaded dynamically while user selects values on UI

    There are 2 use cases behind:

    1. Sharing parameters in different configurations
    2. Depending on some parameter, we could include different corresponding additional parameters

    For more details and reasoning please read comments in #119

    feature resolved 
    opened by bugy 22
  • Add dockerfile #171

    Add dockerfile #171

    Dockerfile for docker image build. Tested and working as expected. Users should mount config files and scripts into docker image. conf.json file ,runners folder , scripts folder.

    Example usage:

    docker run -d -p 5000:5000 \
               -v /host/path/to/conf.json:/app/conf/conf.json \
               -v /host/path/to/runners/:/app/conf/runners \
               -v /host/path/to/scripts/:/app/scripts/ \
               --name script-server \
               scriptserver0/script-server:latest
    

    Example runner:

    $ cat /host/path/to/runners/sample.json
    {
      "name": "sample script",
      "description": "sample script description",
      "script_path": "/app/scripts/sample.sh"
    }
    

    Example script:

    $ cat /host/path/to/scripts/sample.sh
    #!/bin/bash
    echo "Hello sample script"
    

    Notes: Script-server users should know it cannot access host system processes as it's nature of docker container. If script-server must has access to host system processes then docker image is not suited for this kind of task. (But not saying it's impossible)

    opened by shinebayar-g 21
  • Docker image, automatic builds.

    Docker image, automatic builds.

    It would be nice to have docker image ready.

    I'll try to build docker image for the project and make it build automatically for every commit that passes test (do we have one?).

    We've production ready drone setup that we use daily. If you don't mind I'd use that.

    resolved infrastructure 
    opened by shinebayar-g 21
  • Trusted IPs allow to use * or subnet

    Trusted IPs allow to use * or subnet

    In my docker setup, each container get an random IP when it starts. It would require me to do a lot of modifications to be able to give my nginx container a static IP so the trusted ip work.

    I suggest 2 options

    1. Allow to use * as the trusted ip, meaning any IP will be ok
    2. Allow to use a subnet instead of a specific IP like 178.18.0.0/24

    Currently, every time my nginx container get a new IP I have to edit the configuration file to add the new ip...

    feature resolved 
    opened by Nottt 20
  • Multi-user server with nginx authentication

    Multi-user server with nginx authentication

    My goal is to have a multi-user server where users can login with their own username and passwords, and only have access to the scripts I allow them.

    I have setup script-server behind a nginx docker, the only way to reach the script-server is via the nginx proxy, and the only public ports in my server are 80 and 443.

    I created a htpasswd for my user, up to here everything is fine. But there are 2 issues:

    I need to put my internal docker IP in trusted IPs, and it's not really static, while this could be fixed, it would be better if trusted IPs allowed to set a range... like 172.18.0.0/24

    Biggest issue is all I see as identified as user is this:

    2019-08-29 09:06:37,481 [identification.INFO] Assigned user_id=IP-46a12c6f2ff7496e to {'proxied_ip': 'IP', 'proxied_hostname': 'c95000b4.redacted.com.br', 'ip': '172.18.0.2', 'hostname': 'nginx-proxy.cloudbox'}
    

    Obviously none of my users will have static IPs so this won't work! Am I missing something here?

    question resolved 
    opened by Nottt 20
  • Bash formatting not working properly (sometimes)

    Bash formatting not working properly (sometimes)

    I have this simple script that pull new changes from repo and build docker image & push.

    #!/bin/bash
    # simple docker build script
    
    now=$(date +'%H:%M:%S')
    echo -e "\e[1mStep1 $now: Changing directory to dependencies\e[0m"
    cd /home/shinee/web/service/dependencies-base
    
    now=$(date +'%H:%M:%S')
    echo -e "\e[1mStep2 $now: Pulling update from master\e[0m"
    git pull origin master
    
    now=$(date +'%H:%M:%S')
    echo -e "\e[1mStep3 $now: Updating image node:8-slim\e[0m"
    docker pull node:8-slim
    
    now=$(date +'%H:%M:%S')
    echo -e "\e[1mStep4 $now: Updating image nginx:stable\e[0m"
    docker pull nginx:stable
    
    now=$(date +'%H:%M:%S')
    echo -e "\e[1mStep5 $now: Building image myrepo/image:tag\e[0m"
    #docker build --force-rm -t myrepo/image:tag -f Dockerfile . || { echo "couldn't build docker image" ; exit 1; }
    
    now=$(date +'%H:%M:%S')
    echo -e "\e[1mStep6 $now: Pushing image myrepo/image:tag\e[0m"
    #docker push myrepo/image:tag
    

    I intentionally commented out docker build & push part for the sake of testing. But bug is still reproducable.

    To reproduce: If you run this script from command line. ./test_build.sh only line that contains echo -e bash formatted lines will be bold, and commands outputs will be normal text. image

    But this same script's output doesn't look as expected in script-server window. As you see

    echo -e "\e[1mStep2 $now : Pulling update from master\e[0m"    # this part should be formatted only
    git pull origin master     # but this commands output are also getting formatted, sometimes. (most of the time)
    

    image

    bug resolved 
    opened by shinebayar-g 20
  • Clarification on --lws param

    Clarification on --lws param

    I have three versions of script-server latest 1.17.1, dev and master.

    First it would be cool if user/admin page would display the version.

    But reason for raising this issue is to ask how to use --lws parameter to make "list with search" ... if I use it in -master as in the "Very parameterized" example it works fine, but when I try to add this to 1.17.1 the --lws parameter becomes a command line argument to the script.

    All other options are identical.

    Many thx, R.

    opened by raszuk 0
  • Add an ability create multi hierarchy side menu items in the web ui

    Add an ability create multi hierarchy side menu items in the web ui

    Hi, I would like to create the menu items at multi hierarchy level. Currently it supports one level only. Since I have multiple scripts, facing difficulties in grouping them.

    opened by sbalakrishna 1
  • Capability to search the scripts within the group

    Capability to search the scripts within the group

    Hi, Currently, On UI, the search has the ability to search within the group names only. It is unable to search the scripts within a group.

    I have created a lot of scripts in each group, and finding the specific script became a challenge to me.

    opened by sbalakrishna 1
  • Multiselect error: Invalid parameter <param> value: hal value '<value>', but should be in []

    Multiselect error: Invalid parameter value: hal value '', but should be in []

    Hi,

    Not 100% sure if my configuration is valid, however it seems to work find as long as I don't select anything on the multiselect :)

    The main configuration file is:

    {
      "name": "test",
      "script_path": "ls",
      "output_format": "terminal",
      "include": "test.inc",
      "parameters": [
        {
          "name": "dir",
          "required": true,
          "default": "/tmp",
          "constant": true
        }
      ]
    }
    

    The included file is:

    {
      "hidden": true,
      "parameters": [
        {
          "name": "Files",
          "type": "multiselect",
          "values": {
            "script": "ls ${dir}"
          },
          "multiselect_argument_type": "argument_per_value"
        }
      ]
    }
    

    The multiselect is populated, and works as expected. However, selecting an option results in an error. For example, selecting the item call results in:

    Calling the script...
    
    Invalid parameter Files value: has value 'call', but should be in []
    

    And the same in the logs:

    2022-12-16 11:46:55,295 [web_server.ERROR] Invalid parameter Files value: has value 'call', but should be in []
    2022-12-16 11:46:55,296 [tornado.access.WARNING] 400 POST /executions/start (192.168.1.55) 15.99ms
    

    Is this configuration invalid, or am I running into a bug?

    Regards,

    Mark

    bug 
    opened by mverboom 4
  • Download button for output files disappearing

    Download button for output files disappearing

    Hi,

    I am currently experiencing issues downloading output files. Sometimes the download button appears, but most of the time it is not visible.

    My config file looks like this;

    image

    Everytime I execute the script, the correct file is placed in temporary directory (resultFiles) on our server running script-server. It seems to detect the correct file(s), but the download button is not shown at the bottom of the script output.

    The last ten lines in the server log are as follows; 2022-12-01 15:52:56,907 [script_server.execution_service.INFO] Calling script #498: bash /mnt/shared/tools/script-server/GS/run_ffpe_qc.sh 105285 Human forward 8 2022-12-01 15:52:56,917 [script_server.file_download_feature.INFO] Created download folder for s.wielhouwer: temp/resultFiles/18e344481b61/1669906376917 2022-12-01 15:52:56,919 [tornado.access.INFO] 200 POST /executions/start (10.159.1.224) 33.86ms 2022-12-01 15:52:56,928 [tornado.access.INFO] 101 GET /executions/io/498 (10.159.1.224) 1.25ms 2022-12-01 15:52:56,930 [script_server.audit_utils.WARNING] Could not get hostname for 10.159.1.224 2022-12-01 15:52:56,931 [script_server.audit_utils.WARNING] Could not get hostname for 10.159.1.224 2022-12-01 15:52:57,031 [script_server.audit_utils.WARNING] Could not get hostname for 10.159.1.224 2022-12-01 15:52:57,032 [web_server.INFO] s.wielhouwer disconnected 2022-12-01 15:52:57,036 [script_server.audit_utils.WARNING] Could not get hostname for 10.159.1.224 2022-12-01 15:52:57,037 [tornado.access.INFO] 200 POST /executions/cleanup/498 (10.159.1.224) 2.13ms

    Any ideas what could possibly cause this? Is this related to the hostname error?

    Best regards,

    Serge

    bug 
    opened by SergeWielhouwer 13
  • Use of mutation testing in script-server - Help needed

    Use of mutation testing in script-server - Help needed

    Hello there!

    My name is Ana. I noted that you use the mutation testing tool in the project. I am a postdoctoral researcher at the University of Seville (Spain), and my colleagues and I are studying how mutation testing tools are used in practice. With this aim in mind, we have analysed over 3,500 public GitHub repositories using mutation testing tools, including yours! This work has recently been published in a journal paper available at https://link.springer.com/content/pdf/10.1007/s10664-022-10177-8.pdf.

    To complete this study, we are asking for your help to understand better how mutation testing is used in practice, please! We would be extremely grateful if you could contribute to this study by answering a brief survey of 21 simple questions (no more than 6 minutes). This is the link to the questionnaire https://forms.gle/FvXNrimWAsJYC1zB9.

    Drop me an e-mail if you have any questions or comments ([email protected]). Thank you very much in advance!!

    question resolved 
    opened by belene 1
Releases(dev)
  • dev(Dec 27, 2018)

  • 1.17.1(May 4, 2022)

  • 1.17.0(Dec 5, 2021)

    New features & improvements

    #324 added possibility to replace script-server theme #284 Admin interface: allow script creation/upload #225 added editable_list type, where a user can either select value or define his own #383 added possibility to sort columns in history view #139 added possibility to use bash operators in values/default scripts #245 added html and html_iframe output types #190 Add indicator when list values are being reloaded #389 added marking script tab as error on error/disconnect #349 disabled python scripts output buffering by default #375 added possibility to limit max length of a text field #350 added possibility to overwrite script server title using conf.json #376 added iso-8859-1 fallback when script output is (partially) non-utf #367 made user authorization case-insensitive #444 fixed case sensitive user access to script logs #387 allowed access to script status by admins #283 added possibility to exclude files from server_file parameters #415 Allow comments in the json files

    Bugfixes

    #79 protected Script server users against XSRF attacks #385 fixed Dynamic list values are not cleaned after script execution #388 fixed empty element in the list if there is no script output #406 fixed HTTP->HTTPS redirects behind a reverse proxy #379 fixed "select file" dialog size on small (mobile) screens #479 fixed a bug, that made included config fail, when constant is defined #341 fixed non working bash_formatting: false #437 fixed keeping validation errors on script change #391 fixed a bug when opening/reloading a page with a running script, select a "new execution" sometimes #398 fixed wrong naming in same_arg_param and repeat_param #425 fixed a bug, when auth_info_ttl makes server to hang #446 removed unneeded typing module dependency (which was causing error for some users) #443 fixed missing validation on server file field creation #417 fixed loading crypt module on windows (not it's not loaded) #454 fixed dynamic value resolving for output paths

    Other

    added UI Autotests fixed vulnerable marked version #418 updated base docker image to python 3.9 updated python/debian min supported version moved build to travic-ci.com

    Special thanks for contribution and support

    Contribution: @drehelis @brunomgalmeida @AnnaShepa @dnrce Sponsors: @drehelis @nicolaslegrand91 @deelerke @flycrane01 @ohmybahgosh

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(3.07 MB)
  • 1.16.0(Nov 2, 2020)

    New features & improvements

    #180 added possibility to schedule scripts #145 added possibility to run multiple instances of the same script #159 added simple auth, based on .htpassw file #243 added possibility to group scripts on UI #305 added GitLab OAuth support #188 #321 added a search field for long combobox lists #217 allowed using ${auth.xxx} variables in script values #294 allowed using ${auth.xxx} variables in output files #288 added possibility to send parameter name and value as a single argument (--val=123) #258 added a button to copy script output to clipboard #281 added a loading indicator when opening a script #282 improved loading time of index.html #306 added secret_storage_file setting to keep auth cookie in external location #313 added auth.expiration_days setting for custom auth expiration #316 added --log-folder and --tmp-folder command line arguments added proper error message, when script_path is missing #145 added ID column to script history (to easier find executed scripts) #305 added possibility for Google OAuth to re-validate users and to dump state #331 added support for ip4 subnets in trusted_ips #359 added admin_users for script configuration

    Bugfixes

    #211 improved error message, when script loading fails #261 fixed a bug, when failing migrations were blocking server startup #268 fixed log filenames, when a script name contains forward slash / #271 fixed unstoppable server on tornado 6 #287 fixed loading a script, containing constant parameter without a name #292 fixed username resolving when user is identified by proxy header name #301 fixed variable substitution ${param name} for recursive server_files #304 fixed wrong filename when script names contains slashes (admin UI) #314 fixed letter case issues, when server web files from windows #337 fixed loading LDAP groups, when name contains spaces #340 fixed issue with combobox values, prefilled from URL #342 fixed allowed_users script setting, which blocked admins from seeing scripts in admin UI

    Other

    #282 migrated web build to vue-cli added automated release for stable branch

    Special thanks for contribution

    @jtprof @miksir @autogun @fejesd @oktorok @realroywalker

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(2.33 MB)
  • 1.15.2(Feb 11, 2020)

  • 1.15.1(Feb 1, 2020)

  • 1.15.0(Feb 1, 2020)

    New features & improvements

    #127 added admin UI for scripts configuration #249 added history section for users #220 improved mobile support #202 improved UI for narrow screens #181 added mapping script parameters to env variables #219 added possibility to use Proxy auth in for user identification #215 added server version to web ui and startup logs #212 allowed to specify ldap groups inside user-defined groups #146 added possibility to kill unstoppable scripts #231 added support for displaying inline images in logs #248 added tornado 6 support #251 improved error message when starting a script for unauthorized user #150 added home page link to the main page #144 removed favicon for finished scripts #216 added support for ancient ldap3 versions

    Bugfixes

    #232 fixed file_upload field for Safari #234 fixed Safari layout issues #220 fixed dropdown selects on mobiles #251 fixed windows startup issue with python 3.8 #223 fixed an error on reading huge unicode outputs #202 made stop button not to go below required size #224 fixed newline trimming in parameters from script #237 fixed loading scripts with a slash in the name #252 fixed hanging script startup on connection problems #260 fixed blocking server requests when loading hanging scripts

    Other

    #229 migrated main app to Vuejs

    Breaking changes

    Script URLs format slightly changed API paths changed

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(3.62 MB)
  • 1.14.0(May 5, 2019)

    New features & improvements

    #134 Add extended support for ANSI escape codes #161 Improve terminal rendering performance #178 Add possibility to enable access to admin page for anyone #142 Add script title to the page title #144 Show green favicon in a page title, when a script is running #200 Add external callbacks on script startup/shutdown #165 Add support for bash formatting in admin panel's execution history #201 Add support for default values in included parameters #184 Add possibility to upload large files #207 Make 'allowed_users' in conf.json accept user groups #183 Allow to specify forward proxy for external connections (e.g. google auth) #141 Add possibility to specify a result of a command as a default value

    Bugfixes

    #169 Fix flickering bash formatting issues #198 Fix download output files when secure parameter is used #186 Fix bash formatting, when reset_all argument is specified #195 Couldn't download output files with cyrillic names #187 Fix scrolling issues in long comboboxes #213 Fix leading double-slash in websocket connections, when behind reverse proxy

    Other

    #174 Moved terminal ANSI support to UI added a script for starting ScriptServer in virtual environment

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(3.01 MB)
  • 1.13.2(Feb 26, 2019)

  • 1.13.1(Feb 7, 2019)

    New features & improvements

    #137 Added parameter type for selecting a file on server #136 added IP parameter type #119 added possibility to refer other parameter values in a parameter #130 added possibility to get current user in script parameters #131 added URL links highlighting in script output #102 added possibility to prefill script values from URL #135 allowed config dir and config file to be specified from command lines #133 added support for script configurations "include" section #157 added progress indication during login #128 added admin page link Improved Google login button styling

    Bugfixes

    #176 (Windows) fixed loading logs on admin page #151 fixed hanging file descriptors on MacOS

    Other

    Added webpack to frontend Added possibility to download prebuild web files for init.py Added docker images building

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(2.98 MB)
  • 1.12.0(Jul 30, 2018)

    New features & improvements

    #100 added possibility for a user to reconnect to a running script #118 added script access configuration #118 added possibility to define user groups #101 added exit confirmation, when trying to stop script-server with running scripts #114 added resolving of user IPs behind proxies #114 made IP identification more secure #112 added support for carriage_return in terminal #121 added support for multiselect parameters #118 added loading user groups from LDAP #117 added markdown support for scripts description section #103 added configuration for custom log filename format

    Bugfixes

    #111 added automatic web-socket pinging to avoid closing it on timeout n/a fixed not logging of execution CR characters #115 fixed caching of removed log files

    Other

    #120 added requirements.txt file

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(3.59 MB)
  • 1.11.0(Apr 15, 2018)

    New features & improvements: #83 added simple admin panel with script execution logs #95 added google oauth support #96 added possibility to send files as a script parameter #95 added possibility to allow access only for whitelisted users #94 added possibility to allow script execution in background #93 made parameter fields more responsive and grid-like #104 added startup message with an url of the server #106 allowed specifying files with whitespaces as a script_path

    Bugfixes: #93 improved visualisation of long values in combobox #92 fixed log panel on firefox #99 fixed (not) showing error on UI, when scripts fails to start #109 fixed python 3.4 incompatibilities

    Other: #98 added travis CI build file

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(3.57 MB)
  • 1.10.1(Apr 6, 2018)

  • 1.10-rc2(Jan 3, 2018)

    Changelist: #84 added possibility to run multiple scripts in parallel #91 added sending log file in failure alert notification #78 added confirmation dialog when users closes a page when script is running #86 added support for using parameter values for preparing script result files #82 added support for running script-server behind reverse-proxy #89 added extracting audit name from proxied basic auth credentials #86 fixed issue when running launcher from a different location #86 added support for changing server listening address #90 added possibility to change web page title #80 added validation for missing web libraries before server startup (for developers) #77 added protection against showing script-server in iFrame

    Source code(tar.gz)
    Source code(zip)
    script-server.zip(3.51 MB)
  • 1.9(Jun 27, 2017)

Owner
Iaroslav Shepilov
Iaroslav Shepilov
Send notifications created in Frappe or ERPNext as push notication via Firebase Cloud Message(FCM)

FCM Notification for ERPNext Send notifications created in Frappe or ERPNext as push notication via Firebase Cloud Message(FCM) Steps to use the app:

Tridz 9 Nov 14, 2022
Generate Openbox Menus from a easy to write configuration file.

openbox-menu-generator Generate Openbox Menus from a easy to write configuration file. Example Configuration: ('#' indicate comments but not implement

3 Jul 14, 2022
A weekly dive into commonly used modules in the Rust ecosystem, with story flavor!

The goal of this project is to bring the same concept as PyMOTW to the Rust world. PyMOTW was an invaluable resource for me when I was learning Python years ago, and I hope that I can help someone in

Scott Lyons 20 Aug 26, 2022
《赛马娘》(ウマ娘: Pretty Derby)辅助 🐎🖥 基于 auto-derby 可视化操作/设置 启动器 一键包

ok-derby 《赛马娘》(ウマ娘: Pretty Derby)辅助 🐎 🖥 基于 auto-derby 可视化操作/设置 启动器 一键包 便捷,好用的 auto_derby 管理器! 功能 支持客户端 DMM (前台) 实验性 安卓 ADB 连接(后台)开发基于 1080x1920 分辨率

秋葉あんず 90 Jan 01, 2023
A modern Python build backend

trampolim A modern Python build backend. Features Task system, allowing to run arbitrary Python code during the build process (Planned) Easy to use CL

Filipe Laíns 39 Nov 08, 2022
Turn crypto miner on/off depending on powerwall charge level

Mining Crypto with Tesla Solar and Powerwalls This script turns a crypto miner on and off when the Tesla Powerwall level drops/rises above a certain t

Matt 1 Nov 09, 2021
A visidata plugin for parsing f5 ltm/gtm/audit logs

F5 Log Visidata Plugin This plugin supports the default log format for: /var/log/ltm* /var/log/gtm* /var/log/apm* /var/log/audit* It extracts common l

James Deucker 1 Jan 06, 2022
Logo DYS (Doküman Yönetim Sitemi) API Python Implementation

dys-connector Logo DYS (Dokuman Yonetim Sistemi) API Python Implementation Python Package: https://pypi.org/project/dys-connector Quick Start from dys

Logo Group 8 Mar 19, 2022
This program generates automatically new folders containing old version of program

Automated Folder Versions Generator by Sergiy Grimoldi - V.0.0.2 This program generates automatically new folders containing old version of something

Sergiy Grimoldi 1 Dec 23, 2021
A joke conlang with minimal semantics

SyntaxLang Reserved Defined Words Word Function fo Terminates a noun phrase or verb phrase tu Converts an adjective block or sentence to a noun to Ter

Leo Treloar 1 Dec 07, 2021
Explore related sequences in the OEIS

OEIS explorer This is a tool for exploring two different kinds of relationships between sequences in the OEIS: mentions (links) of other sequences on

Alex Hall 6 Mar 15, 2022
Машинное обучение на ФКН ВШЭ

Курс "Машинное обучение" на ФКН ВШЭ Конспекты лекций, материалы семинаров и домашние задания (теоретические, практические, соревнования) по курсу "Маш

Evgeny Sokolov 2.2k Jan 04, 2023
Exploiting Linksys WRT54G using a vulnerability I found.

Exploiting Linksys WRT54G Exploit # Install the requirements. pip install -r requirements.txt ROUTER_HOST=192.169.1.1 ROUTER_USERNAME=admin ROUTER_P

Elon Gliksberg 31 May 29, 2022
App to decide weekly winners in H2H 1 Win (9 Cat)

Fantasy Weekly Winner for H2H 1 Win (9 Cat) Yahoo Fantasy API Read

Sai Atmakuri 1 Dec 31, 2021
reproduces experiments from

Installation To enable importing of modules, from the parent directory execute: pip install -e . To install requirements: python -m pip install requir

Meta Research 15 Aug 11, 2022
These are my solutions to Advent of Code problems.

Advent of Code These are my solutions to Advent of Code problems. If you want to join my leaderboard, the code is 540750-9589f56d. When I solve for sp

Sumner Evans 5 Dec 19, 2022
ChronoRace is a tool to accurately perform timed race conditions to circumvent application business logic.

ChronoRace is a tool to accurately perform timed race conditions to circumvent application business logic. I've found in my research that w

Tanner 64 Aug 04, 2022
GCP Scripts and API Client Toolss

GCP Scripts and API Client Toolss Script Authentication The scripts and CLI assume GCP Application Default Credentials are set. Credentials can be set

3 Feb 21, 2022
This tool helps you to reverse any regex and gives you the opposite/allowed Letters,numerics and symbols.

Regex-Reverser This tool helps you to reverse any regex and gives you the opposite/allowed Letters,numerics and symbols. Screenshots Usage/Examples py

x19 0 Jun 02, 2022
Make dbt docs and Apache Superset talk to one another

dbt-superset-lineage Make dbt docs and Apache Superset talk to one another Why do I need something like this? Odds are rather high that you use dbt to

Slido 81 Jan 06, 2023