jslinux - executando outros sistemas operacionais dentro do navegador

jslinux - executando outros sistemas operacionais dentro do navegador

 Fabrice Bellard desenvolveu um emulador em JavaScript permitindo rodar outros sistemas operacionais dentro do navegador. Para quem não sabe quem é Fabrice Bellard, Fabrice Bellard é o cara que criou o QEMU. Só que Fabrice não é conhecido somente pelo QEMU; é conhecido também pelo FFMPEG, ganhador de premio de matemática, vários outros projetos que podem ser conferidos clicando aqui e inclusive o seu compilador TinyCC já foi tema no meu canal:


 Se juntarmos as ferramentas de Felix von Leitner (criador da Dietlibc), Fabrice Bellard e Rob Landley, podemos dizer que as ferramentas dos caras constituem um sistema operacional quase completo.

 Em 2018 Fabrice Bellard disponibilizou o JSLinux, uma nova ferramenta onde você pode rodar outros sistemas operacionais direto do navegador. A história é um pouco mais antiga pois seu desenvolvimento foi iniciado em 2011, recebeu modificações em 2015 e melhorias em 2016. Ainda é bem limitado (suporte somente para X86 e RiscV64; aos sistemas Alpine Linux, Fedora 29, Buildroot, Windows 2000 e FreeDOS. Além de limitação de uso) mas achei interessante compartilhar somente como base de conhecimento.
 Cada vez mais novos recursos são agregados aos navegadores ao ponto de se tornarem mais do que simplesmente navegadores. Estamos chegando a um ponto onde os navegadores serão mais como um sistema operacional somente dependendo do kernel de um sistema operacional.

 De certa forma eu acho a ideia de aplicações sendo executadas dentro dos navegadores muito interessante por não limitar a qual sistema operacional que se utiliza (Linux, Windows, MacOS ou seja lá o que for) ou a qual arquitetura. A limitação poderá ocorrer em qual navegador a aplicação funciona melhor (e é claro que é pequenos detalhes como em qual sistema operacional o navegador funciona melhor ou possuir tais recursos de sua API), mas acredito que aplicações é uma iniciativa que já há muito tempo deveria estar em atividade.

ZFS VS Btrfs#1 Quem vence essa batalha?

ZFS VS Btrfs#1 Quem vence essa batalha?

 Que o ZFS é um sistema de arquivos poderoso, isso todo mundo sabe. Mas será que as pessoas  realmente conhecem o verdadeiro poder que o Btrfs possui? Assunto um tanto quanto polêmico, mas estou dando inicio a essa mini série analisando o que ambos os sistemas de arquivos  comparando o que possuem em comum e depois analisar seus prós e contras. Não entro no mérito de licenças pois, além de ser um assunto já muito debatido, entro na questão somente de recursos.


 Há algum recurso que tanto o Btrfs quanto o ZFS possuem em comum que você conhece e que eu não mencionei? Deixe seu comentário ;)

Lançado novo Minicurso de atributos no Linux

Entendendo Copy-on-Write de forma simples

Entendendo Copy-on-Write de forma simples

 A partir da semana que vem eu vou iniciar uma minissérie chamada ZFS vs Btrfs e nada melhor do que tratar sobre Copy-on-Write (ou simplesmente CoW) antes de dar inicio já que tal recurso é o grande destaque de ambos os sistemas de arquivos. Então irei tratar de Copy-on-write nesta live e por aqui você poderá acompanhar os prints da minha explicação a medida que vou desenrolando o assunto.








Conheça o Pi-Hole e recupere o controle sobre sua rede



Conheça o Pi-Hole e recupere o controle sobre sua rede

O Raspberry Pi e outros pequenos computadores dominaram o mundo dos hobbystas 
em tecnologia, robótica e projetos caseiros. Pequenos, relativamente baratos, e com alta performance energética, os dispositivos conseguem rodar versões completas do Linux e interagir com diversos periféricos e hardware adicional, ou seja, essencialmente, não há limites nas interações e automatizações que o Raspberry Pi pode fazer. 

Muitos usuários comuns, que ainda não estão familiarizados com o Linux, já embarcaram no mundo do Raspberry Pi para criar centrais multimídia usando software como o Kodi, criar sistemas de segurança IoT, adicionar uma central de emuladores retro para jogar na TV, e muito mais, graças à abundância de tutoriais e recursos para ajudar no caminho.

A mais nova utilidade dos pequenos computadores é possibilitar o controle total em sua rede. Imagine todos os sites fraudulentos, anúncios inconvenientes, e tudo o que considerar indesejado, automaticamente bloqueado em todos os dispositivos de sua rede, sem latência perceptível e sem o gasto de CPU que uma extensão de navegador adicionaria. Ficou interessado? Então aprenda a configurar o Pi-Hole! 

