CGIJS
CGIJS é uma biblioteca em destaque para executar qualquer modo CGI / arquivos Interpreted language script ou conectar -se a qualquer proxies do servidor de aplicativos da Web ou gerenciar processos no sistema.
Biblioteca CGIJS :
- Suporta a execução de qualquer
Interpreted Language scripts CGI / interpretado usando o módulo de processo NodeJS em any OS que execute node.js Precisa que o interpretador de idiomas seja instalado no sistema - [TODO] suporta a execução de qualquer script de idioma
CGI / Interpreted Language scripts usando o módulo de biblioteca Interessores em any OS que execute node.js Não precisa que o interpretador de idiomas seja instalado no sistema - Suporta os executáveis
CGI , bem como proxy para embedded servers localhost / remote / incorporado usando proxy de vários protocolos ( http , websockets , tcp , udp , socks , ssh , ftp ). - Suporta gerenciamento de processos como executáveis
server embedded , executáveis database incorporados ou any other executável incorporado/ não incorporado - Suporta trabalhar com
shell , json , ini , csv , yaml e xml internamente
[Funding Invited]
Nota geral: a biblioteca está pronta para a produção. No entanto, seja cauteloso com os processos/executáveis permissões/segurança em seu projeto usando CGIJS
História
O CGIJS foi criado com uma motivação para permitir a criação de um Desktop executable/ application usando Electron que pode executar qualquer CGI / Interpreted language scripted files/ applications no Hood.

