Usages
Commands line
WebScripts
Using the python module:
Linux
python3 -m WebScripts
Windows
python -m WebScripts
Arguments
Help message
WebScripts --help
WebScripts -h
Change interface and port
WebScripts --interface "192.168.1.2" --port 80
WebScripts -i "192.168.1.2" -p 80
Add configuration from INI files
WebScripts --config-cfg "config1.ini" "config2.ini" --config-cfg "config3.ini"
WebScripts -c "config1.ini" "config2.ini" -c "config3.ini"
Add configuration from JSON files
WebScripts --config-json "config1.json" "config2.json" --config-json "config3.json"
WebScripts -j "config1.json" "config2.json" -j "config3.json"
Script paths
WebScripts --scripts-path "./scripts/1/" "./scripts/2/" --scripts-path "./scripts/3/"
WebScripts -S "./scripts/1/" "./scripts/2/" -S "./scripts/3/"
Script configuration paths
WebScripts --scripts-config "./config/1/*.json" "./config/2/*.ini" --scripts-config "./config/3/*.json"
WebScripts -S "./config/1/*.json" "./config/2/*.ini" -S "./config/3/*.json"
Modules
WebScripts --modules "module1" "module2" --modules "module3"
WebScripts -m "module1" "module2" -m "module3"
Module paths
WebScripts --modules-path "./modules/1/" "./modules/2/" --modules-path "./modules/3/"
WebScripts -I "./modules/1/" "./modules/2/" -I "./modules/3/"
Documentation paths
WebScripts --documentations-path "./doc/1/*.html" "./doc/2/*.txt" --documentations-path "./doc/3/*.html"
WebScripts -D "./doc/1/*.html" "./doc/2/*.txt" -D "./doc/3/*.html"
Javascript paths
WebScripts --js-path "./js/1/*.js" "./js/2/*.js" --js-path "./js/3/*.js"
WebScripts -J "./js/1/*.js" "./js/2/*.js" -J "./js/3/*.js"
Static paths
WebScripts --statics-path "./images/1/*.jpg" "./templates/html/2/*.html" --statics-path "./css/3/*.css"
WebScripts -T "./images/1/*.png" "./templates/html/2/*.html" -T "./pdf/3/*.pdf"
AUTH
Desactive authentication script
WebScripts --active-auth
WebScripts -a
Auth script
WebScripts --auth-script "auth.py"
Accept unauthenticated user
WebScripts --accept-unauthenticated-user --accept-unknow-user
Auth failures to blacklist
WebScripts --auth-failures-to-blacklist 3
WebScripts -b 3
Blacklist time
WebScripts --blacklist-time 30
WebScripts -B 30
Paths without authentication
WebScripts --exclude-auth-paths "/auth/" "/help/" --exclude-auth-paths "/contacts/"
WebScripts --e-auth-paths "/auth/" "/help/" --e-auth-paths "/contacts/"
Pages without authentication
WebScripts --exclude-auth-pages "/auth/page.py" "/help/page.html" --exclude-auth-pages "/contacts/page.html"
WebScripts --e-auth-pages "/auth/page.py" "/help/page.html" --e-auth-pages "/contacts/page.html"
DEV
Mode debug
- To get python error message and traceback on page 500.
- To get the existing URLs on page 404.
- To export the full (since version 3.0.0) server configuration to a JSON file named export_Configuration.json.
- Active unsecure module to see and change configurations
WebScripts --debug
WebScripts -d
Mode not secure
- Do not use HTTP security headers, useful for debugging web scripts (javascript)
- Active the Content-Security-Policy-Report-Only header
- Active the debug module for Content-Security-Policy (URL: "/csp/debug/")
- Don't raise
WebScripts.Errors.WebScriptsSecurityError: Logs configuration file/directory permissions are insecure. Remote code execution can be exploited.
. This error is raised when the WebScripts Server is not hardened (file permissions on the log configuration file), be careful it's a security problem (it can be used to bypass hardening in development environment only).
WebScripts --security
WebScripts -s
LOGS
Level
- Configure the root logger (other loggers are not impacted)
- Level must be in
0
,DEBUG
,INFO
,WARNING
,ERROR
,CRITICAL
WebScripts --log-level DEBUG
WebScripts -l DEBUG
Filename
- Configure the root logger (other loggers are not impacted)
WebScripts --log-filename "logs.log"
WebScripts -f "logs.log"
Encoding
- Configure the root logger (other loggers are not impacted)
WebScripts --log-encoding "utf-8"
Format
- Configure the root logger (other loggers are not impacted)
WebScripts --log-format "%(asctime)s %(levelname)s %(message)s (%(funcName)s -> %(filename)s:%(lineno)d)"
Date format
- Configure the root logger (other loggers are not impacted)
WebScripts --log-date-format "%d/%m/%Y %H:%M:%S"
SMTP
Server
- Configure the SMTP server name to send email notifications
WebScripts --smtp-server "my.smtp.server"
WebScripts --s-server "my.smtp.server"
StartTLS
- Configure the secure connection with StartTLS
WebScripts --smtp-starttls
WebScripts --s-tls
Password
- Configure the SMTP login (username is the
notification_address
configuration), if password is None the WebScripts Server send the email notifications without authentication.
WebScripts --smtp-password "password"
WebScripts --s-password "password"
Port
- Configure the SMTP server port
WebScripts --smtp-port 25
WebScripts --s-port 25
SSL
- Configure the secure connection with SSL
WebScripts --smtp-ssl
WebScripts --s-ssl
Receivers/Administrators email addresses
- Configure the receivers email addresses (should be the administrators addresses)
WebScripts --admin-adresses "admin1@my.smtp.server" "admin2@my.smtp.server" --admin-adresses "admin3@my.smtp.server"
WebScripts --a-adr "admin1@my.smtp.server" "admin2@my.smtp.server" --a-adr "admin3@my.smtp.server"
Sender
- Configure the sender email address
WebScripts --notification-address "notification@my.smtp.server"
WebScripts --n-adr "notification@my.smtp.server"
License
Licensed under the GPL, version 3.