sexta-feira, 26 de abril de 2019

Como criar pacotes .deb

0 comentários
Pacotes .deb facilitam a instalação de aplicativos, aqui no blog tem dois Posts que demonstram como “Instalar o Eclipse Galileo e o Aptana”, mas tudo poderia ser desprezado, se eu criasse um pacote .deb e disponibilizasse pra download, mas essa não é a idéia desse blog.
Os pacotes podem ser instalado em Debian e Debian-Likes (Ubuntu, Linux Mint, Backtrack 5…), que possuem o mesmo caminho para os diretórios dos aplicativos.
É bem simples criar pacotes .deb, vamos começar então
  • 1 - crie uma pasta onde você desejar que será o nome do programa, aqui eu vou criar a pasta terminalroot dentro da minha Área de Trabalho.
  • 2 - Depois crie dentro da sua pasta uma pasta em maiúsculo, com o nome DEBIAN
  • 3 - dentro da pasta DEBIAN, crie um arquivo com o nome de control, sem extensão.
  • 4 - abra esse arquivo com seu editor de texto(gEdit por exemplo) e preencha com o código abaixo

Package:terminalroot
Version: 0.1
Priority:
Architecture: all
Essential:
Depends:
Pre-depends:
Suggests:
Installed-Size:
Maintainer: Marcos da B. M. Oliveira
Conflicts:
Replaces:
Provides:
Description: Acesse o blog terminalroot.com.br e descubra como criar pacotes .deb
No código acima, as linhas que são obrigatórias, estão preenchidas, porém algumas linhas como Depends, por exemplo, se você preencher com pacotes necessários para o funcionamento do programa o GDebi-Installer não instalará se não houver estas dependências, porém com os campos acima mencionados já podemos instalar o programa pelo GDebi-Installer.
Agora vamos ao programa, se você baixou um tarball e não quer perder o tempo copiando arquivos pra dentro de pastas…você pode criar um .deb e executá-lo, ou até mesmo, dar dois cliques nele, se o pacote foi criado com o root, ele pedirá a senha de root.
  • 5 - Dentro da pasta que você criou que aqui estou chamando de terminalroot, crie as diretivas que você deseja, por exemplo, crie uma pasta com o nome “usr”, dentro de “usr”, crie uma pasta com o nome “bin” e dentro de “bin“(ISSO SERÁ O MESMO DE VOCÊ INFORMAR QUAIS OS CAMINHOS NO SEU COMPUTADOR QUE DESEJA PARA ONDE OS ARQUIVOS SEJAM COPIADOS) coloque um arquivo, sem extensão com esse código abaixo por exemplo

#!/bin/sh
echo "Acesse: terminalroot.com.br e descubra uma pá de coisa!"
E salve com o nome terminalroot, lembrando que logo após isso dê permissão de execução pra esse arquivo

chmod +x terminalroot
No diretório que será criado o .deb, vc também pode criar as pastas e sub-pastas pelo terminal, assim

mkdir -p usr/bin
O “usr” não pode ter “/” na frente e você deve estar dentro do diretório terminalroot, pois se se fizer /usr , será criado, se houver permissão, dentro do “usr” do seu computador.Você também pode criar um ícone no painel do Gnome, é só criar a pasta que ficará a imagem no seu computador e a imagem, exemplo

mkdir opt/
cp imagem.jpg terminalroot/opt
E depois criar o icone que aparecerá no painel, exemplo, terminalroot.desktop, dae teria essa configuração dentro do arquivo

[Desktop Entry]
Name=Marcos Pinguim
Icon=/opt/terminalroot.jpg
Type=Application
Categories=GNOME;GTK;Utility;TextEditor;
Exec=terminalroot
StartupNotify=false
Terminal=false
Para isso é necessário haver o carregamento do gtk na execução do programa, que não será esse caso, somente se você digitar no terminal “terminalroot”, obterá o texto do salvo no arquivo usr/bin/terminalroot, e salvará esse arquivo terminalroot.desktop dentro da pasta que será criado o pacote .deb

mkdir -p

  • 6 - depois de criar a pasta DEBIAN; o arquivo control; as pasta na raiz da pasta que será copiado os arquivos, e pôr os arquivos que serão copiados dentro das suas respectivas páginas, basta agora “compactar” em .deb

