Come installare e configurare TelegramWrt su OpenWrt

In questa guida vi mostro come ho realizzato su YouTube un pacchetto .ipk compatibile con tutte le versioni di OpenWrt, in grado di gestire il proprio router OpenWrt a distanza. Questo pacchetto si chiama TelegramWrt.

Cos’è OpenWrt?

OpenWrt è un sistema operativo basato su Linux, progettato specificamente per router e altri dispositivi di rete embedded (cioè dispositivi con risorse hardware limitate, come memoria e potenza di calcolo).

Caratteristiche principali di OpenWrt:

  • Open source:
    Il codice sorgente è liberamente disponibile, modificabile e distribuibile. Questo permette a sviluppatori e appassionati di personalizzarlo e migliorarlo.
  • Altamente personalizzabile:
    A differenza del firmware proprietario fornito dai produttori dei router, OpenWrt offre un sistema completo con un gestore di pacchetti (opkg), che permette di installare, aggiornare o rimuovere software aggiuntivo (come server DNS, firewall avanzati, VPN, server web, ecc.).
  • Interfaccia web e riga di comando:
    OpenWrt include un’interfaccia web chiamata LuCI, ma è anche possibile configurarlo interamente tramite terminale SSH, grazie alla sua base Linux.
  • Supporto per molti dispositivi:
    È compatibile con centinaia di modelli di router di diversi produttori (come TP-Link, Netgear, Linksys, Xiaomi, ecc.). Sul sito ufficiale è disponibile un elenco dei dispositivi supportati .
  • Funzionalità avanzate di rete:
    Consente di configurare:
    • Firewall personalizzati (con iptables o nftables)
    • Reti Wi-Fi multiple (guest network, VLAN)
    • Server DNS (es. dnsmasqunbound)
    • VPN (OpenVPN, WireGuard)
    • QoS (Quality of Service) per gestire la banda
    • Monitoraggio del traffico
    • E molto altro
  • Aggiornamenti frequenti e sicurezza:
    Grazie alla comunità attiva, OpenWrt riceve aggiornamenti regolari, anche per correggere vulnerabilità di sicurezza, cosa che spesso non avviene con il firmware originale dei router commerciali.

A chi è utile OpenWrt?

  • Appassionati di networking che vogliono controllare ogni aspetto del proprio router.
  • Privacy-conscious users che desiderano bloccare tracker, pubblicità o usare una VPN direttamente sul router.
  • Sviluppatori che vogliono sperimentare con reti o creare dispositivi IoT personalizzati.
  • Chi ha un vecchio router e vuole dargli nuova vita con funzionalità moderne.

Cos’è TelegramWrt?

TelegramWrt è un pacchetto modulare per OpenWrt che integra un bot di Telegram con funzioni avanzate di diagnostica, monitoraggio e controllo remoto del router. In pratica, permette di gestire e controllare il tuo router OpenWrt direttamente da Telegram, ricevendo informazioni sullo stato della rete, eseguendo comandi o riavviando servizi senza dover accedere all’interfaccia web o al terminale. Ogni componente (o <<plugin>>) di TelegramWrt è pensato per essere facile da estendere, riprodurre e compatibile con diverse architetture hardware, così da funzionare su molti tipi di router. Questo pacchetto e creato da me.

Installazione e configurazione:

Per installare TelegramWrt è necessario accedere al router tramite PuTTY (interfaccia da terminale).
Nel mio caso, l’indirizzo IP è 192.168.1.2, poiché il router non utilizza il DHCP, ma è impostato in bridge e funziona come secondo bridge in salotto. Sto utilizzando uno ZTE MF286D.

Se non avete ancora PuTTY, potete scaricarlo da qui:

https://putty.org/index.html

Una volta installato, aprite PuTTY e, nel campo Host Name (or IP address), inserite l’indirizzo IP del vostro router (nel mio caso 192.168.1.2).
Nel campo Username, se non lo avete modificato, lasciate root.
Se non avete impostato una password, lasciate il campo Password vuoto.

Per installare ora i pacchetti, è necessario eseguire i seguenti comandi.
Il primo comando serve a scaricare il repository contenente i pacchetti necessari, mentre gli altri comandi installano i pacchetti fondamentali per il corretto funzionamento di TelegramWrt.

Scrivete questi comandi:

opkg update

opkg install wget jq curl bash

Entriamo ora nella directory /tmp/ con questo comando:

cd /tmp/

Scarichiamo ora TelegramWrt con il seguente comando:

wget https://github.com/ilblogdicristiangallo/TelegramWrt/raw/refs/heads/main/telegramwrt_1.0.3_all.ipk

Ora installiamo il pacchetto:

opkg install telegramwrt_1.0.3_all.ipk

Adesso abbiamo bisogno di creare un bot su Telegram per farlo occorre seguire questa guida:

https://www.ilblogdicristiangallo.com/2023/09/come-creare-bot-telegram-con-botfather.html

Una volta creato il bot, dovete recuperare il TOKEN del vostro bot e il chatID. Per ottenere il chatID, è necessario cercarlo tramite questo canale su Telegram:

https://t.me/getidsbot

Recuperati TOKEN e chatID occorre andare ad inserirli nel file config presente nella cartella:

vi /usr/lib/TelegramWrt/config

Premete il tasto <<a>> sulla tastiera per cancellare il TOKEN falso che ho inserito (lasciate però le virgolette). All’interno delle virgolette incollate il vostro TOKEN e il vostro CHATID. (Assicuratevi che il CHAT_ID sia scritto con il trattino basso per la v1. 0.2 e successive). Ora per salvare bisogna premere <<CTRL + C>> e scrivere <<:wq!>> (:wq! senza i simboli che ho messo io).

Dopo aver completato tutte queste procedure, è necessario aggiungere l’esecuzione di TelegramWrt all’interno del file rc.local.
In questo modo, ad ogni avvio del router, TelegramWrt verrà eseguito automaticamente e il bot resterà sempre attivo, purché la connessione Internet sia disponibile. Possiamo farlo in due modi qui ve li mostro in elenco:

Configurazione via Putty:

vi /etc/rc.local

bash /usr/lib/TelegramWrt/telegram.sh &

Mi raccomando: l’esecuzione del comando deve essere inserita prima della riga exit 0. Come mostrato nel mio esempio precedente, una volta fatto, premete CTRL + C per uscire dalla modalità di inserimento, poi digitate :wq! per salvare e chiudere il file.

Configurazione via Luci:

Accedete all’indirizzo IP del vostro router (nel mio caso 192.168.1.2, altrimenti usate il vostro IP, ad esempio 192.168.1.1). Andate su SystemStartup, selezionate rc.local, cliccate su di esso e inserite il comando desiderato.

Ora riavviate il router. Dopo il riavvio, premete Start sul vostro bot Telegram. A questo punto vedrete una schermata come quella mostrata nella foto, dove sono elencati tutti i comandi disponibili per gestire OpenWrt direttamente da Telegram.

TelegramWrt bot interface screenshot


TelegramWrt bot interface second screenshot

Tutorial YouTube Cristian Gallo

Spero che questa guida vi sia stata utile! Vi lascio anche il link al video su YouTube.

Lascia un commento