Educação Aberta/Plataformas livres

Esse texto está desatualizado ou precisa de revisão em conteúdo ou forma para que possa ser utilizado. Veja as atuais discussões, sugestões e proponha melhorias na aba de discussão.

Esse é um guia técnico voltado para instalação de serviços de comunicação livre. Sugestões de melhoria nos processos, alternativas, pegadinhas, soluções, são bem vindas. Tentamos ser detalhados para que alguém com nível técnico médio possa seguir a orientação. Sugestões para melhoria de segurança (firewall, settings, coisas a ficar atento, etc) são também muito bemvindas.

Mumble

editar

Ferramenta livre para comunicação priorizando áudio e texto. Pode ser usado com app em celulares e computadores. Usa salas de b

Clientes testados e funcionando

editar

Centos 7

editar

Orientações funcionais em https://wiki.mumble.info/wiki/Install_CentOS7

Debian 9

editar

Só instalar pacote mumble-server

Problemas

editar

Aplicativo de Android funciona muito bem mas é muito antigo

  • Setup inicial (elaborar)

Configurações de Privacidade

Nas configurações habilitar:

obfuscate=true

Para que os endereços IP's fiquem "não-reconhecíveis"


Outras opções em : https://superuser.com/questions/455520/is-mumble-safe-privacy-wise


Mumble-Web

editar

Permite acesso ao mumble com qualquer browser, sem uso de apps. Veja orientações gerais e download.

CentOS

editar
  1. Usar npm, que instala no usr/lib/node_modules
  2. Baixar e instalar websockify
  3. Remover do setup.py: install_requires=['numpy'] já que CentOS roda versão mais antiga de Python que não pode ser atualizada, atrapalha yum.
  4. python setup.py install (com root)
  5. Criar certificados Letsencrypt (sudo certbot certonly --apache). Orientações sobre Certbot.
  6. Setup Apache proxy (abaixo, modificado com base nesse post).

<IfModule mod_ssl.c>

<VirtualHost *:443>

       ServerAdmin contato@aberta.org.br

       ErrorLog /etc/httpd/logs/error.log

       CustomLog /etc/httpd/logs/access.log combined

       DocumentRoot /usr/lib/node_modules/mumble-web/dist

       ServerName XXX-XXX

       SSLEngine on

       Include /etc/letsencrypt/options-ssl-apache.conf

       SSLCertificateFile /etc/letsencrypt/live/XXX-XXX/cert.pem

       SSLCertificateKeyFile /etc/letsencrypt/live/XXX-XXX/privkey.pem

       SSLCertificateChainFile /etc/letsencrypt/live/XXX-XXX/chain.pem

       RewriteEngine On

       ProxyPass /.wellknown !

#MUMBLE

              RewriteCond %{HTTP:Connection} Upgrade [NC]

       RewriteCond %{HTTP:Upgrade} websocket [NC]

       RewriteRule / ws://localhost:64737/ [P,L]

       ProxyPass /voip/ http://localhost:64737

       ProxyPassReverse /voip/ http://localhost:64737

<Directory /usr/lib/node_modules/mumble-web/dist>

   Require all granted

</Directory

</VirtualHost>

</IfModule>

  1. Dar permissões pro usuário e grupo apache (ou equivalente) no diretório e arquivos murmur-web
  2. Editar configurações no /etc/murmur.ini (welcome message, por exemplo)
  3. Ligar serviço murmur com systemctl start murmur.service, e depois systemctl start murmur.service se quiser que rode sempre que iniciar o servidor.
  4. Ligar websockify com algo como: websockify -v --ssl-target --cert /etc/letsencrypt/live/XXX-XXX/cert.pem --key /etc/letsencrypt/live/XXX-XXX/privkey.pem --web=/usr/lib/node_modules/mumble-web/dist/ 64737 localhost:64738
  5. Acessar o site.

Debian 9