dpkg-deb -b terminalroot/ terminalroot.0.1.deb
E o pacotes será criado.Agora instale-o, ou dando dois cliques(ou abrindo com o Gdebi-installer), ou pelo terminal

dpkg -i terminalroot.0.1.deb
Todas as tarefas restantes serão feitas automaticamente, e o pacote será instalado.Agora vá ao terminal e digite “terminalroot”, terá o texto pré-configurado para responder, se fosse um software seria executado, se houve Gtk pre-configurada abriria a janela, até mesmo pelo ícone pre-programado, se você for no painel
Aplicativos > Acessórios
Verá a imagem lá, entre as opções dos aplicativos, porém se clicar não fará nada.Para remover, basta

apt-get remove terminalroot
Todos os arquivos copiados serão remvidos, inclusive as imagens.
Pronto, é só isso, espero que gostem e comentem.
Continue reading →

Busca CEP com Shell Script

0 comentários
Pesquisando CEP via Shell Script 

Script simples para saber o Estado, Cidade, Bairro e Logradouro de um determinado CEP, explicações segue nos comentários do código.

http://cep.republicavirtual.com.br/web_cep.php?cep=06765000&formato=xml



 
#!/bin/bash
# --------------------------------------
# ./cep.sh
#
# Pesquisando CEP via Shell Script
#
# Uso: ./cep.sh [CEP]
#
# Ex.: ./cep.sh 41630635
#
# Autor: Marcos da B. M. Oliveira , www.terminalroot.com.br
# Desde: Dom 25 Ago 2013 13:11:36 BRT
# Licença: GPL
# --------------------------------------
# se não informa o CEP o script pára aqui
[ -z $1 ] && echo -e '\e[40;31;1mÉ necessário informar o CEP\033[m' && exit 1

#url da pesquisa
url='http://cep.republicavirtual.com.br/web_cep.php?cep'

# baixa o código fonte do xml e grava no arquivo cep.txt
lynx -source $url=$1 > cep.txt

# converte o arquivo para utf-8
iconv -f=iso_8859-1 -t=utf-8 cep.txt > cep2.txt

# limpa todas as tags XML
sed 's/]*>//g' cep2.txt > cep.txt

# remove o arquivo da transformação do encode
rm -rf cep2.txt

# apaga da linha 1 à 4 , pois são desnecessárias
sed -i '1,4d' cep.txt

# apaga todas as linhas em branco
sed -i '/^$/d' cep.txt

# imprime(com cores) os dados do arquivo gerado pelo dump, personalizado.
echo -e "\e[40;37;1m CIDADE-UF:\033[m \e[40;33;1m"$(sed -n '2p' cep.txt) $(sed -n '1p' cep.txt) "\033[m"
echo -e "\e[40;37;1m BAIRRO:\033[m \e[40;33;1m"$(sed -n '3p' cep.txt) "\033[m"
echo -e "\e[40;37;1m LOGRADOURO:\033[m \e[40;33;1m"$(sed -n '4p' cep.txt) $(sed -n '5p' cep.txt) "\033[m"

# remove o arquivo
rm -rf cep.txt


 Fonte: http://www.terminalroot.com.br/2013/08/pesquisando-cep-via-shell-script.html
Continue reading →
quinta-feira, 18 de abril de 2019

Shell Script: repetição e função