Vale notar, antes de tudo, que o Pi-Hole funciona como uma versão “melhorada” e personalizável de um servidor de DNS, ou seja, pode bloquear diversos domínios e otimizar o trajeto da conexão, mas ele não é capaz de criptografar os dados em trânsito, então para quem precisa de uma camada extra de segurança ou privacidade, é preciso configurar uma VPN antes de investir em um Raspberry Pi. 

O que é DNS


Para entender o funcionamento do Pi-Hole que será instalado na distro Linux de seu Raspberry Pi, precisamos compreender o papel do DNS em nossa rede: 

Quando acessamos um site ou servidor, estamos nos conectando através de uma série de protocolos de rede até um endereço IP externo, por exemplo, “172.217.29.46”. Acontece que lembrar uma sequência de números para cada site seria pouco amigável para os usuários e confuso, assim, usamos um endereço como “www.google.com”. 

Dessa forma, nossos dispositivos precisam traduzir o endereço amigável em um endereço IP utilizável. O DNS é o serviço responsável por essa transição, mantendo uma lista atualizada de endereços e IPs de destino, fornecendo aos dispositivos sempre que necessário. Geralmente, nosso roteador usa o DNS da Google ou, mais frequentemente, o DNS da própria operadora. 


Pi-Hole DNS


Agora que entendemos como funciona o DNS, podemos entender o Pi-Hole. O software roda em segundo plano em qualquer sistema Linux, mas é otimizado para o baixo consumo de energia do Raspberry Pi. Uma vez instalado, o programa se torna o DNS para toda a sua rede, ou seja, seus computadores, celulares, consoles, TVs, e qualquer aparelho conectado, irão perguntar ao Pi-Hole quando tentarem se conectar a algum site.

Essa interceptação do DNS permite que o Pi-Hole bloqueie certos endereços, por exemplo, um servidor de coleta de dados para anúncios ou uma URL de um site de golpes. Como isso é feito a nível de DNS, os dados sequer chegam ao computador, assim, não é necessário bloquear elementos ou usar JavaScript para controlar a página, como uma extensão faria. 

Da mesma forma, por mediar toda a rede, qualquer dispositivo conectado estará protegido pelo controle, sem a necessidade de manualmente instalar uma solução em cada aparelho. Além disso, o Pi-Hole terá efeito em dispositivos onde normalmente não encontramos programas para bloquear anúncios ou phishing, como é o caso de consoles de videogame. 

Como instalar o Pi-Hole no Raspberry Pi


As instruções de instalação servem para qualquer distro Linux, e são fáceis para quem já usou o sistema. Para instalar o Pi-Hole, abra uma janela do Terminal e insira os comandos:
  1. sudo apt-get update
  2. sudo apt-get upgrade
  3. sudo curl -sSL https://install.pi-hole.net | sudo bash
  Pronto, o Pi-Hole em sua versão mais recente estará instalado e rodando em segundo plano. Se tudo deu certo, os dispositivos de sua rede já usarão o DNS falso assim que forem reiniciados, mas caso não tenha efeito, basta verificar o IP local de seu Raspberry Pi e usar como valor DNS nas configurações de redes de todos os dispositivos. 

O Pi-Hole possui uma série de configurações opcionais, como listas de domínios para permitir ou bloquear, opções para controlar JavaScript, entre outras. Abrir o arquivo “/etc/dnsmasq.d/01-pihole.conf” com um editor de texto permite alterar muitas das configurações do seu Pi-Hole.

Agora, sua rede já está pronta para bloquear domínios indesejados usando o Raspberry Pi, e o melhor, o Pi-Hole não é pesado e permite que outros recursos do Linux sejam usados simultaneamente. Assim, seu emulador na televisão ou central de mídia podem continuar em execução. Gostou? Então confira o emulador ReDream para Raspberry Pi e jogue os clássicos do Dreamcast. 




Lançado toybox 0.8.4

