
Nightos es un entorno de escritorio que se basa en una distribución de Linux personalizada. Utiliza la tecnología Electron y NodeJS para acceder al sistema de archivos, administrar las conexiones de red y administrar aplicaciones de manera segura.
Nightos funciona como una aplicación JavaScript muy grande, que se ejecuta en una base de Electron Linux +. Este proyecto tiene como objetivo demostrar el poder de JavaScript haciendo un sistema operativo completo con este idioma, por lo que la mayoría de las tareas que se pueden manejar se realizarán usando JS. El sistema Linux funciona como una interfaz, una capa que permite a JavaScript administrar las conexiones de red, acceder al disco duro y algunas otras cosas de bajo nivel.
Nightos es un sistema operativo puramente teórico. No sé si haré una versión laboral de Nightos algún día, e incluso si lo hago, ese será un sistema operativo muy no garantizado porque no sé muchas cosas sobre la seguridad de la programación (incluso cosas básicas como desbordamientos de búfer, Rops ...); De hecho, los únicos técnicos de seguridad que conozco son cosas generales como cifrado, certificados, suma de verificación e IPC, por ejemplo, no lo suficiente para un sistema completo.
De hecho, hice a Nightos más por diversión y usando más funciones profundas de JavaScript y Node.js. No apunto a hacer un sistema operativo mejor que Windows, Mac o Linux, sin siquiera hacer una alternativa a ellos. Hacer un sistema operativo lleno de JavaScript simplemente no es posible debido a muchos problemas, como la velocidad lenta de JS frente a los idiomas nativos como C ++ o Rust, y el problema para que los desarrolladores porten sus aplicaciones a Nightos (incluso si hay herramientas para eso, como Emscripten).
También es una forma de demostrar el poder del lenguaje JavaScript, que creo que es el más incomprendido en el mundo del desarrollo. Al hacer un sistema completamente funcional que administra un sistema de Linux, aplicaciones, un entorno de escritorio, múltiples cuentas de usuarios, varios procesos, una gran API y un aislamiento de procesos, creo que esta podría ser una gran prueba de que JavaScript es un lenguaje poderoso: cuando lo comprende y sabe cómo usar sus características profundas.
Publiqué dos versiones anteriores de Nightos. Puedes encontrarlos en mi GitHub: V1 y V2.
V1 tiene muchos problemas, y V2 no fue suficiente para ser un sistema operativo. Así que decidí reiniciar el proyecto desde cero, y mantener solo las ideas principales del proyecto (una seguridad realmente fuerte, permisos para aplicaciones ...) e hice esta nueva versión de Nightos.
Hay algunos puntos similares con las versiones más antiguas: el sistema todavía funciona con aplicaciones, que necesitan permisos para acceder al almacenamiento/web/administrar Windows/... pero ahora el sistema de permisos es mucho más fuerte, mucho permisivo y ahora es posible hacer aplicaciones desactivadas, programas que se ejecutan sin tener que ser instalados (como .exe en Windows, pero con permisos).
Entonces, incluso si encuentras las dos versiones antiguas realmente mal, esta es muy diferente, ¡así que espero que lo disfrutes;)!
Nightos puede ejecutarse en cualquier computadora de gama baja. No tiene que preocuparse por las actuaciones de su máquina. Si realmente quieres tener especificaciones, aquí hay:
¡Eso es todo! Relájate y disfruta :).
La instalación requiere NodeJS, NPM y GIT instalados en su máquina. En Linux, puede ejecutar sudo apt-get install nodejs npm git . En Windows, simplemente visite estos tres sitios web para obtener los programas de instalación de cada software.
Para instalar Nightos, abra una línea de comandos y ejecute el siguiente código:
git clone https://github.com/ClementNerma/NightOS # Download NightOS
cd NightOS # Go to the NightOS directory
npm install # Install the npm dependencies
npm start # Start NightOS ; `node start.js` also worksTambién puede ejecutar nightos en modo de desarrollo (ver más en los documentos):
# The simple way
npm run devEste proyecto se publica bajo la Licencia Pública General de GNU (GPL). Si desea editar mi trabajo y publicar modificaciones, contácteme primero para que pueda ver por qué y cómo modificó Nightos, incluso si no está obligado a hacerlo. Hice este proyecto principalmente por diversión y demostré el poder del JavaScript, por lo que me gustaría saber qué mejoras se pueden hacer.
Algunas de las fuentes no se pueden usar bajo los términos GPL; Debe consultar su licencia original.
El software se proporciona "tal cual" y el autor renuncia a todas las garantías con respecto a este software, incluidas todas las garantías implícitas de comerciabilidad y estado físico. En ningún caso, el autor será responsable de ningún daño especial, directo, indirecto o consecuente o daños que resulten de la pérdida de uso, datos o ganancias, ya sea en una acción de contrato, negligencia u otra acción tortuosa, que surja de o en relación con el uso o rendimiento de este software.
Nightos fue construido con NodeJS y Electron. Los íconos son de Icons8, Joe Parks y Font-Awesome.