What is javascript cgi

Saved searches

Use saved searches to filter your results more quickly

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Run cgi / interpreted script files that supports command line execution, or connect to cgi / other server proxies : npm install cgijs —save

License

cgi-js/cgi-js

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Sign In Required

Please sign in to use Codespaces.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

CGIJS is a all featured library to run any CGI mode / Interpreted language script files, or connect to any web application server proxies, or manage processes in the system.

  • Supports running any CGI / Interpreted Language scripts using the nodejs process module in any OS that runs node.js . Needs the language interpretor to be installed in the system
  • [TODO] Supports running any CGI / Interpreted Language scripts using interpreters library module in any OS that runs node.js . Do not need the language interpretor to be installed in the system
  • Supports both CGI executables as well as proxy to localhost / remote / embedded servers using proxying of multiple protocols ( http , websockets , tcp , udp , socks , ssh , ftp ).
  • Supports managing processes like embedded server executables, embedded database executables, or any other embedded/ non-embedded executables
  • Supports working with shell , json , ini , csv , yaml , and xml internally

General Note: The library is production ready. However, please be cautious of processes/executables permissions/security in your project using CGIJS

CGIJS was created with a motivation to allow creation of a Desktop executable/ application using Electron that can run any CGI / Interpreted language scripted files/ applications under the hood.

Desktop CGI

If you wish to run interpreted languages like php , perl , python , micropython , cpython , ruby , julia , cpp , golang , ocaml , lua , napi , wasm-run , r-lang , openssl with wasm files without having the language’s binary present/ installed in your system then use the following package.

npm install bridge-wasm --save 

Light weight, Flexible, Generic implementation. CGIJS is Nodejs Framework Independent / agnostic for application development.

There are three main modules inside CGIJS — file for CGI file execution, proxy for running proxies, and process for managing processes.

SECURITY NOTE:

  • The process shell module is security agnostic and is dependant on your code.
    • The package accesses the shell to run script executables using the node.js process module. Please consider your security risks based on your executable’s/ script’s security risks .
    • The package has a LAN or WAN network proxy module AND does not create any proxies by its own — unless specified by you. Please consider your custom created proxy’s security risks.
    • The package propogates errors for you to handle or collect errors/ data.

    Node CGI Embedded — run interpreted scripts that support cgi using nodejs

    • CGI file execution
      • Run any scripts that support CGI based serving/execution
      • Run multiple CGI executables/ Interpreters in one or multiple applications
      • Embed your own CGI/ Interpreted Language executables
      • Runs scripts with language interpretor binary (like php, python, ruby, etc) in your system
      • Runs scripts without language interpretor binary (like php, python, ruby, etc) in your system using their wasm packages

      Node Web Proxy — run web proxies

      • Running Proxies
        • Run any host that serves a web app, using proxy
        • Run proxies for Application (Local / Remote)
        • Supports websocket implementation in web proxies
        • Run multiple protocol proxies (HTTP, UDP, TCP, Websockets, Socks) and multiple instances in one or multiple applications

        Node Processes — Manage web servers, database processes, or other system processes or services

        • Manage Processes or Services
          • Allows running and closing process Executables
          • Allows managing Embedding Web Servers, which can run web applications through proxies [Todo] Testing for some embeddable servers
          • Allows managing Embedded Database servers [Todo] Testing for some embeddable servers
          • Should run smoothly with Unsupported proxy servers/ processes/ services (not widely tested)
          • Multiple web servers in one or multiple applications
          • Multiple databases in one or multiple applications

          The script should support piping all files of below interpreted languages:

          • Python (2.x, 3.x) — py (for Python .py extension files. Needed for *nix systems)
          • Perl (Version Independent) — plc , pld , pl (for Perl .pl, .plc, .pld extension files)
          • PHP (Version Independent) — php (for .php extension files)
          • Ruby (Version Independent) — rb (for Ruby .rb extension files)
          • Node.js (Version Independent) — js (for Node.js .js extension files)
          • CGI — cgi (for CGI .cgi extension files) [Todo Testing]

          The script should support piping all proxies of above languages and following:

          • Jsp (With Tomcat, or any webserver as proxy)
          • Aspx (With IIS, Apache, or any webserver as proxy)
          • [] Jsp (With Tomcat embedded) [Todo]
          • [] Aspx (With Nginx and Apache embedded) [Todo]

          The script currently allows working with (starting, stopping, restarting using bash, bat scripts) following web servers:

          • IIS [Done]
          • Nginx [Done]
          • Apache HTTPD [Done]
          • Apache TomCat [Done]
          • Nginx (Allows Embed) [Done]
          • Apache HTTPD (Allows Embed) [Done]
          • Apache TomCat (Allows Embed) [Todo — Testing], should work based on current testing of other proxies
          • Mongoose [Todo — Testing], should work based on current testing of other proxies
          • Jetty [Todo — Testing], should work based on current testing of other proxies
          • Putty [Todo — Testing], should work based on current testing of other proxies
          • [] Mongoose (Allows Embed) [Todo — Testing]
          • [] Jetty (Allows Embed) [Todo — Testing]
          • Putty (Allows Embed) [Todo — Testing]
          • PHP development server using php -S
          • Ruby development server using rails server [Todo — Testing]
          • Python development server using py -m http.server
          • [] Other Proxy-able local/remote servers [InProgress]

          The script currently allows working with (starting, stopping, restarting proxies) following web servers:

          • IIS [Done]
          • Nginx [Done]
          • Apache HTTPD [Done]
          • Apache TomCat [Done]
          • Nginx (Allows Embed) [Done]
          • Apache HTTPD (Allows Embed) [Done]
          • Apache TomCat (Allows Embed) [Todo — Testing], should work based on current testing of other proxies
          • Mongoose [Todo — Testing], should work based on current testing of other proxies
          • Jetty [Todo — Testing], should work based on current testing of other proxies
          • Putty [Todo — Testing], should work based on current testing of other proxies
          • [] Mongoose (Allows Embed) [Todo — Testing]
          • [] Jetty (Allows Embed) [Todo — Testing]
          • Putty (Allows Embed) [Todo — Testing]
          • PHP development server using php -S
          • Ruby development server using rails server [Todo — Testing]
          • Python development server using py -m http.server
          • [] Other Proxy-able local/remote servers [InProgress]

          The script currently allows working with (starting, stopping, restarting) following web servers:

          • IIS [Done]
          • Nginx [Done]
          • Apache HTTPD [Done]
          • Apache TomCat [Done]
          • Nginx [Done]
          • Apache HTTPD [Done]
          • Apache TomCat [Todo — Testing], should work based on current testing of other proxies
          • Mongoose [Todo — Testing], should work based on current testing of other proxies
          • Jetty [Todo — Testing], should work based on current testing of other proxies
          • Putty [Todo — Testing], should work based on current testing of other proxies
          • [] Mongoose (Allows Embed) [Todo — Testing]
          • [] Jetty (Allows Embed) [Todo — Testing]
          • Putty (Allows Embed) [Todo — Testing]
          • PHP development server using php -S
          • Ruby development server using rails server [Todo — Testing]
          • Python development server using py -m http.server
          • [] Other Proxy-able local/remote servers [InProgress]

          The script currently allows working with (starting, stopping, restarting) following databases and processes:

          • Mysql [Done]
          • MongoDB [Done]
          • [] PgSQL [Todo]
          • [] Redis [Todo]
          • bash, bat, ps scripts [Done]
          • Other Processes for your application support

          This library is in active development. Issues, and feedbacks as github ticket are welcome.

Оцените статью