
Nightos é um ambiente de desktop que é baseado em uma distribuição Linux personalizada. Ele usa a tecnologia Electron e NodeJS para acessar o sistema de arquivos, gerenciar as conexões de rede e gerenciar aplicativos com segurança.
Nightos trabalha como um aplicativo JavaScript muito grande, que é executado em uma base de elétrons Linux +. Este projeto tem como objetivo demonstrar o poder do JavaScript, criando um sistema operacional completo com esse idioma; portanto, a maioria das tarefas que podem ser tratadas será feita usando JS. O sistema Linux funciona como uma interface, uma camada que permite ao JavaScript gerenciar as conexões de rede, acessar o disco rígido e algumas outras coisas de baixo nível.
Nightos é um sistema operacional puramente teórico. Não sei se vou fazer uma versão em funcionamento de Nights um dia, e mesmo se eu o fizer, esse será um sistema operacional muito garantido, porque não sei muitas coisas sobre a programação de segurança (mesmo coisas básicas como buffer transbordando, ROPS ...); De fato, os únicos técnicos de segurança que conheço são coisas gerais, como criptografia, certificados, somas de verificação e IPC, por exemplo - de maneira alguma para um sistema completo.
Na verdade, eu fiz Nightos mais por diversão e usando mais recursos de JavaScript e Node.js profundos. Não pretendo fazer um sistema operacional melhor do que o Windows, Mac ou Linux - nem mesmo fazendo uma alternativa a eles. Fazer um sistema operacional cheio de JavaScript simplesmente não é possível devido a muitos problemas, como a velocidade lenta do JS na frente de idiomas nativos como C ++ ou Rust, e o problema para os desenvolvedores portarem seus aplicativos para Nightos (mesmo que haja ferramentas para isso, como o EMScriptten).
É também uma maneira de demonstrar o poder da linguagem JavaScript, que acho que é a mais incompreendida no mundo do desenvolvimento. Ao tornar um sistema totalmente funcional que gerencia um sistema Linux, aplicativos, um ambiente de desktop, várias contas de usuário, vários processos, uma grande API e processos de isolamento, acho que isso pode ser uma ótima prova de que o JavaScript é um idioma poderoso - quando você o entende e sabe como usar seus recursos profundos.
Eu publiquei duas versões anteriores de Nightos. Você pode encontrá -los no meu github: v1 e v2.
V1 tem muitos problemas e a V2 não foi suficiente para ser um sistema operacional. Por isso, decidi reiniciar o projeto do zero e manter apenas as principais idéias do projeto (uma segurança realmente forte, permissões para aplicativos ...) e fiz esta nova versão do Nightos.
Existem alguns pontos semelhantes com as versões mais antigas: o sistema ainda funciona com aplicativos, que precisam de permissões para acessar o armazenamento/web/gerenciar Windows/... mas agora o sistema de permissões é muito mais forte, muito permissivo e agora é possível fazer aplicativos não embalados, programas que são executados sem ter que ser instalados (como .exe nas janelas, mas com permissões).
Então, mesmo se você achar as duas versões antigas muito ruins, esta é muito diferente, então espero que você goste;)!
Nightos pode executar em qualquer computadores de baixo custo. Você não precisa se preocupar com as performances da sua máquina. Se você realmente quer ter especificações, aqui estão:
Isso é tudo! Relaxe e aproveite :).
A instalação requer nodejs, npm e git instalados em sua máquina. No Linux, você pode executar sudo apt-get install nodejs npm git . No Windows, basta visitar esses três sites para obter os programas de instalação de cada software.
Para instalar o Nightos, abra uma linha de comando e execute o seguinte 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 worksVocê também pode correr Nightos no modo de desenvolvimento (veja mais nos documentos):
# The simple way
npm run devEste projeto é divulgado sob a licença pública geral da GNU (GPL). Se você deseja editar meu trabalho e publicar modificações, entre em contato comigo primeiro para que eu possa ver o porquê e como você modificou o Nightos - mesmo que você não seja forçado. Fiz esse projeto principalmente para me divertir e demonstro o poder do JavaScript, então gostaria de saber quais melhorias podem ser feitas.
Algumas das fontes não podem ser usadas nos termos da GPL; Você deve se referir à licença original deles.
O software é fornecido "como está" e o autor se isenta de todas as garantias em relação a este software, incluindo todas as garantias implícitas de comercialização e condicionamento físico. Em nenhum caso o autor será responsável por quaisquer danos especiais, diretos, indiretos ou conseqüentes ou quaisquer danos resultantes da perda de uso, dados ou lucros, seja em uma ação de contrato, negligência ou outra ação tortuosa, decorrente de ou em conexão com o uso ou desempenho deste software.
Nightos foi construído usando nodejs e elétrons. Os ícones são de icons8, Joe Parks e fontes.