CGIJS
CGIJS - это библиотека для запуска любого режима CGI -режима / Interpreted language script , или подключиться к любым прокси -прокси -серверу веб -приложений, или управлять процессами в системе.
Библиотека CGIJS :
- Поддерживает запуск любых
Interpreted Language scripts CGI / интерпретируемых языков с использованием модуля процесса Nodejs в any OS , которая запускает node.js Нуждается в установке языкового интерпретатора в системе - [TODO] поддерживает запуск любых
Interpreted Language scripts CGI / интерпретируемых языков с использованием модуля библиотеки переводчиков в any OS , которая запускает node.js Не нуждается в установке языкового интерпретатора в системе - Поддерживает как исполняемые файлы
CGI , так и proxy на localhost / remote / embedded servers с использованием оформления нескольких протоколов ( http , websockets , tcp , udp , socks , ssh , ftp ). - Поддержки управления процессами, такими как исполняемые файлы
embedded server , встроенные исполняемые файлы database или any other исполняемые файлы встроенных/ не внедренных - Поддерживает работу с
shell , json , ini , csv , yaml и xml внутри
[Funding Invited]
Общее примечание: библиотека готова к производству. Однако, пожалуйста, будьте осторожны с процессами/разрешениями исполняемых файлов/безопасности в вашем проекте, используя CGIJS
История
CGIJS был создан с мотивацией, позволяющей создавать Desktop executable/ application с использованием Electron , который может запускать любые файлы/ приложения для сценариев языка CGI / Interpreted language scripted files/ applications под капотом.