Instalação
Se você deseja executar idiomas interpretados como php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl com wasm files sem que o presente binário/ instalado do idioma em seu sistema use o pacote seguinte.
npm install bridge-wasm --save
Características
Implementação leve, flexível e genérica. O CGIJS é o NodeJS Framework Independent / agnostic para o Desenvolvimento de Aplicativos.
Existem três módulos principais dentro do CGIJS - file para execução de arquivos CGI, proxy para executar proxies e process para gerenciamento de processos.
Nota de segurança :
- O módulo de shell do processo é agnóstico de segurança e depende do seu código.
- O pacote acessa o shell para executar executáveis de script usando o módulo de processo Node.js. Por favor, considere seus
security risks based on your executable's/ script's security risks .
- O módulo proxy é agnóstico de segurança e depende do seu código e segurança do proxy.
- O
package has a LAN or WAN network proxy module AND does not create any proxies por conta própria - a menos que especificado por você. Por favor, considere os riscos de segurança do seu proxy criado personalizado.
- O
package does not use Telemetry, nor Collect data Remotely, nor has Telemetry/Remote based Error collection por conta própria.- O pacote propõe erros para você manipular ou coletar erros/ dados.
Recursos da biblioteca
Node CGI Incorporado - Run Scripts interpretados que suportam CGI usando o NodeJS
Proxy da web do nó - Execute proxies da web
Processos de nós - Gerenciar servidores da Web, processos de banco de dados ou outros processos ou serviços do sistema
Detalhes da funcionalidade
O script deve suportar a tubulação de todos os arquivos abaixo dos idiomas interpretados:
O script deve suportar a tubulação de todos os proxies dos idiomas acima e seguintes:
Atualmente, o script permite trabalhar com (iniciando, parando, reiniciando usando scripts Bash, Bat) seguindo servidores da Web:
Atualmente, o script permite trabalhar (iniciando, parando e reiniciando proxies) seguindo servidores da web:
Atualmente, o script permite trabalhar com (iniciando, parando, reiniciando) seguindo servidores da web:
Atualmente, o script permite trabalhar com (iniciando, parando, reiniciando) seguindo bancos de dados e processos:
Observação:
Esta biblioteca está em desenvolvimento ativo. Questões e feedbacks como bilhete do GitHub são bem -vindos.
Dependências de pacotes:
Dependências de Meio Ambiente e Biblioteca:
- Nodejs: (> 8.x),
- http-proxy para suporte http-proxy,
- meias para suporte de meias,
- UDP-Proxy para suporte a UDP,
- SSH2 para SSH2, SSH, FTP, suporte SFTP,
- Proxi de soquete para proxy de soquete,
- http-proxy-to-socks para http para meias proxy,
- CSV para o analisador de arquivos,
- XML-JS para o analisador de arquivos XML,
- YAML para o analisador de arquivos YAML,
- Ini para o analisador de arquivos ini,
- DOTENV para o analisador de arquivos dotenv,
- shelljs para apoio com shell
- Concurrency.js para suporte de simultaneidade e paralelização para threads e processos
Dependências extras necessárias para usar interpretadores e bibliotecas de idiomas para php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl os wasm files sem ter que instalar (ou ter) binários em seu sistema
- Bridge-wasm para a execução de idiomas interpretados com WASM sem ter o binário em seu sistema (instalado/ presente).
Dependências de aplicativos:
- Seu aplicativo, você decide
- Exemplo/Demo tem "Express": "^4.17.1"
- Como alternativa, use qualquer outra estrutura NodeJS que você deseja usar para o seu aplicativo
Demonstração de uso:
Este projeto contém um exemplo que demonstra o trabalho com o ExpressJS.
- Os demos para executar scripts CGI/interpretados com aplicativos Node.js e Express podem ser encontrados no aplicativo de demonstração da pasta.
- As demos para a implementação individual de módulos de arquivo, processo, proxy e utils podem ser encontrados no uso da demonstração da pasta [TODO]
Caso de uso:
A biblioteca CGIJS foi criada para abordar os seguintes casos de uso:
- Trabalhando com idiomas CGI / interpretado de
any estrutura de aplicativos Node.js - Usando qualquer aplicativo CGI / Languages Interpreted com elétron, como demonstrado no aplicativo de trabalho de desktop-cgi em funcionamento
Especificações técnicas
... * links wiki a serem adicionados
Wiki
- Começando
- Demo rápido - arquivos executáveis do modo CGI
- Demo rápido - proxying para proxies/servidores
- Demo rápido - proxying para o WebSocket da proxy
- Demo rápido - proxying para UDP, meias, http para meias proxy's websocket
- Execute arquivos CGI usando o módulo de processo e binários no sistema
- PHP (.php)
- Perl (perl todas as versões - .plc, .pld, .pl)
- Python (python2, python3 - .py)
- Rubi (.rb)
- Node.js (.js)
- Execute arquivos CGI usando CGI-JS
módulo WASM '- PHP (.php)
- Perl (perl todas as versões - .plc, .pld, .pl)
- Python (python2, python3 - .py)
- Rubi (.rb)
- Lua (.)
- Ferrugem (.)
- Golang (.go)
- Cpython (.py)
- Julia (.)
- R-Lang (.)
- Execute servidores proxy para se conectar a:
- Qualquer servidor local HTTP/HTTPS/WebSocket
- Qualquer servidor remoto http/https/websocket
- Apache incorporado httpd, apache tomcat, nginx (http/https/websocket)
- Servidor HTTP incorporado (http/https)
- Gerencie servidores incorporados (para desktop-cGI de uso):
- Apache incorporado httpd (http/https/websocket)
- Apache Tomcat incorporado (http/https/websocket)
- Servidor HTTP incorporado (http/https)
- Nginx incorporado (http/https/webSocket)
- Servidores de desenvolvimento da web incorporados do PHP
- Servidores de desenvolvimento da web incorporados para rubi
- Servidores de desenvolvimento da web embutidos em Python
- Gerencie servidores de banco de dados incorporados (para caixa de uso de desktop-cGI):
- MySQL incorporado
- MongoDB incorporado
- PGSQL incorporado
- Trabalhando com SQLite
- Gerenciar processos (para o caso de uso de desktop-cGI):
- Outros processos ou funcionamentos executáveis
- Execute e gerencie executáveis / processos incorporados ou não incorporados na necessidade de aplicação
- Trabalhando com Config.json Arquivo para uma implementação mais simples em aplicativos
Status atual
- Em desenvolvimento [Teste de Caso de Uso de Desktop-CGI]
- Em desenvolvimento [teste para servidor de desenvolvimento baseado em linguagem]
Pendência
Verifique o arquivo .todo para obter mais recente lista de Todo
Licença
The MIT License (MIT) - Consulte a licença para obter mais detalhes
Copyright © 2019 - Till Library Works: ganesh b [email protected]
Apoie o desenvolvimento no repositório do GitHub por meio
- feature needs reporting,
- testing,
- issue reporting,
- contribution
Por favor, use esses estilos para contribuições