editar
  1. Instalação via apt-get install mumble-servere dpkg e dpkg-reconfigure mumble-server. Orientações gerais e outra útil.
  2. Configurar arquivo mumble-server no nginx, modelo funcional abaixo, assumindo que nginx escuta SSL na porta 4444. Orientações sobre arquivos de configuração no nginx.

server {

      listen 4444 ssl http2;

      listen [::]:4444 ssl http2;

       server_name mumble.aberta.org.br;

       ssl_certificate /etc/letsencrypt/live/mumble.aberta.org.br/fullchain.pem;

       ssl_certificate_key /etc/letsencrypt/live/mumble.aberta.org.br/privkey.pem;

       location / {

               root /usr/lib/node_modules/mumble-web/dist/;

       }

       location /demo {

               proxy_pass http://localhost:64737;

               proxy_http_version 1.1;

               proxy_set_header Upgrade $http_upgrade;

               proxy_set_header Connection $connection_upgrade;

       }

}

map $http_upgrade $connection_upgrade {

       default upgrade;

       '' close;

}

server {

   listen      80;

   server_name mumble.aberta.org.br;

   rewrite     ^(.*)   https://$server_name$1 permanent;

}

  • Crie um serviço (algo como mumble-web.service dentro de /etc/systemd/system/). Para entender serviços, veja essas orientações.

[Unit]

Description=Mumble web interface

Documentation=https://github.com/johni0702/mumble-web

Requires=network.target

After=syslog.target network.target

[Service]

Type=simple

User=root

Restart=always

RestartSec=1

ExecStart=websockify --web=/usr/lib/node_modules/mumble-web/dist/ 64737 <seu servidor>:64738 --$

[Install]

WantedBy=multi-user.target

  • Rode o serviço usando systemctl start mumble-web, e para começar automaticamente quando rodar o servidor, systemctl enable mumble-web.

Sistema livre para comunicação priorizando video/webconferência com grupos pequenos..

Duas possíveis abordagens de instalação:

   * docker

   * instalado -> voltado para sistemas debian-based

Debian 9

editar
  • Docker c/SSL - ok
  • Sem Docker - ok (somente instalar 1 pacote)

Centos 7

editar
  • Docker - não funciona
  • Sem docker - não funciona

Para gravar conferências

  • Não funciona com docker. Na instalação com o debian 9 não parece tão trivial de instalar

Problemas

editar
  • Docker + debian 9 + jibri (streaming/recording) -> não funcionou
  • Docker + debian 9 + etherpad -> não funcionou

Uso de banda e recursos

editar
  • 1.5 hora de conferencia ~ 8 Gb

O único uso considerável é de rede. Pra cada um usuário conectado, consome mais da banda. Ver essa referência.

editar

Pontos de atenção

editar
  • Usando docker, sempre que mudar o .env apagar a pasta de configuração
  • Usando docker não regenerar a imagem várias vezes com certificado, pois existe um limite de certificados emitidos por semana pelo let's encrypt

Configurações de Privacidade

Desabilitar o uso de requisição de terceiros

disableThirdPartyRequests: true

Nextcloud talk

editar

Sistema de conferências em vídeo. Instala como plugin do Nextcloud

  • CentOS - Atualizar até a última versão do Nextcloud e habilitar plugin. Sem maiores problemas.

OBS + Icecast

editar

Sistema para transmissão de vídeo steaming usando OBS e Icecast.

Debian 9

editar
  1. apt-install icecast2, seguir instruções de configuração.
  2. Testado usando o vlc como player

Servidores Icecast gratuito/livre

editar

Orientações

editar


Etherpad

editar

Configurações de privacidade

Desabilitar registro de IP:

"disableIPlogging": true, 

editar
  • https://github.com/jitsi/jitsi-meet/wiki/Jitsi-Meet-Instances
  • https://ladatano.partidopirata.com.ar/jitsimeter/
  • https://pads.ccc.de/jitsiliste
  • https://meet.ufrj.br/