lançado toybox 0.8.4

 Toybox é um terminal de comandos que visa ser similar ao Busybox porém mantendo a característica de possuir o código mais limpo, mais simples, menor e consequentemente mais fácil de manter. Perguntado se será possível ao toybox substituir o Dash, Rob Landley respondeu que na verdade visa substituir o Bash. O que não é uma má ideia e assim espero (apesar de a minha preferencia ser o Zsh). Mas ambos os terminais (tanto Zsh quanto toybox) foram essenciais para que eu desenvolver tanto o meu curso de migração para Linux quanto o meu mini curso de atributos no Linux.

 No dia 24 de Outubro foi lançado (depois de um período bem turbulento de desenvolvimento) a versão 0.8.4 do terminal de comandos toybox. É claro que houveram correções de bugs, limpeza no código e melhorias na biblioteca. Mas o que geralmente nos interessa é o que há de novo (natural no ser humano). São cinco novos comandos que foram promovidos (passando de 205 comando da versão 0.8.3 para 210 comandos na versão 0.8.4) mas as maiores novidades nesta versão são os comandos sha3sum e watchdog. Outros dois comandos que eu não pude deixar de notar são o sh e o toysh que nos permitem adotar o toybox como terminal de comandos como padrão e são estes comandos que permitem tornar o Android como um sistema Self-hosting como mencionei no lançamento da versão 0.8.1.

sh e toysh no toybox

 Não deixei de notar a parte de organização de mudanças nos textos. Antigamente, ao digitar simplesmente toybox, a lista de comandos era exibida em um certo tamanho ocupando bastante espaço na tela. Na versão 0.8.4 os comandos passaram a ser exibidos de forma sequencial:


 Houve também alterações na opção --help onde adicionaram informações complementares ao texto ou deixaram de forma mais clara.

opção --help na versão 0.8.3

opção --help na versão 0.8.4

 O README e o FAQ ficaram maiores e com mais links (alguns conteúdos do README foram parar no FAQ); o Toysh e o toyroot receberam 29 commits e o Pending também recebeu muitos trabalhos (inclusive testes para o Alpine Linux).

 É possível baixar o toybox tanto na forma de código fonte quanto a versão binária clicando aqui. Existe também binários do mkroot disponíveis para várias arquiteturas com o kernel 5.9 (que podem ser conferidos clicando aqui).

Marcadores

A pior história sobre Linux que já ouvi (5) A.I (1) ambiente gráfico (15) AMD (13) analise (9) Andriod (8) artigo (5) benchmark (3) BSDs (20) btrfs (12) Caixa de Ferramentas do UNIX (19) canto do Diego Lins (2) certificações Linux (6) Código Fonte (50) comandos (17) comp (1) compressores (4) container (1) CPU (15) criptografia (2) crowdfunding (9) cursos (20) daemons (13) Debian (29) desenvolvimento (53) desktop (16) DevOps (1) DevSecOps (1) dic (1) Dica de leitura (49) dica DLins (2) dicas do Flávio (27) Dicas TechWarn (1) diocast (1) dioliunx (3) distribuições Linux (12) Docker (7) DragonflyBSD (14) ead Diolinux (2) edição de vídeo (4) EMMI Linux (4) emuladores (5) endless (5) English interview (2) Enless OS (2) entrevista (16) espaço aberto (83) evento (4) facebook (1) Fedora (4) filesystem (59) financiamento coletivo (2) fork (3) fox n forests (4) FreeBSD (12) Funtoo Linux (13) games (87) gerenciadores de pacotes (2) GOG (3) google (8) gpu (2) hardware (96) I.A (1) init system (7) Intel (14) IoT (1) ispconfig (1) jogos (33) kernel (114) lançamento (39) leis (1) LFCS (1) licenças (7) Linus (15) linus torvalds (1) Linux (188) linux foundation (3) linux para leigos (1) live (4) LPI (8) LTS (1) machine learning (1) meetup (1) mesa redonda (27) microsoft (3) microst (1) muito além do GNU (117) não viva de boatos (9) navegadores (3) NetBSD (3) novatec (17) o meu ambiente de trabalho (3) off-topic (12) open source (78) OpenBSD (3) OpenShift (1) os vários sabores de Linux (36) padrim (2) palestras e eventos (3) partições (6) pentest (6) processadores (23) professor Augusto Manzano (11) Programação (40) propagandas com Linux (8) Red Hat (13) redes (2) resenha nerd (4) Resumo da Semana do Dlins (2) resumo do Tux (19) retrospectiva Linux (1) runlevel (2) Secomp (1) segurança digital (14) servidores (1) shell (1) sistema operacional (18) Software livre e de código aberto (147) sorteio (3) Steam (8) Steam no Linux (6) supercomputadores (3) suse (3) systemd (7) terminal (73) toca do tux (1) toybox (15) tutorial (6) Tux (3) unboxing (7) UNIX (15) UNIX Toolbox (14) vartroy (1) vga (1) vulnerabilidade (3) wayland (2) whatsapp (1) Windows Subsystem for Linux (1) wine (12) WoT (1) ZFS (9)