# shellver

> Servidor tipo shell para node.js basado en socket.io. Incluye cliente html.

Latest version **1.0.0** (published 2023-03-14) · WTFPL license · 0 weekly downloads

## Install

```sh
npm install shellver
pnpm add shellver
yarn add shellver
bun add shellver
```

Provides the command `shellver-server`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.0 |
| Published | 2023-03-14 |
| First published | 2023-03-14 |
| Weekly downloads | 0 |
| License | WTFPL |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 6 |
| Unpacked size | 9.2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | allnulled |
| Maintainers | allnulled |

## Links

- npm: https://www.npmjs.com/package/shellver
- npm.io page: https://npm.io/package/shellver

## Dependencies (6)

- [cors](https://npm.io/package/cors.md) ^2.8.5
- [axios](https://npm.io/package/axios.md) ^1.3.4
- [express](https://npm.io/package/express.md) ^4.18.2
- [ps-list](https://npm.io/package/ps-list.md) ^8.1.1
- [socket.io](https://npm.io/package/socket.io.md) ^4.6.1
- [socket.io-client](https://npm.io/package/socket.io-client.md) ^4.6.1

## Recent versions

- 1.0.0 (latest) — 2023-03-14

## README

# shellver

Servidor tipo shell para node.js basado en socket.io. Incluye cliente html.

## Instalación

```sh
npm i -g shellver
```

## Explicación

Shellver está pensado para *(a) acelerar el desarrollo de aplicaciones cliente-servidor* y *(b) crear aplicaciones de escritorio* basadas en javascript del servidor y del cliente.

Se puede usar **castelog** o **javascript**.

## Uso

· Comando mínimo (levantar servidor y cliente):

```sh
shellver-server
  --password pass
  --port 9191
```

· Levantar servidor pero con cliente personalizado (facilitándole el directorio estático principal):

```sh
shellver-server
  --password pass
  --port 9191
  --app-directory cliente/personalizado
```

· Levantar servidor pero con cliente personalizado con url de apertura personalizada:

```sh
shellver-server
  --password pass
  --port 9191
  --app-directory cliente/personalizado
  --app-url-path fichero/personalizado
```

· Levantar servidor sin cliente (usable para hacking, porque se deja al cliente único del servidor remotable, sin especificar):

```sh
shellver-server
  --password pass
  --port 9191
  --no-gui
```

· Levantar servidor y cliente habilitando traceos de la ejecución:

```sh
shellver-server
  --password pass
  --port 9191
  --trace
```
## Guía de uso

La ayuda del programa la puedes ver usando `shellver --help`:

```sh
[ Welcome to «shellver-server» command line help ]

[ Usage: ]

~$   shellver-server
        --password $1        # required (text). also: -w
        --port $2            # required (number). also: -p
        --app-directory $3   # optional (text). also: -d
        --app-url-path $4    # optional (text). also: -u
        --app-extension $4   # optional (text). also: -x
        --no-gui             # optional (boolean). also: -n
        --trace              # optional (boolean). also: -t
        --help               # optional (boolean). also: -h

[ Notes: ]

  · If --no-gui is not specified, the gui is started
  · If --app-directory is not specified, the Shellver GUI app is set
    This means the app served as gui points to internal shellver gui source
    This means that changing this parameter, you can emulate your own desktop apps
  · If --app-url-path is not specified, the root "/" is set
    This means the app is opened on browser with "/" as appendix
    This means it will fallback automatically to the "/index.html" if so
  · If --app-extension is not specified, no file is loaded before server and socket connections
    This means if it is specified, the file is loaded as app extension
    This app_extension must be a js module that exports a function.
    This function is called.
  · If --trace is specified, it shows logs for each method and function run
  · If --help is specified, it shows this help and exits the program
```

## Uso avanzado

Por completar:

  - documentar el uso de `ShellverClient` como API cliente del navegador.
  - documentar el uso de `ShellverGui` como componente vue2.
  - documentar el uso de `ShellverGuiConsole` como componente vue2.


## ¿Por qué?

Electron ha cambiado las APIs, por cuestiones de seguridad, y ahora te obliga a importar los módulos node.js de uno en uno.

Shellver te permite, sin historias raras, usar node.js desde páginas HTML.

Puede usarse también como una herramienta de control remoto, donde inicias `shellver-server` en un puerto, y en un segundo comando, inicias `shellver-client` (desde otra máquina) para conectarse a él y comunicarse. Pero tampoco era la idea del proyecto, le tendría que agregar algunas funciones para dejarlo más fácil. Quizá más adelante.

---
_Source: https://npm.io/package/shellver · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
