Estoy planeando crear una versión de escritorio de mi aplicación web. Pero me temo que el código del servidor también puede ser visto por el usuario final. Porque en el escritorio todo es JavaScript, a diferencia de los archivos .exe. Estoy usando APP.js.

Editar: ¿Hay alguna forma de ocultar nuestro código?

0
Sarath Kumar 30 oct. 2017 a las 16:45

4 respuestas

La mejor respuesta

Dar su ejecutable a las personas significa que podrán obtener su lógica original y comprender exactamente cómo funciona su código, los archivos .exe tampoco están seguros de esto, ya que están abiertos a la ingeniería inversa.

Sugiero buscar en la ofuscación binaria y de código.

3
user3076936 30 oct. 2017 a las 13:54

He usado zeit / pkg, para empaquetar la aplicación nodejs. Oculta todo el código fuente y crea un único ejecutable para diferentes plataformas.

Agregue el siguiente código para trabajar con pkg en la aplicación Nodejs:

package.json

"main": "app.js",
"scripts": {
"start": "npm start"
 },
"bin" : "$DIR\node_modules\npm\cli.js"

Luego ejecute el comando paquete.

Nota :

1) También puede empaquetar directamente app.js (en caso de que no tenga otros activos para agregar en el paquete) por comando:

pkg app.js

2) Creará ejecutables en su directorio de trabajo actual.

3) También puede dar un punto de entrada en "bin":

Ejemplo:

package.json

"main": "app.js",
"scripts": {
"start": "npm start"
 },
"bin" : "./bin/my-bin.js"

bin / my-bin.js

#!/usr/bin/env node

var join = require('path').join
var childProcess = require('child_process');
var args = process.argv.slice(2);

 args.unshift(__dirname + '/../'); 

childProcess.exec('npm start', (err, stdout) => {
if (err) console.log(err);
console.log(stdout);
})

Luego, en el directorio de trabajo actual,

Correr

pkg .
0
Swapnil Hadge 17 may. 2018 a las 19:41

Con NW.js puede compilar su archivo JS en código de bytes / código de máquina sin distribuir su archivo JS. Consulte http: //docs.nwjs. io / es / latest / Para% 20Users / Advanced / Protect% 20JavaScript% 20Source% 20Code /

1
Roger Wang 31 oct. 2017 a las 03:12

Puede usar un empaquetador de nodos como https://github.com/zeit/pkg Empaquetará y prepárelo para distribuirlo en una plataforma diferente sin ningún js dentro.

1
davidonet 30 oct. 2017 a las 14:27