Установка
Если вы хотите запустить интерпретируемые языки, такие как php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl с wasm files без наличия бинарного присутствия языка в вашей системе, затем используйте следующий упаковку.
npm install bridge-wasm --save
Функции
Легкий вес, гибкая, общая реализация. CGIJS является Nodejs Framework Independent / agnostic для разработки приложений.
Есть три основных модуля внутри CGIJS - file для выполнения файлов CGI, proxy для запуска прокси и process для управления процессами.
Примечание безопасности :
- Модуль Process Shell является агностиком безопасности и зависит от вашего кода.
- Пакет обращается к оболочке, чтобы запустить исполняемые сценарии с помощью модуля процесса Node.js. Пожалуйста, рассмотрим свои
security risks based on your executable's/ script's security risks .
- Прокси -модуль является агностиком безопасности и зависит от вашего кода и безопасности прокси.
-
package has a LAN or WAN network proxy module AND does not create any proxies - если только вы не указаны вами. Пожалуйста, рассмотрите риски безопасности вашего индивидуального созданного прокси.
-
package does not use Telemetry, nor Collect data Remotely, nor has Telemetry/Remote based Error collection .- Пакет пропускает ошибки, чтобы вы могли обрабатывать или собирать ошибки/ данные.
Библиотечные функции
Узел CGI встроенный - сценарии, которые поддерживают CGI с использованием Nodejs
Node Web Proxy - запустите веб -прокси
Процессы узлов - управление веб -серверами, процессами базы данных или другими системными процессами или службами
Детали функциональности
Скрипт должен поддерживать трубопровождение все файлы ниже интерпретируемых языков:
Сценарий должен поддерживать трудоустройство всех прокси выше языков и следующих:
Сценарий в настоящее время позволяет работать с (запуск, остановка, перезагрузка с помощью Bash, Bat Scripts) следующим образом веб -серверы:
Сценарий в настоящее время позволяет работать (запуск, остановка, перезапуск прокси) после веб -серверов:
Сценарий в настоящее время позволяет работать с (запуск, остановка, перезагрузка) после веб -серверов:
Сценарий в настоящее время позволяет работать (запуск, остановка, перезапуск) следующим образом с базами данных и процессами:
Примечание:
Эта библиотека находится в активной разработке. Проблемы и отзывы как билет GitHub приветствуются.
Зависимости от пакета:
Окружающая среда и библиотечная зависимости:
- Nodejs: (> 8.x),
- http-proxy для поддержки HTTP-Proxy,
- носки для поддержки носков,
- UDP-Proxy для поддержки UDP,
- SSH2 для SSH2, SSH, FTP, поддержка SFTP,
- сокет-прокси для сокета прокси,
- http-proxy to-socks для http to socks proxy,
- CSV для анализатора файлов,
- XML-JS для анализатора файла XML,
- Yaml для анализатора файлов yaml,
- INI для анализаторов файлов INI,
- dotenv для dotenv файлового анализатора,
- Shelljs для поддержки с Shell
- COMANDURENCE.JS для поддержки параллелистики и параллелей для потоков и процессов
Дополнительные необходимые зависимости для использования языковых переводчиков и библиотек для php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl с wasm files без необходимости установить (или не иметь) двоиков в вашей системе.
- Мост-волна для запуска интерпретируемых языков с WASM, не имея бинарного в вашей системе (установлен/ присутствует).
Зависимости приложения:
- Ваше приложение, вы решаете
- Пример/Демо имеет "Express": "^4.17.1"
- В качестве альтернативы используйте любую другую структуру Nodejs, которую вы хотите использовать для своего приложения
Демо использование:
Этот проект содержит пример, который демонстрирует работу с ExpressJS.
- Демо, для пробега CGI/интерпретируемых сценариев с помощью node.js и экспресс -приложений можно найти в приложении для демонстрации папки.
- Демо, для индивидуальной реализации модулей файла, процесса, прокси и UTIL, можно найти при использовании демонстрации папки [TODO]
В случае использования:
Библиотека CGIJS была создана для решения следующих случаев использования:
- Работа с CGI / интерпретируемыми языками из
any приложения node.js - Использование любых приложений CGI / интерпретируемых языков с электроном, как показано в функционирующем приложении Desktop-CGI
Технические спецификации
... * Вики ссылки должны быть добавлены
Вики
- Начиная
- Быстрая демонстрация - исполняемые файлы CGI Mode
- Быстрая демонстрация - Прокси до прокси/серверов
- Быстрая демонстрация - прокси для веб -сайта Proxy
- Быстрая демонстрация - оформление UDP, носки, http to socks proxy websocket websocket
- Запустите файлы CGI с использованием модуля процесса и двоичных файлов в системе
- Php (.php)
- Perl (Perl любые версии - .plc, .pld, .pl)
- Python (Python2, Python3 - .py)
- Руби (.rb)
- Node.js (.js)
- Запустите файлы CGI с помощью CGI-JS
wasm 'модуль- Php (.php)
- Perl (Perl любые версии - .plc, .pld, .pl)
- Python (Python2, Python3 - .py)
- Руби (.rb)
- Луа (.)
- Ржавчина (.)
- Голанг (.go)
- Cpython (.py)
- Джулия (.)
- R-lang (.)
- Запустите прокси -серверы для подключения к:
- Любые локальные серверы HTTP/HTTPS/WebSocket
- Любые удаленные серверы HTTP/HTTPS/WebSocket
- Встроенный Apache Httpd, Apache Tomcat, Nginx (http/https/websocket)
- Встроенный HTTP -сервер Mongoose (http/https)
- Управляйте встроенными серверами (для использования начинкой-CGI):
- Встроенный apache httpd (http/https/websocket)
- Встроенный Apache Tomcat (http/https/websocket)
- Встроенный HTTP -сервер Mongoose (http/https)
- Встроенный nginx (http/https/websocket)
- PHP встроенные серверы веб -разработки PHP
- Рубиновые встроенные серверы веб -разработки
- Серверы встроенных Python веб -разработки
- Управляйте встроенными серверами баз данных (для настольного варианта использования CGI):
- Встроенный MySQL
- Встроенный mongodb
- Встроенный PGSQL
- Работа с SQLite
- Управление процессами (для использования начинкой-CGI):
- Другие процессы или исполняемая работа
- Запустить и управлять встроенными или не внедренными исполняемыми файлами / процессами при необходимости применения
- Работа с файлом config.json для более простой реализации в приложениях
Текущий статус
- В разработке [тестирование для настольного варианта использования CGI]
- В разработке [тестирование на языковой сервер разработки]
Тодо
Проверьте .todo файл для последнего списка TODO
Лицензия
Лицензия MIT (MIT) - см. Лицензию для получения дополнительной информации
Copyright © 2019 - до библиотеки работы: Ganesh B [email protected]
Пожалуйста, поддержите разработку в репозитории GitHub через
- feature needs reporting,
- testing,
- issue reporting,
- contribution
Пожалуйста, используйте эти стили для вклада