0 comentários
Uma estrutura de repetição, também conhecida como loop ou laço, é uma estrutura de desvio do fluxo de controle presente em linguagens de programação que realiza e/ou repete diferentes algoritmos/ações dependendo se uma condição é verdadeira ou falsa. Vejamos os comandos while, until e for.
While
Os comandos são executados enquanto a condição for verdadeira. No exemplo a seguir, enquanto o contador for diferente (“ne” significa “not equal”) de 4, será imprimida na tela uma mensagem, será aguardado 1 segundo e atualizado o contador:
For
O laço for executa uma ação até que uma condição seja atendida. No exemplo abaixo, cada linha do arquivo subs.csv é lida (através do comando “cat” e impressa usando “echo”) até o final do arquivo e as letras maiúsculas são substituídas por minúsculas, mandando a saída para o arquivo subestacoes.csv:
Veja esse outro exemplo, onde o for serve para varrer todos os arquivos com extensão “.csv” e pega partes do nome do arquivo para criar pastas e mover os arquivos para esses novos diretórios:
Funções
Uma forma de repetir comandos é através do uso de funções. A função é um bloco de código que pode ser invocado pelo resto do script apenas escrevendo o nome da função. Ela deve ser escrita antes da rotina principal (ou escreva a rotina principal dentro de outra função e chame-a depois). A função não recebe parâmetros de entrada, assim a função deve ser chamada e em seguida incluir a variável (ou variáveis) a ser utilizada na função, enquanto que na função deve-se usar “$1” para receber essa variável (ou $2, $3.. para mais variáveis). Veja esse exemplo:
Um exemplo integrando tudo. O separador de campo é alterado para quebra de linha (e restaurado no final do script). Para todas as linhas do arquivo, são extraídos em diferentes variáveis os campos ano, mês, dia… cidade, incluído o zero na frente do número (caso tenha apenas 1 dígito, através do while), e impressos no arquivo de saída conforme a variável “novalinha”:
Fonte: https://www.monolitonimbus.com.br/shell-script-repeticao-e-funcao/
Continue reading →
quarta-feira, 17 de abril de 2019

Ubuntu: Como monitorar a temperatura do seu computador com Ubuntu, LinuxMint e derivados!

0 comentários
Resultado de imagem para termometro vetor

O Psensor é uma ferramenta para monitorar a temperatura de hardware que se integra muito bem com o Unity, ele exibe as temperaturas habilitadas, bem como um notificador que você pode usar para dar uma olhada rápida em todas as temperaturas de hardware disponíveis ou uso da CPU como mostra a imagem a cima.
Psensor pode monitorar:
  • Temperaturas da placa-mãe e CPU
  • A temperatura da Nvidia GPUs
  • ATI/AMD temperatura GPUs monitor (não habilitado para o PPA do Ubuntu, pois requer a compilação usando libatiadlxx)
  • Unidades de disco rígido
  • Velocidade do cooler
  • Uso da CPU
O aplicativo pode também exibir alertas de temperatura quanto estiver muito quente, usando notificações de desktop. Os alertas não são ativados por padrão para ativar, selecione Preferências do sensor, em seguida, selecione um sensor marque a opção “Ativar Desktop Notifications” na caixa “Alertas”.
1. Em primeiro lugar você precisa instalar o lm-sensores e hddtemp; estes pacotes são necessários para Psensor conseguir monitorar a CPU, disco rígido e as temperaturas da placa-mãe, bem como a velocidade da ventoinha da CPU:
$ sudo apt-get install hddtemp lm-sensors
2. Configure o lm-sensors:
$ sudo sensors-detect
E responder “sim” ou “yes” para tudo. Agora você pode reiniciar o computador ou execute o seguinte comando para carregar os módulos necessários pelos sensores:

$ sudo service module-init-tools começar
3. Instale Psensor
$ sudo apt-get install psensor
 
Fonte: https://sempreupdate.com.br/monitorar-temperatura-do-computador-com-psensor-no-ubuntu-linux-mint/
Continue reading →
terça-feira, 16 de abril de 2019

Raspberry Pi: Configure redes Wi-Fi pelo terminal

0 comentários


Muitos dos utilizadores da famosa placa Raspberry Pi, sentem a necessidade de configurar redes sem fios (Wi-Fi) nos seus dispositivos. Neste artigo vamos exemplificar como deve adicionar uma rede wireless no seu Raspberry Pi.
O primeiro passo é verificar se já existem configurações para a placa wireless.
Screen Shot 2015-12-09 at 22.11.39
Tendo em conta que a placa está identificada como “wlan0“, vemos que está configurada como ligação automática, ligação rápida e com o ficheiro de configuração em /etc/wpa_supplicant/wpa_supplicant.conf. Aqui só temos de alterar a configuração do IP para automático, alterando para isso a terceira linha da placa wlan0 para dhcp, em vez de manual. Por defeito (pelo menos na distribuição pipplware) o ficheiro wpa_supplicant.conf está vazio. Vamos configurá-lo para a rede caseira. Os parâmetros são os seguintes.
Screen Shot 2015-12-09 at 22.26.29
Se não sabem que valores colocar, aconselho rever a matéria sobre redes sem fios, nomeadamente os algoritmos utilizados. Para alterar, utilizamos um qualquer editor de texto para o ficheiro em wpa_supplicant.conf. No meu caso, o ficheiro fica com o seguinte aspeto.
Screen Shot 2015-12-09 at 22.53.22
Atenção que os campos e valores têm de estar correctos, caso contrário  a placa não vai iniciar. Agora é testar.
Caso o vosso cenário seja como o meu, e para não perderem ligação ao raspberry, devem ter o cabo RJ-45 (tem prioridade) ligado ou definir um IP estático em /etc/network/interfaces.
Screen Shot 2015-12-09 at 23.15.33
A partir de agora, se tudo estiver bem configurado, quando o raspberry ligar, irá ligar-se a qualquer rede definida no ficheiro wpa_supplicant.conf. 
Pode verificar que funciona reiniciando as interfaces de rede com /etc/init.d/networking restart e depois com o comando ifconfig. No meu caso o resultado é o seguinte.




