CGIJS
CGIJS es una biblioteca todas destacada para ejecutar cualquier archivo de script de idioma CGI / Modo Interpreted language script , o conectarse a cualquier proxies de servidor de aplicaciones web, o administrar procesos en el sistema.
Biblioteca CGIJS :
- Admite ejecutar cualquier
Interpreted Language scripts CGI / interpretado utilizando el módulo de proceso NodeJS en any OS que ejecute node.js Necesita que el interpretador del lenguaje se instale en el sistema - [TODO] admite ejecutar cualquier
Interpreted Language scripts CGI / interpretado utilizando el módulo de biblioteca de intérpretes en any OS que ejecute node.js No necesita que el interpretador del lenguaje se instale en el sistema - Admite tanto los ejecutables
CGI como proxy a los servidores localhost / remote / embedded servers utilizando el proxy de múltiples protocolos ( http , websockets , tcp , udp , socks , ssh , ftp ). - Admite la administración de procesos como ejecutables
server embedded , ejecutables database integradas o any other ejecutable integrado/ no embebido - Admite trabajar con
shell , json , ini , csv , yaml y xml internamente
[Funding Invited]
Nota general: la biblioteca está lista para la producción. Sin embargo, tenga cuidado con los permisos/seguridad de procesos/ejecutables en su proyecto utilizando CGIJS
Historia
CGIJS se creó con una motivación para permitir la creación de un Desktop executable/ application utilizando Electron que puede ejecutar cualquier archivo/ aplicaciones de CGI Interpreted language scripted files/ applications bajo el capó.

