Interfaz CGI de Greaseweazle
Interfaz web para GreaseWeazle Host Herramients.
El único caso de uso sensato en el que puedo pensar es en algo como el mío, en el que mi grasa y, por lo tanto, las unidades están conectadas a una PC que no sea la de mi escritorio. (Para ser justos, esto fue $ 80 más barato que un recinto de Dual 5¼ ″ Drive Bay).

Instalación
Dependencias:
- Herramientas de host de GreaseWeazle
- Perl 5
- Config :: tiny
- WebSocketd
- Un servidor web, por ejemplo, Apache
Si GreaseWeazle no está instalado en su PATH , edite gw-wrapper.sh para reflejar su ubicación.
Instrucciones
- Clone este repositorio en algún lugar servido por su servidor web, EG
/var/www/gwcgi y cd a ese directorio. (De aquí en adelante, este directorio se llamará /path/to/gwcgi por cordura). - Configure su servidor web para permitir que los scripts CGI se ejecuten en
/path/to/gwcgi . - Cree un directorio llamado
images , IE /path/to/gwcgi/images . Hazlo por el usuario que ejecute index.cgi (probablemente www o apache o algo). - Copie
config.ini.sample a config.ini y edite los valores para la dirección de WebSocket y el dispositivo GreaseWeazle en consecuencia.
Notas
- Hay algunas plantillas duplicadas: formatos de quad densidad y alta densidad y alta densidad de 5¼ ″, ambos tienen 80 pistas a 96 TPI, utilizando así los mismos parámetros al invocar a Greaseweazle, pero estos son para simplificar el menú desplegable y evitar tener hasta tres especificaciones de densidad y/o BPI en una entrada.
Problemas conocidos
- La entrada de texto no está validada y, como tal,
gw-wrapper.sh podría ser vulnerable a algo como esto: args=--help ; cat /etc/passwd
./gw $args
# ./gw --help; cat /etc/passwd
(es decir, las cadenas arbitrarias se pueden pasar por WebSocket). Sin embargo, dado que GWCGI solo tiene la intención de acceder a través de LAN, este no parece ser un problema apremiante, especialmente dado que un usuario puede simplemente firewall la computadora en la que se ejecuta GWCGI. Sin embargo, la validación de entrada está en la lista de tareas pendientes a continuación.
Hacer
- Hacer que el código apesta menos
- Más configurabilidad
- Incluir información BPI
- Validación de la entrada