Screen Shot 2015-12-09 at 23.15.33 Fonte: https://www.techemportugues.com/2016/01/21/raspberry-pi-configure-redes-wi-fi-pelo-terminal/
Continue reading →

Tutorial Raspberry Pi – Configurar Wireless via linha de comandos

0 comentários
O Raspberry Pi é um dos mini PCs mais populares e potentes, que tem servido de base a muitos projectos interessantes (pode consultar os projectos na página do projecto aqui). Este mini equipamento, do tamanho de um cartão de crédito é capaz de reproduzir vídeo com qualidade Blu-ray e renderizar gráficos 3D, entre outras tarefas.
No seguimento da nossa parceria com a INMotion e depois de termos apresentado uma lista de componentes essenciais e também opcionais, de termos ensinado a instalar o RaspbianOS no mini PC e também de termos realizado as primeiras configurações e muito mais (ver artigos no final).
Hoje vamos aprender a configurar a rede wifi através da linha de comandos.
wifi_00

Uma das primeiras configurações que fiz quando recebi o Raspberry Pi foi configurar um conjunto de serviços que me permitissem aceder e controlar remotamente o PI, através do PC. Como tenho o PI a servir de media Center para a TV da Sala, destoava um pouco o enorme teclado e rato ligados ao pequeno PI.
O acesso remoto ao PI pode ser realizado via SSH ou, caso pretendam aceder ao ambiente gráfico, podemos também recorrer a um serviço de remote desktop como por exemplo o TightVNC ou outro – saber mais aqui.
Relativamente à configuração Wireless, o RaspbianOS oferece uma interface gráfica que permite configurar facilmente a rede onde nos pretendemos ligar. No entanto, caso o utilizador acede apenas por SSH, o utilizador não dispõe dessa ferramenta mas…isso não significa que não possa configurar o acesso à rede sem fio.
Hoje mostramos como podem facilmente ligar-se a uma rede sem fios, procedendo à configuração via linha de comandos. Para isso sigam os seguinte passos:
Passo 1) Adiconar interface wireless ao ficheiro de configuração das interface
Para isso abrimos o ficheiro /etc/network/interfaces e acrescentemos a seguinte informação
auto lo
iface lo inet loopback
iface eth0 inet dhcp
 
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
 
iface default inet dhcp
Depois de adicionada a informação, gravamos a mesma.
Passo 2) Configuração da rede wireless
A configuração da nossa rede sem fios irá estar presente no ficheiro /etc/wpa_supplicant/wpa_supplicant.conf. Nesse sentido e considerando, como exemplo, que vamos configurar a rede com o nome (ssid) pplware e password pplware_passwd é necessário adiconar a seguinte informação ao ficheiro de configuração:
Nota: De referir que a nossa rede usa como segurança WPA+PSK. Adaptem de acordo com os parametros configurados na vossa rede.
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
ssid="pplware"
psk="pplware_passwd"
 
# Protocol type can be: RSN (for WP2) and WPA (for WPA1)
proto=WPA
 
# Key management type can be: WPA-PSK or WPA-EAP (Pre-Shared or Enterprise)
key_mgmt=WPA-PSK
 
# Pairwise can be CCMP or TKIP (for WPA2 or WPA1)
pairwise=TKIP
 