Instalación
Si desea ejecutar idiomas interpretados como php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl con wasm files sin tener el presente binario del lenguaje/ instalado en su sistema luego use el siguiente paquete.
npm install bridge-wasm --save
Características
Implementación ligera, flexible y genérica. CGIJS es NodeJS Framework Independent / agnostic para el desarrollo de aplicaciones.
Hay tres módulos principales dentro de CGIJS: file para la ejecución de archivos CGI, proxy para ejecutar proxies y process para administrar procesos.
Nota de seguridad :
- El módulo de shell de proceso es agnóstico de seguridad y depende de su código.
- El paquete accede al shell para ejecutar ejecutables de script utilizando el módulo de proceso node.js. Considere sus
security risks based on your executable's/ script's security risks .
- El módulo proxy es agnóstico de seguridad y depende de la seguridad de su código y proxy.
- El
package has a LAN or WAN network proxy module AND does not create any proxies por su cuenta, a menos que usted lo especifique. Considere los riesgos de seguridad de Proxy creados a medida.
- El
package does not use Telemetry, nor Collect data Remotely, nor has Telemetry/Remote based Error collection por sí solo.- El paquete propaga errores para que usted pueda manejar o recopilar errores/ datos.
Características de la biblioteca
Nodo CGI integrado: ejecute scripts interpretados que admiten CGI usando NodeJS
Node Web Proxy: ejecute proxies web
Procesos de nodos: administrar servidores web, procesos de bases de datos u otros procesos o servicios del sistema
Detalles de la funcionalidad
El script debe admitir la tubería de todos los archivos de los idiomas interpretados a continuación:
El script debe admitir tuberías de todos los proxies de los idiomas anteriores y seguir:
El script actualmente permite trabajar con (comenzar, detener, reiniciar con Bash, Bat scripts) siguiendo los servidores web:
El script actualmente permite trabajar con (comenzar, detener, reiniciar proxies) siguientes servidores web:
El script actualmente permite trabajar con (comenzar, detener, reiniciar) siguientes servidores web:
El script actualmente permite trabajar con (comenzar, detener, reiniciar) siguiendo bases de datos y procesos:
Nota:
Esta biblioteca está en desarrollo activo. Los problemas y los comentarios como boleto GitHub son bienvenidos.
Dependencias del paquete:
Dependencias de entorno y biblioteca:
- Nodejs: (> 8.x),
- HTTP-Proxy para soporte HTTP-Proxy,
- calcetines para soporte de calcetines,
- UDP-Proxy para soporte UDP,
- SSH2 para SSH2, SSH, FTP, SFTP Support,
- Socket-Proxy para el proxy de socket,
- http-proxy-to-socks para http al proxy de calcetines,
- CSV para el analizador de archivos,
- XML-JS para el analizador de archivos XML,
- Yaml para el analizador de archivos yaml,
- INI para el analizador de archivos ini,
- dotenv para el analizador de archivo dotenv,
- shelljs para soporte con shell
- concurrencia.js para soporte de concurrencia y paralelización para hilos y procesos
Dependencias adicionales necesarias para usar interpretadores y bibliotecas de lenguaje para php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl con wasm files sin tener que instalar (o tener) binarias en su sistema
- Bridge-Wasm para ejecutar lenguajes interpretados con WASM sin tener el binario en su sistema (instalado/ presente).
Dependencias de la aplicación:
- Tu aplicación, tú decides
- Ejemplo/demo tiene "expreso": "^4.17.1"
- Alternativamente, use cualquier otro marco de NodeJS que desee usar para su aplicación
Demo de uso:
Este proyecto contiene un ejemplo que demuestra trabajar con ExpressJS.
- Las demostraciones para la ejecución de scripts CGI/interpretados con node.js y aplicaciones expresas se pueden encontrar en la aplicación de demostración de carpetas.
- Las demostraciones para la implementación individual de módulos de archivo, proceso, proxy y utils se pueden encontrar en el uso de demostración de la carpeta [TODO]
Caso de uso:
La biblioteca CGIJS se ha creado para abordar los siguientes casos de uso:
- Trabajar con lenguajes CGI / interpretados desde
any marco de aplicaciones nodo.js - Uso de cualquier aplicación de lenguaje CGI / interpretado con Electron como se demuestra en la aplicación de escritorio-CGI en funcionamiento
Especificaciones técnicas
... * Wiki Enlaces a agregar
Wiki
- Empezando
- Demostración rápida: archivos ejecutables de modo CGI
- Demo rápida: proxy a proxies/servidores
- Demostración rápida: proxy a WebSocket de Proxy
- Demostración rápida: proxy a UDP, calcetines, HTTP a Socks Proxy's WebSocket
- Ejecute archivos CGI utilizando el módulo de proceso y los binarios en el sistema
- Php (.php)
- Perl (perl cualquier versiones - .plc, .ld, .pl)
- Python (Python2, Python3 - .py)
- Ruby (.rb)
- Node.js (.js)
- Ejecute archivos CGI usando CGI-JS
módulo wasm`- Php (.php)
- Perl (perl cualquier versiones - .plc, .ld, .pl)
- Python (Python2, Python3 - .py)
- Ruby (.rb)
- Lua (.)
- Óxido (.)
- Golang (.go)
- Cpython (.py)
- Julia (.)
- R-lang (.)
- Ejecute servidores proxy para conectarse a:
- Cualquier servidor local HTTP/HTTPS/WebSocket
- Cualquier servidor remoto HTTP/HTTPS/WebSocket
- Apache HTTPD, Apache Tomcat, Nginx (http/https/WebSocket)
- Servidor HTTP de mangosto incrustado (http/https)
- Administrar servidores integrados (para el caso de uso de escritorio-CGI):
- Apache incrustado httpd (http/https/websocket)
- Apache Tomcat incrustado (http/https/websocket)
- Servidor HTTP de mangosto incrustado (http/https)
- Nginx incrustado (http/https/websocket)
- Servidores de desarrollo web incorporados de PHP
- Servidores de desarrollo web incorporado de Ruby
- Servidores de desarrollo web incorporado de Python
- Administrar servidores de base de datos integrados (para el caso de uso de escritorio-CGI):
- MySQL incrustado
- MongoDB incrustado
- PGSQL incrustado
- Trabajando con SQLite
- Administrar procesos (para el caso de uso de escritorio-CGI):
- Otros procesos o trabajos ejecutables
- Ejecutar y administrar ejecutables / procesos integrados o no embebidos en la necesidad de la aplicación
- Trabajar con el archivo config.json para una implementación más simple en las aplicaciones
Estado actual
- En desarrollo [Pruebas para el caso de uso de escritorio-CGI]
- En desarrollo [Pruebas para el servidor de desarrollo basado en el lenguaje]
Hacer
Verifique el archivo .todo para la última lista de tareas
Licencia
La licencia del MIT (MIT): consulte la licencia para obtener más detalles
Copyright © 2019 - Till Library Works: Ganesh B [email protected]
Apoye el desarrollo en el repositorio de GitHub a través de
- feature needs reporting,
- testing,
- issue reporting,
- contribution
Utilice estos estilos para contribuciones