cgijs
CGIJS ist eine alle ausgestellten Bibliothek, in der alle CGI -Modus- / Interpreted language script ausgeführt oder mit Proxies für Webanwendungsserver eine Verbindung hergestellt oder Prozesse im System verwaltet werden.
CGIJS -Bibliothek:
- Unterstützt das Ausführen von
CGI / Interpreted Language scripts mithilfe des NodeJS -Prozessmoduls in any OS , das node.js ausgeführt wird. Muss der Sprachinterpretor im System installiert werden - [TODO] unterstützt das Ausführen von
CGI / Interpreted Language scripts mithilfe von Interpretationsbibliotheksmodul in any OS , das node.js ausführt. Benötigen Sie nicht, dass der Sprachinterpretor im System installiert wird - Unterstützt sowohl
CGI Executables als auch proxy an localhost / remote / embedded servers mit dem Proxying mehrerer Protokolle ( http , websockets , tcp , udp , socks , ssh , ftp ). - Unterstützt das Verwalten von Prozessen wie
embedded server , eingebettete database ausführbare Datenbanken oder any other eingebettete/ nicht eingebettete Executableses - Unterstützt die Arbeit mit
shell , json , ini , csv , yaml und xml innen
[Funding Invited]
Allgemeiner Hinweis: Die Bibliothek ist Produktionsbereit. Bitte seien Sie jedoch vorsichtig mit Prozessen/ausführbaren Berechtigungen/Sicherheit in Ihrem Projekt mit CGIJs
Geschichte
CGIJS wurde mit einer Motivation erstellt, um die Erstellung eines Desktop executable/ application mit Electron zu ermöglichen, mit dem alle CGI / Interpreted language scripted files/ applications unter der Haube ausgeführt werden können.