#Authorization option should be OPEN for both WPA1/WPA2 (in less commonly used are SHARED and LEAP)
auth_alg=OPEN
}
Depois de configurado, devem gravar e reiniciar o Pi usando o comando
sudo reboot
Por hoje ficamos por aqui. O próximo tutorial, como sempre, será surpresa, por isso estejam atentos. Entretanto estamos receptivos a apresentar os vossos tutoriais com este mini PC. Enviem-nos um e-mail com a informação que nós publicamos.

Fonte: https://pplware.sapo.pt/linux/tutorial-raspberry-pi-configurar-wireless-via-linha-de-comandos/
Continue reading →
quarta-feira, 10 de abril de 2019

Formatando os bash scripts

0 comentários
Vamos ao que interessa e analisar os exemplos abaixo:


#!/bin/bash
#Texto normal

echo "Viva o Linux!"

# O argumento "-e" é fundamental para ativar a interpretação de caracteres # precedidos pela barra "\". Caso contrário você não verá o efeito real e sim
# o texto exatamente da forma em que está escrito entre as aspas.

#Texto colorido

echo -e "Viva o \033[01;32mLinux\033[01;37m!"

Observem no exemplo os trechos em negrito e reparem que são eles um dos temas do nosso artigo. Tentarei explicar o que vemos:
  • "\033": ainda não consegui encontrar o real motivo de usar isto, mas é obrigatório para usar as cores, se trocar por outra coisa dará tudo errado;
  • "01"( estilo): significa que nosso texto será em negrito (bold);
  • "32m" (cor do texto): 32 representa a cor vermelha e o "m" indica o fim da expressão e após ele você já poderá incluir o texto que bem desejar;

Meio complicado ainda né!? Mas vai abaixo os dados que certamente irão ajudar a se organizar:

Estilos


00: Nenhum
01: Negrito
04: Sublinhado
05: Piscante
07: Reverso
08: Oculto

Cores de texto


30: Preto
31: Vermelho
32: Verde
33: Amarelo
34: Azul
35: Magenta (Rosa)
36: Ciano (Azul Ciano)
37: Branco

Cores de fundo


40: Preto
41: Vermelho
42: Verde
43: Amarelo
44: Azul
45: Magenta (Rosa)
46: Ciano (Azul Ciano)
47: Branco


OBS: Os "estilos" obviamente tem efeito somente no texto e de forma alguma na cor de fundo.

Agora ficou fácil né!? Basta agora treinar um pouco para acostumar a usar...

E ainda pra facilitar vai abaixo alguns exemplos interessantes:

#!/bin/bash

#Google com fundo branco! =)

echo -e '\033[01;34;47mG\033[01;31mo\033[01;33mo\033[01;34mg\033[01;32ml \033[01;31me\033[00;37;40m'

#Matrix verde CGA =)!
echo -e '\033[01;32mmAtTiX\033[00;37m'

#Erro fatal vermelho e piscante pra impressionar!!!
echo -e '\033[05;31mERRO FATAL\033[00;37m'

#Viva o Linux
echo -e '\033[01;37mViva o \033[04;32mLinux\033[00;37m!!!' 
 Fonte: https://www.vivaolinux.com.br/artigo/Formatando-o-bash-com-cores-e-efeitos?pagina=1
Continue reading →
terça-feira, 9 de abril de 2019

Passo a passo para conectar a WiFi via terminal

0 comentários

como-conectar-wifi-via-terminal-linux


Está fazendo uma instalação no estilo Core e precisa se conectar a WiFi via terminal Linux e não tem rede cabeada, saiba que a solução chegou. E claro, também pode ajudar aquelas pessoas que podem passar por outros tipos de problemas entre os mais variados ambientes.

Passo a passo para conectar a WiFi via terminal

Para conectar ao WiFi pelo terminal, é simples! Primeiramente vamos descobrir qual é a sua interface WiFi no meu caso é wlan0, para descobrir rode o comando abaixo:
$ iwconfig
Depois conecte a sua rede, se você não sabe o nome rode o seguinte comando:
$ iwlist scan
Ou se preferir:
$ iwlist wlan0 scan
Agora que já sabe o nome da rede e a interface rode o comando abaixo:
$ iwconfig wlan0 essid <NOME-DA-REDE> mode managed
Depois gere o IP da rede:
$ dhclient wlan0
Ou se preferir você:
Instale o wpa_supplicant:
$ sudo apt-get install wpa_supplicant
E edite o arquivo /etc/network/interfaces, inserindo as linhas abaixo:
$ auto wlan0
$ iface wlan0 inet dhcp
$ wpa-ssid mynetworkname
$ wpa-psk mysecretpassphrase
Considerando que você vá pegar o IP automaticamente e q a criptografia seja WPA-PSK ou WPA2-PSK. Não se esqueça de modificar as permissões do arquivo, pois você colocará a senha em texto claro no arquivo:
$ chmod 600 /etc/network/interfaces
Reinicie o serviço:
$ service networking restart
Pronto resolvido!

Fonte: https://sempreupdate.com.br/como-conectar-wifi-via-terminal-linux/
Continue reading →
terça-feira, 2 de abril de 2019

Pi-Hole-Summary

0 comentários

Pi Hole Summary

Get an email every day with the data from Pi Hole's API.

Installation

  1. Clone the repository on your Pi.
git clone https://github.com/MilesGG/Pi-Hole-Summary.git
  1. We must now install Node.js, at the moment the raspbian repository doesn't make installing node.js very easy. To circumvent it, download the appropriate version from nodejs.org and extract it to your directory. Check your version with node -v
  2. However, the version of npm is perfectly functional. Install it with sudo apt install npm
  3. Install the dependencies for email sending and automatic updates /path/to/npm i emailjs simple-git
  4. We are now going to create a config.json, copy the file bare-config.json as config.json. Fill in all the data, it won't work if it doesn't have it all.
  5. Create a cronjob with cronjob -e and write one like this:
59 23 * * * /home/pi/node-v6.9.5-linux-armv6l/bin/node /home/pi/pi-hole-summary/index.js
Verify that it's registered properly with https://crontab.guru and cronjob -l.
  1. Run a test flight with /path/to/node /home/user/pi-hole-summary/index.js. You should *hopefully* have an email in
Now you should get an email from the setup account at 23:59 every night.

Config.json Params

Parameter Function Example
user The email address the bot uses for sending. "pihole@opmbx.org"
password The password for the user parameter. "Password1"
host The SMPT host the bot uses. "smtp.openmailbox.org"
toname The name to associate with toaddr Richard Stallman
toaddr The email address to send to. "rms@gnu.org"
ssl Trigger use of SSL in the SMPT negotiation. Do not use quotes true, false

Fonte: https://github.com/MilesGG/Pi-Hole-Summary
Continue reading →
segunda-feira, 1 de abril de 2019

Enabling HTTPS for your Pi-hole Web Interface

0 comentários

How can I enable HTTPS (SSL/TLS) for my Pi-hole Web Interface?

Many users run their Pi-hole on Virtual Private Servers and such, meaning that they would need to access the Web Interface via insecure HTTP. Now, you are able to configure Pi-hole so you can securely access your Web Interface, and not cause issues with blocked HTTPS content.

What has changed to allow this?

With the release of v3.2, we have made changes to our default lighttpd config to not automatically enable the SSL engine if /etc/lighttpd/conf-enabled/letsencrypt.conf was detected, as your certificate of pihole.example.com will not match advertiser.com.
Blindly enabling HTTPS for your Pi-hole Web Interface via Let’s Encrypt or a Self-Signed certificate causes issues such as:
  • Browsing slowdowns on any site visited, as blocked content needed to time out (or load infinitely)
  • Web Browser errors, such as mismatched certificates
  • Operating system popups on macOS/iOS devices on every site containing blocked content
As you can imagine, that is not a very good end-user experience!
With the instructions below, you will be able to selectively enable HTTPS for your Fully Qualified Domain Name (FQDN), and have it not conflict with blocked HTTPS enabled domains.

How to get started

  • Ensure you have a standard fully qualified domain name (e.g: domain.com, pihole.example.com, etc) that allows you to access your Pi-hole
  • Deploy an SSL certificate for your FQDN
  • Configure lighttpd to only enable the SSL engine for your FQDN
Assisting users with the first two steps is outside the scope of this article, so you will need to find tutorials that suits your level of skill. Having said that, we’d suggest checking out Certbot 610 by the EFF, which allows you to deploy a free SSL certificate issued by Let’s Encrypt 216. The Certbot site provides you with instructions as to how to install the package, and to generate your first certificate. You will also need to ensure you set up the auto renewal tool, so that your certificate does not expire after 90 days!