Installation
Wenn Sie interpretierte Sprachen wie php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl mit wasm files verwenden möchten, verwenden Sie das folgende Paket.
npm install bridge-wasm --save
Merkmale
Leichte, flexible, generische Implementierung. CGIJS ist NodeJS Framework Independent / agnostic für die Anwendungsentwicklung.
Es gibt drei Hauptmodule in CGIJS - file für die CGI -Dateiausführung, proxy für das Ausführen von Proxys und process zum Verwalten von Prozessen.
Sicherheitsnotiz :
- Das Prozess -Shell -Modul ist sicherlich agnostisch und hängt von Ihrem Code ab.
- Das Paket greift auf die Shell zu, um Skript -ausführbare Ausführungen mithilfe des Prozessmoduls node.js auszuführen. Bitte betrachten Sie Ihre
security risks based on your executable's/ script's security risks .
- Das Proxy -Modul ist sicherlich agnostisch und hängt von Ihrem Code und Ihrer Proxy -Sicherheit ab.
- Das
package has a LAN or WAN network proxy module AND does not create any proxies - sofern von Ihnen nicht angegeben. Bitte betrachten Sie die Sicherheitsrisiken Ihres benutzerdefinierten Proxy.
- Das
package does not use Telemetry, nor Collect data Remotely, nor has Telemetry/Remote based Error collection für sich genommen.- Das Paket motiviert Fehler, mit denen Sie Fehler/ Daten behandeln oder erfassen können.
Bibliotheksfunktionen
Knoten CGI Embedded - Run Interpretierte Skripte, die CGI mithilfe von NodeJs unterstützen
Node Web Proxy - Web -Proxies ausführen
Knotenprozesse - Verwalten Sie Webserver, Datenbankprozesse oder andere Systemprozesse oder Dienste
Funktionalitätsdetails
Das Skript sollte die Rohrleitungen aller Dateien von unten interpretierten Sprachen unterstützen:
Das Skript sollte die Rohrleitungen aller Proxys der obigen Sprachen und Folgen unterstützen:
Das Skript ermöglicht derzeit das Arbeiten mit Bash -Skripten (Starten, Stoppen, Neustarten mit Bash, Fledermausskripten) folgenden Webservern:
Das Skript ermöglicht derzeit die Arbeit mit (Starten, Stoppen, Neustarten von Proxies) nach Webservern:
Das Skript ermöglicht derzeit das Arbeiten mit (Starten, Stoppen, Neustarten) nach Webservern:
Das Skript ermöglicht derzeit das Arbeiten mit (Starten, Stoppen, Neustarten) nach Datenbanken und Prozessen:
Notiz:
Diese Bibliothek befindet sich in aktiver Entwicklung. Probleme und Feedbacks als Github -Ticket sind willkommen.
Paketabhängigkeiten:
Umwelt- und Bibliotheksabhängigkeiten:
- Nodejs: (> 8.x),
- HTTP-Proxy für HTTP-Proxy-Unterstützung,
- Socken für Sockenunterstützung,
- UDP-Proxy für UDP-Unterstützung,
- SSH2 für SSH2, SSH, FTP, SFTP -Unterstützung,
- Socket-Proxy für Socket Proxy,
- http-proxy-to-socks für HTTP zu Sockenproxy,
- CSV für Dateiparser,
- XML-JS für XML-Datei Parser,
- YAML für YAML -Datei Parser,
- INI für Ini Datei Parser,
- DOTENV für DOTENV -Datei Parser,
- Shelljs zur Unterstützung mit Shell
- Contracecy.js für Parallelität und Parallelisierungsunterstützung für Threads und Prozesse
Extra benötigte Abhängigkeiten für Sprachinterpretoren und Bibliotheken für php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl mit wasm files , ohne in Ihrem System zu installieren (oder haben) Binäre in Ihrem System zu installieren (oder haben) in Ihrem System zu installieren (oder zu haben) in Ihrem System in Ihrem System
- Bridge-Wasmus für das Laufen interpretierter Sprachen mit WASM ohne Binärdatum in Ihrem System (installiert/ vorhanden).
Anwendungsabhängigkeiten:
- Ihre App, Sie entscheiden
- Beispiel/Demo hat "Express": "^4.17.1"
- Verwenden Sie alternativ ein anderes NodeJS -Framework, das Sie für Ihre App verwenden möchten
Nutzungsdemo:
Dieses Projekt enthält ein Beispiel, das die Arbeit mit ExpressJs zeigt.
- Die Demos für die Ausführung von CGI/Interpreted -Skripten mit Node.js und Expressanwendungen finden Sie in der Ordner -Demo -App.
- Die Demos für die individuelle Implementierung von Datei-, Prozess-, Proxy- und Utils -Modulen finden Sie in der Ordner -Demo -Verwendung [Todo]
Anwendungsfall:
Die CGIJS -Bibliothek wurde erstellt, um die folgenden Anwendungsfälle zu beheben:
- Arbeiten mit CGI / Interpretierten Sprachen aus
any Node.js App -Framework - Verwenden von Apps mit CGI / Interpreted-Sprachen mit Elektronen, wie in funktionierender Desktop-CGI-App demonstriert
Technische Spezifikationen
... * Wiki -Links, die hinzugefügt werden sollen
Wiki
- Erste Schritte
- Schnelle Demo - CGI -Modus -ausführbare Dateien
- Schnelle Demo - Proxen zu Proxies/Servern
- Schnelle Demo - Proxying zum Websocket von Proxy
- Schnelle Demo - Proxying zu UDP, Socken, HTTP zu Sockenproxy von WebSocket
- Führen Sie CGI -Dateien mit dem Prozessmodul und Binärdateien im System aus
- PHP (.php)
- Perl (perl alle Versionen - .plc, .pld, .pl)
- Python (Python2, Python3 - .py)
- Ruby (.RB)
- Node.js (.js)
- Führen Sie CGI-Dateien mit CGI-Js aus
WASM` -Modul- PHP (.php)
- Perl (perl alle Versionen - .plc, .pld, .pl)
- Python (Python2, Python3 - .py)
- Ruby (.RB)
- Lua (.)
- Rost (.)
- Golang (.go)
- Cpython (.py)
- Julia (.)
- R-lang (.)
- Führen Sie Proxy -Server aus, um eine Verbindung zu::
- Alle lokalen HTTP/HTTPS/WebSocket -Server
- Remote HTTP/HTTPS/WebSocket -Server
- Eingebettete Apache Httpd, Apache Tomcat, Nginx (http/https/webocket)
- Eingebetteter Mongoose HTTP -Server (HTTP/HTTPS)
- Verwalten Sie eingebettete Server (für Desktop-CGI-Anwendungsfall):
- Eingebettete Apache HTTPD (http/https/webocket)
- Eingebetteter Apache Tomcat (http/https/webocket)
- Eingebetteter Mongoose HTTP -Server (HTTP/HTTPS)
- Eingebettet Nginx (http/https/webSocket)
- PHP eingebaute Webentwicklungsserver
- Ruby Inbuilt Web Development Servers
- Python eingebaute Webentwicklungsserver
- Verwalten Sie eingebettete Datenbankserver (für Desktop-CGI-Anwendungsfall):
- Eingebettete MySQL
- Eingebetteter MongoDB
- Eingebettete PGSQL
- Arbeiten mit SQLite
- Prozesse verwalten (für Desktop-CGI-Anwendungsfall):
- Andere Prozesse oder ausführbare Funktionen
- Führen Sie eingebettete oder nicht eingebettete ausführbare Ausführungsbereiche / Prozesse aus und verwalten Sie sie bei Bedarf an Anwendung
- Arbeiten mit config.json -Datei für eine einfachere Implementierung in Apps in Apps
Aktueller Status
- In der Entwicklung [Tests für Desktop-CGI-Anwendungsfall]
- In der Entwicklung [Tests für sprachbasierte Entwicklungsserver]
Todo
Überprüfen Sie .Todo -Datei für die neueste Todo -Liste
Lizenz
Die MIT -Lizenz (MIT) - Weitere Informationen finden Sie in Lizenz
Copyright © 2019 - Bis Bibliothek funktioniert: ganesh b [email protected]
Bitte unterstützen Sie die Entwicklung im Github -Repository durch
- feature needs reporting,
- testing,
- issue reporting,
- contribution
Bitte verwenden Sie diese Stile für Beiträge