How to configure Pi-hole to use an SSL certificate

The lighttpd daemon will need a custom configuration to enable the SSL engine. Fortunately, you can configure all this from /etc/lighttpd/external.conf as this will not get overwritten when running a Pi-hole update.
To start, you will need to create a file called combined.pem as this is the ssl.pemfile that lighttpd expects to see. Run the following command (making sure to subsitute pihole.example.com for your FQDN):
  sudo cat /etc/letsencrypt/live/pihole.example.com/privkey.pem \
           /etc/letsencrypt/live/pihole.example.com/cert.pem | \
  sudo tee /etc/letsencrypt/live/pihole.example.com/combined.pem
Next, ensure the lighttpd user www-data can read the required certificates:
sudo chown www-data -R /etc/letsencrypt/live
Now, place the following into /etc/lighttpd/external.conf (again, making sure to subsitute pihole.example.com for your FQDN):
$HTTP["host"] == "pihole.example.com" {
  # Ensure the Pi-hole Block Page knows that this is not a blocked domain
  setenv.add-environment = ("fqdn" => "true")

  # Enable the SSL engine with a LE cert, only for this specific host
  $SERVER["socket"] == ":443" {
    ssl.engine = "enable"
    ssl.pemfile = "/etc/letsencrypt/live/pihole.example.com/combined.pem"
    ssl.ca-file =  "/etc/letsencrypt/live/pihole.example.com/fullchain.pem"
    ssl.honor-cipher-order = "enable"
    ssl.cipher-list = "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"
    ssl.use-sslv2 = "disable"
    ssl.use-sslv3 = "disable"       
  }

  # Redirect HTTP to HTTPS
  $HTTP["scheme"] == "http" {
    $HTTP["host"] =~ ".*" {
      url.redirect = (".*" => "https://%0$0")
    }
  }
}
Finally, be sure to run sudo service lighttpd restart after this change has been made.

Postscript

You can now take advantage of a HTTPS-secured Web Interface! If you wish, you can also host content on your Pi-hole by using /var/www/html/landing.php as your /var/www/html/index.php equivalent.
16/07/18 Edit:
Removed ssl.use-compression = “disable” as per @person51’s post.

Fonte: https://discourse.pi-hole.net/t/enabling-https-for-your-pi-hole-web-interface/5771
Continue reading →

Como mostro nomes de host em vez de endereços IP no painel?

0 comentários
Existem duas maneiras de fazer isso:
  1. usar o servidor DHCP integrado do Pi-hole
  2. use o servidor DHCP do seu roteador e modifique-o /etc/hostsna sua máquina Pi-hole

Use o servidor DHCP do Pi-hole

Quando você ativa o servidor DHCP do Pi-hole, você tem a opção de atribuir reservas DHCP e emparelhá-las com um nome de host. Basta fazer uma reserva para todos os dispositivos da sua rede.

Editar /etc/hostsno seu pi-hole

A outra opção é útil se você quiser manter seu servidor DHCP existente (geralmente seu roteador) e apenas usar o Pi-hole for DNS.
Tudo o que você precisa fazer é editar o /etc/hostsarquivo no seu Pi-hole para adicionar nomes de host e endereços IP. Estes então aparecerão no log de consultas.

/etc/hosts Em toda a rede

Normalmente, /etc/hostsaplica-se somente à máquina na qual o arquivo existe. Mas, como o Pi-hole está agindo como um servidor DNS (resolvendo nomes em IPs), esse arquivo fica disponível para qualquer dispositivo que use Pi-hole for DNS.

Reservas DHCP

Você também deve observar que, se não usar a reserva DHCP do roteador, se você atribuir um nome de host a um IP e o roteador distribuir esse IP a um dispositivo diferente do esperado, os nomes podem não ser precisos.

Configurações de privacidade

Observe que, para qualquer uma das opções acima, se você tiver o modo de privacidade ativado, os nomes de host não serão exibidos no painel.

Fonte: https://discourse.pi-hole.net/t/how-do-i-show-hostnames-instead-of-ip-addresses-in-the-dashboard/3530
Continue reading →