XFS BOT

Installare XFS Bot su Ubuntu e Arch

Dalla macchina vuota al pannello che risponde. Tutti i comandi, uno sotto l’altro, con la spiegazione di cosa fanno e di cosa ti verrà chiesto. Se sai copiare e incollare, sai installare XFS Bot.

01Cosa serve

Niente di esotico. Una macchina Linux dove sei amministratore e un quarto d’ora davanti a un terminale.

Il pacchetto porta tutto con sé. Non devi installare Qt, né compilare niente, né sapere cos’è un CMake. Dentro il file .run ci sono il programma, le sue librerie e gli strumenti che gli servono.

02Quale distribuzione conviene

Ci sono due pacchetti perché ci sono due mondi diversi, non perché uno sia migliore dell’altro.

DistribuzionePacchettoCome va
Ubuntu 24.04 LTS
consigliata
xfsbot-installer-ubuntu.run La scelta più tranquilla: aggiornamenti di sicurezza fino al 2029, tutti i VPS la offrono, tutte le guide del mondo parlano di lei. Se non hai motivi per fare altrimenti, prendi questa.
Ubuntu 22.04 LTS xfsbot-installer-ubuntu.run Funziona. Il pacchetto Ubuntu è portabile: si porta dietro le proprie librerie e non dipende da quelle di sistema, quindi anche una distribuzione con le librerie vecchie va bene.
Debian 12 xfsbot-installer-ubuntu.run Va bene: il pacchetto Ubuntu riconosce anche Debian.
Arch Linux (rolling) xfsbot-installer-arch.run Più leggero (41 MB contro 92) perché usa le Qt di sistema, che su Arch sono sempre recenti. In cambio chiede che tu tenga il sistema aggiornato: pacman -Syu ogni tanto, non una volta l’anno.
Fedora, openSUSE, altre xfsbot-installer-ubuntu.run Non sono collaudate, ma il pacchetto portabile ha buone probabilità di funzionare lo stesso: prova, e se il pannello risponde sei a posto.
Arch su un server che non guardi mai non è una buona idea. È una distribuzione che si aggiorna in continuazione: se la lasci ferma sei mesi, l’aggiornamento successivo diventa un lavoro. Su una macchina che deve stare accesa e basta, Ubuntu LTS è la scelta più onesta.

03Copiare il pacchetto sul server

Il pacchetto si scarica dalla homepage sul tuo computer, e da lì si manda al server con scp. Oppure lo si fa scaricare direttamente al server: entrambe le strade vanno bene.

Dal tuo computer al server (scp)

Da Windows, in PowerShell — scp c’è già, non serve installare nulla:

# Ubuntu / Debian
scp .\xfsbot-installer-ubuntu.run root@IL.TUO.SERVER:/root/

# Arch
scp .\xfsbot-installer-arch.run root@IL.TUO.SERVER:/root/

Da Linux o macOS è identico, cambia solo il modo di scrivere il percorso:

scp ~/Scaricati/xfsbot-installer-ubuntu.run root@IL.TUO.SERVER:/root/

Se l’accesso SSH non è sulla porta 22, o se usi una chiave, la porta si scrive con la -P maiuscola (con ssh invece è minuscola: è una delle antipatie storiche di questi programmi):

scp -P 2222 -i ~/.ssh/la_mia_chiave xfsbot-installer-ubuntu.run root@IL.TUO.SERVER:/root/

Oppure: scaricarlo direttamente dal server

Se il server ha accesso a internet è anche più veloce, perché il file non passa due volte dalla tua linea:

ssh root@IL.TUO.SERVER

# poi, sul server:
cd /root
curl -L -O https://filestorexfs.com/scarica/xfsbot-installer-ubuntu.run
# (per Arch: xfsbot-installer-arch.run)

04Verificare che il pacchetto sia integro

Trenta secondi che valgono la pena: ti dicono che quello che stai per lanciare come amministratore è esattamente quello che è stato pubblicato.

Il pacchetto sa controllarsi da solo:

chmod +x xfsbot-installer-ubuntu.run
./xfsbot-installer-ubuntu.run --controlla

Risposta attesa: Pacchetto integro (sha256 …). Questo però dice solo che il file non si è rotto strada facendo. Per sapere che è quello giusto, confronta l’impronta con quella scritta sulla homepage:

sha256sum xfsbot-installer-ubuntu.run

Le due stringhe devono essere identiche, carattere per carattere.

Perché ci teniamo. Un installatore gira con i permessi di amministratore: può fare qualunque cosa sulla macchina. L’impronta è il modo più semplice che esiste per non doversi fidare sulla parola — nemmeno della nostra.

Altre due opzioni utili, se vuoi guardarci dentro prima di lanciarlo:

./xfsbot-installer-ubuntu.run --versione     # che versione è
./xfsbot-installer-ubuntu.run --estrai /tmp/xfs   # estrae senza installare niente
./xfsbot-installer-ubuntu.run --aiuto        # tutte le opzioni

05Lanciare l’installazione

Se sei già collegato al server con ssh, basta:

sudo ./xfsbot-installer-ubuntu.run
Se lo lanci da remoto in una riga sola, serve -t. Scritto così: ssh root@server "/root/xfsbot-installer-ubuntu.run", SSH non apre un terminale sulla macchina lontana, e l’installatore non riesce a farti le domande: sembra piantato senza spiegazioni. La forma giusta è:
ssh -t root@IL.TUO.SERVER "/root/xfsbot-installer-ubuntu.run"

L’installazione è divisa in passi numerati e ti dice sempre a che punto è. Dura fra i cinque e i quindici minuti, quasi tutti spesi a scaricare i programmi di sistema (ffmpeg, aria2, yt-dlp e compagnia).

PassoCosa fa
Controlli preliminariGuarda distribuzione, spazio libero, memoria, connessione.
Programmi di sistemaInstalla ffmpeg, aria2, yt-dlp, python, unrar e gli altri attrezzi.
Utente e cartelleCrea l’utente di servizio xfsbot: il bot non gira come root.
Copia dell’applicazioneMette tutto in /opt/xfsbot.
ConfigurazioneLe domande: sono la parte che riguarda te, sono spiegate qui sotto.
Servizio di sistemaCrea l’unità systemd: il bot riparte da solo a ogni riavvio.
HTTPS e dominioSe hai un dominio, installa Caddy e prende il certificato da solo.
FirewallApre solo le porte che servono.
Primo avvioAccende il servizio e aspetta che il pannello risponda.
Account TelegramIl codice di accesso, se vuoi collegare anche il tuo account personale.
RiepilogoIndirizzo del pannello, utente, password, porte, comandi utili.

Se le risposte le hai già scritte: installazione muta

Chi ha già installato una volta, o chi deve mettere in piedi più server uguali, non ha nessuna voglia di ribattere trenta risposte a mano. L’installatore accetta un file di testo con dentro tutto, e in quel caso non chiede niente: parte, legge, installa.

Il file è fatto di righe NOME='valore' — lo legge bash, quindi vanno gli apici singoli. Un modello da riempire si trova dentro il pacchetto stesso:

./xfsbot-installer-ubuntu.run --estrai /tmp/xfs
cp /tmp/xfs/xfsbot-linux/script/risposte-esempio.conf.esempio /root/risposte.conf
nano /root/risposte.conf   # riempi i campi, uno per riga

Com’è fatto risposte.conf, per intero

Non c’è niente di misterioso: è un file di testo che l’installatore esegue con bash (source), quindi valgono le regole di bash. Gli apici singoli sono obbligatori attorno ai valori, perché senza, un carattere come $ o & dentro una password verrebbe interpretato invece che letto. Le righe che cominciano con # sono commenti. L’ordine non conta.

La regola d’oro: quello che non scrivi, te lo chiede. Ogni riga assente diventa una domanda a schermo. Se il tuo scopo è un’installazione davvero muta, devono esserci tutte le voci che ti riguardano — anche vuote, NOME='', per dire esplicitamente «questo non lo voglio». Una voce vuota è una risposta; una voce mancante è una domanda.

Questo è un file completo, con dentro tutto quello che l’installatore sa leggere. Copialo, cambia i valori e cancella pure i commenti:

# ─── Telegram: il minimo indispensabile ──────────────────────────────
# API ID e hash si prendono da my.telegram.org, sezione "API development tools".
TG_API_ID='1234567'
TG_API_HASH='0123456789abcdef0123456789abcdef'
# Il token che ti dà BotFather quando crei il bot.
TG_BOT_TOKEN='7712345678:AAF-esempio-di-token-non-vero-xyz'
# Il nome del bot SENZA la chiocciola.
TG_BOT_USERNAME='ilmiobot'
# Il canale dove finiscono i file. Comincia per -100. Il bot dev'essere
# amministratore del canale, altrimenti non ci può scrivere.
TG_CHANNEL_ID='-1001234567890'
# Un secondo canale per le copie di sicurezza. Vuoto = non lo voglio.
TG_CHANNEL_BACKUP_ID=''
# Il TUO ID numerico (te lo dice @userinfobot). Più di uno: separati da virgola.
TG_ADMIN_IDS='123456789'

# ─── Account personale: serve per i file oltre i 2 GB ────────────────
# Col solo bot si caricano file fino a 2 GB. Con l'account personale collegato
# si arriva a 4 GB, e con Telegram Premium a 8. Vuoto = solo il bot.
TG_USER_PHONE='+391234567890'
# La password della verifica in due passaggi, se ce l'hai. Vuota se non l'hai.
TG_USER_2FA_PASS='la-mia-password-2fa'
# Come chiamare questo account nel pannello, quando ce n'è più d'uno.
TG_USER_LABEL='Premium'

# ─── Pannello web ────────────────────────────────────────────────────
# Porta INTERNA. Con l'HTTPS acceso non è esposta: ci parla solo Caddy.
WEB_PORT='8890'
WEB_ADMIN_USERNAME='admin'
# Mettila lunga: questo utente può fare tutto.
WEB_ADMIN_PASSWORD='una-password-lunga-e-a-caso'
# Chi può iscriversi al tuo dominio:
#   open     chiunque, subito
#   approval chiunque può chiedere, entra quando approvi tu   <-- consigliato
#   closed   nessuno, gli account li crei tu dal pannello
WEB_REGISTRATION_MODE='approval'

# ─── Dominio e certificato ───────────────────────────────────────────
# Il nome pubblico. Vuoto = si usa l'IP nudo e niente HTTPS.
# ATTENZIONE: il record A deve già puntare a questo server PRIMA di
# installare, se no Let's Encrypt non può emettere il certificato.
DOMINIO='miobot.mooo.com'
# 's' = installa Caddy e prendi il certificato da solo. 'n' = lascia stare.
ABILITA_HTTPS='s'

# ─── Forum e host di file (tutti facoltativi) ────────────────────────
# Servono a cercare e scaricare direttamente dal pannello. Se non hai
# l'account, lascia la riga vuota: non è un errore.
MIRCREW_USER=''
MIRCREW_PASS=''
FORESTA_USER=''
FORESTA_PASS=''
XFS_HOST_FILESTORE_USER=''
XFS_HOST_FILESTORE_PASS=''
XFS_HOST_TERABYTEZ_USER=''
XFS_HOST_TERABYTEZ_PASS=''

# ─── Extra ───────────────────────────────────────────────────────────
# Chiave gratuita da themoviedb.org: con questa i film arrivano con
# locandina, trama e voto invece che col nome del file.
TMDB_API_KEY='0123456789abcdef0123456789abcdef'
# Quanti download insieme. 3 è un buon compromesso.
MAX_CONCURRENT_DOWNLOADS='3'
# Installare unrar/rar per aprire gli archivi .rar (licenza non libera).
INSTALLA_RAR='s'
# 's' = fermati e aspetta il codice di Telegram (serve --codice-da, sotto).
# 'n' = tira dritto, l'account personale lo colleghi dopo dal pannello.
ATTENDI_TELEGRAM='n'

# ─── Fediverso: il collegamento con gli altri domini ─────────────────
# Sempre facoltativo. 'n' e l'istanza vive benissimo per conto suo.
FEDIVERSE_ENABLED='s'
# Come ti vedono gli altri. Vuoto = usa il dominio.
FEDIVERSE_NAME='Il mio archivio'
# 's' = comparire nell'elenco pubblico dei domini. 'n' = restare defilato.
FEDIVERSE_PUBLIC_DIRECTORY='s'
# Da dove partire per conoscere gli altri, separati da virgola. Vuoto va
# benissimo: il programma ne conosce già due di fabbrica e da lì scopre
# tutti gli altri da solo. Non esiste nessun registro centrale.
FEDIVERSE_SEEDS=''
# Domini con cui federarsi SUBITO. Serve che anche l'altro lato accetti,
# quindi se non sei sicuro lascia vuoto e decidi dopo, dal pannello.
FEDIVERSE_PEERS=''

La versione corta

Se vuoi solo un archivio funzionante, senza forum, senza schede dei film e senza federazione, bastano queste dodici righe. Tutto il resto ha un valore di fabbrica sensato — ma ricorda la regola: quello che togli, te lo chiederà.

TG_API_ID='1234567'
TG_API_HASH='0123456789abcdef0123456789abcdef'
TG_BOT_TOKEN='7712345678:AAF-esempio-di-token-non-vero-xyz'
TG_BOT_USERNAME='ilmiobot'
TG_CHANNEL_ID='-1001234567890'
TG_CHANNEL_BACKUP_ID=''
TG_ADMIN_IDS='123456789'
TG_USER_PHONE=''
WEB_PORT='8890'
WEB_ADMIN_USERNAME='admin'
WEB_ADMIN_PASSWORD='una-password-lunga-e-a-caso'
WEB_REGISTRATION_MODE='closed'
DOMINIO=''
ABILITA_HTTPS='n'
ATTENDI_TELEGRAM='n'
FEDIVERSE_ENABLED='n'
Due trappole di bash, per non perderci un pomeriggio. La prima: se una password contiene un apice singolo, gli apici attorno non bastano più. Si scrive così, ed è brutto ma funziona: PASS='prima'\''dopo'. La seconda: niente spazi attorno all’uguale. WEB_PORT = '8890' non è un’assegnazione, per bash è un comando che si chiama WEB_PORT, e il file muore lì. Per controllare che sia scritto bene, prima di lanciare l’installazione:
bash -n /root/risposte.conf   # muto = va bene

Poi si passa il file all’installatore. Attenzione al -- da solo: serve a dire «quello che segue non è per te, passalo a chi sta dentro».

sudo ./xfsbot-installer-ubuntu.run -- -r /root/risposte.conf

Così non serve nemmeno il terminale: da remoto, in una riga sola e senza -t, perché non c’è più niente da chiedere.

ssh root@IL.TUO.SERVER "/root/xfsbot-installer-ubuntu.run -- -r /root/risposte.conf"

Il codice di accesso di Telegram è l’unica cosa che non si può scrivere in anticipo: arriva sul telefono in quel momento. Se vuoi che sia muta davvero fino in fondo, si mette il codice in un file appena lo ricevi e glielo si indica:

sudo ./xfsbot-installer-ubuntu.run -- -r /root/risposte.conf --codice-da /root/codice.txt

La ricetta completa, dal principio alla fine

Tutto quello che sta scritto sopra, messo in fila e pronto da incollare. Il pacchetto lo scarica il server da sé: non ha senso far passare cento megabyte due volte dalla tua linea.

Ubuntu / Debian

# --- sul server, collegato come root ---
cd /root
curl -fLO https://filestorexfs.com/scarica/xfsbot-installer-ubuntu.run
chmod +x xfsbot-installer-ubuntu.run
./xfsbot-installer-ubuntu.run --controlla

# il modello delle risposte sta dentro il pacchetto
./xfsbot-installer-ubuntu.run --estrai /tmp/xfs
cp /tmp/xfs/xfsbot-linux/script/risposte-esempio.conf.esempio /root/risposte.conf
chmod 600 /root/risposte.conf
nano /root/risposte.conf        # riempi i campi, uno per riga

bash -n /root/risposte.conf     # muto = scritto bene

# installazione muta
./xfsbot-installer-ubuntu.run -- -r /root/risposte.conf

# pulizia
rm -rf /tmp/xfs /root/risposte.conf /root/xfsbot-installer-ubuntu.run

Arch

cd /root
curl -fLO https://filestorexfs.com/scarica/xfsbot-installer-arch.run
chmod +x xfsbot-installer-arch.run
./xfsbot-installer-arch.run --controlla

./xfsbot-installer-arch.run --estrai /tmp/xfs
cp /tmp/xfs/xfsbot-linux/script/risposte-esempio.conf.esempio /root/risposte.conf
chmod 600 /root/risposte.conf
nano /root/risposte.conf

bash -n /root/risposte.conf

./xfsbot-installer-arch.run -- -r /root/risposte.conf

rm -rf /tmp/xfs /root/risposte.conf /root/xfsbot-installer-arch.run

Se hai messo ATTENDI_TELEGRAM='s'

L’installatore si ferma ad aspettare il codice. Per non restare a guardare lo schermo, glielo passi da un file — da un’altra finestra, appena arriva su Telegram:

# finestra 1, sul server
./xfsbot-installer-ubuntu.run -- -r /root/risposte.conf --codice-da /root/codice.txt

# finestra 2, dal tuo computer
ssh root@IL.TUO.SERVER "echo 12345 > /root/codice.txt"

Con ATTENDI_TELEGRAM='n' invece tira dritto, e l’account personale lo colleghi dopo dal pannello, alla voce Impostazioni → Telegram.

Tre precisazioni che fanno risparmiare tempo

Quel file vale come le chiavi di casa. Dentro ci sono il segreto del bot Telegram, la password del pannello e quelle dei forum. Tienilo leggibile solo a te (chmod 600 /root/risposte.conf) e cancellalo quando hai finito, o spostalo dove non lo vede nessuno. Non metterlo mai in una cartella servita dal web.

06Le domande, una per una

Ogni domanda mostra fra parentesi quadre il valore proposto: se ti va bene, premi Invio e passa avanti. Nessuna domanda è irreversibile — tutto quello che rispondi finisce in /opt/xfsbot/.env e si può cambiare dopo.

Telegram

DomandaCosa scrivere
TG_API_IDLe cifre prese da my.telegram.org.
TG_API_HASHLa stringa lunga presa dallo stesso posto.
TG_BOT_TOKENIl token che ti ha dato BotFather.
TG_BOT_USERNAMEIl nome del bot senza la chiocciola.
TG_CHANNEL_IDL’ID del canale archivio (comincia per -100). Il bot dev’esserne amministratore.
TG_CHANNEL_BACKUP_IDUn secondo canale per le copie. Invio per saltare.
TG_ADMIN_IDSIl tuo ID numerico Telegram (te lo dice @userinfobot). Più di uno: separati da virgola.
TG_USER_PHONEIl numero del tuo account personale, con prefisso (+39…). Serve per i file grossi e per leggere i canali. Invio per saltare.
TG_USER_2FA_PASSLa password della verifica in due passaggi, se ce l’hai. Non compare mentre la scrivi e non finisce in nessun log.

Pannello web e dominio

DomandaCosa scrivere
WEB_PORT8890 va bene quasi sempre. Cambiala solo se quella porta è già occupata.
WEB_ADMIN_USERNAMEIl tuo nome utente da amministratore. admin è comodo ma prevedibile.
WEB_REGISTRATION_MODEChi può iscriversi al tuo dominio:
open — chiunque, subito;
approval — chiunque può chiedere, entra quando approvi tu;
closed — nessuno, gli account li crei tu.
Su un dominio pubblico approval è la scelta più sensata.
WEB_ADMIN_PASSWORDNe trovi già una generata bene fra parentesi: premi Invio e tienila. Non compare mentre la scrivi.
DOMINIOIl nome pubblico, per esempio miobot.mooo.com. Se lo scrivi, l’installatore ti propone HTTPS automatico. Invio per usare solo l’IP.

Scraper, host di file, extra (tutti facoltativi)

Fediverso (collegamento con gli altri domini)

Il collegamento con gli altri domini è sempre facoltativo. Un’installazione che non si federa con nessuno funziona esattamente come le altre: archivia, scarica, trasmette. La federazione aggiunge la ricerca condivisa, non toglie niente a chi non la vuole.

07Il codice di Telegram

L’unico passo che non può essere automatico, e solo la prima volta.

Se hai indicato il numero di telefono, verso la fine l’installatore chiede a Telegram di mandarti il codice e aspetta che tu lo scriva. Arriva dentro Telegram, non per SMS: guarda nella chat «Telegram».

Alla seconda installazione non te lo chiede più. La sessione resta salvata nella cartella dei dati e gli aggiornamenti non la toccano: l’installatore la trova, scrive «Account Telegram collegato» e tira dritto.

08La cassetta degli attrezzi

L’installazione lascia un comando che si chiama come il servizio — normalmente xfsbot — e che risponde in italiano.

Guardare

  • xfsbot — riepilogo: stato, versione, coda
  • xfsbot coda — download e upload in corso
  • xfsbot segui — come sopra, aggiornato ogni 5 secondi
  • xfsbot log — il registro dal vivo
  • xfsbot stato — cosa ne pensa systemd
  • xfsbot pannello — indirizzo, utente e password
  • xfsbot novita — cosa è cambiato nelle ultime versioni

Rimettere in sesto

  • xfsbot dottore — controlla tutto e dice cosa non va
  • sudo xfsbot ripara — applica i rimedi noti e riavvia
  • xfsbot avvia / ferma / riavvia
  • xfsbot config — apre la configurazione nell’editor
  • xfsbot tools — dove ha trovato ffmpeg, aria2c, yt-dlp…
  • xfsbot crash — l’ultimo crash, se ne è rimasta traccia
  • xfsbot aggiorna — dice se ne è uscita una più recente
Due cose nuove dalla 2.1.14. xfsbot dottore controlla anche che il dominio con cui l’istanza si presenta punti davvero a questa macchina: è il guasto più silenzioso che esista, perché il certificato smette di rinnovarsi e non se ne accorge nessuno finché non scade. E xfsbot crash ora mostra i nomi delle funzioni e i numeri di riga invece di una fila di indirizzi: i pacchetti Linux si portano dietro i simboli di debug, in un file a fianco al programma.
Se hai installato in una cartella diversa da /opt/xfsbot, il comando prende il nome da quella: con -p /opt/xfsbot-prova il comando diventa xfsbot-prova e convive con l’installazione vera senza disturbarla.

I cataloghi dei metadati

Sono gli elenchi da cui il bot pesca titoli, copertine e trame di libri, fumetti e anime. Sono già dentro il .run: circa 84 MB che l’installatore copia in /opt/xfsbot/metadata_tools senza chiedere niente e senza scaricare niente. Non devi fare nulla per averli.

Ogni tanto però i cataloghi crescono, e non ha senso reinstallare tutto per aggiornare due file di dati. In quel caso si prendono da soli:

curl -fLO https://filestorexfs.com/scarica/cataloghi_metadati.zip
sudo unzip -o cataloghi_metadati.zip -d /opt/xfsbot/metadata_tools
sudo chown -R xfsbot:xfsbot /opt/xfsbot/metadata_tools
sudo systemctl restart xfsbot
L’archivio contiene solo dati e script di lettura: nessun eseguibile, nessuna configurazione, niente che riguardi la tua istanza. Se lo scaricamento non riesce non succede niente di grave — restano quelli che hai già, e la ricerca continua a funzionare come prima.

09Aggiornare

Dalla seconda volta in poi non ti viene chiesto niente: le risposte sono già scritte e vengono rilette da sole.

La strada breve

scp xfsbot-installer-ubuntu.run root@IL.TUO.SERVER:/root/
ssh -t root@IL.TUO.SERVER "chmod +x /root/xfsbot-installer-ubuntu.run && \
    /root/xfsbot-installer-ubuntu.run --aggiorna"

--aggiorna vuol dire: le risposte le sai già, non chiedere niente a nessuno. Rilegge tutto da /opt/xfsbot/.env, sostituisce il programma e riavvia il servizio.

La strada dal pannello

Quando esce una versione nuova, il pannello lo dice da solo (una pallina accanto a Impostazioni). Nella scheda Aggiornamenti premi «scarica e verifica»: il pacchetto scende sul server, viene confrontato con l’impronta firmata, e poi ti viene mostrato il comando esatto da incollare, con un pulsante per copiarlo. Sarà qualcosa del genere:

sudo /opt/xfsbot/aggiornamenti/xfsbot-installer-ubuntu.run --aggiorna

Il pannello non lo lancia da solo perché il bot gira come utente normale, senza i permessi di amministratore: è una scelta di sicurezza, non una mancanza. Un programma che scarica da internet e può installare come root è esattamente la cosa che non vogliamo avere sulla macchina.

Cosa NON viene toccato

Alla prima entrata dopo un aggiornamento, il pannello apre da solo una scheda che dice da quale versione sei arrivato e cosa è cambiato. Poi non te lo chiede più.

10Porte, HTTPS e firewall

L’installatore apre da solo quello che serve, se trova ufw o firewalld. Ecco cosa apre e perché.

PortaA cosa serve
22SSH. Viene aperta per prima: chiudersi fuori dal proprio server è un classico che facciamo di tutto per evitare.
80 e 443Solo se hai scelto l’HTTPS: servono a Caddy per prendere e rinnovare il certificato e per servire il pannello.
8890Il pannello, se non hai scelto l’HTTPS. Con l’HTTPS resta chiusa verso l’esterno: ci parla solo Caddy, da dentro.
6881 TCP e UDPBitTorrent: senza, puoi scaricare ma quasi nessuno riesce a scaricare da te.
Se il tuo VPS ha anche un firewall nel pannello del fornitore (Hetzner, OVH, Vultr, AWS…), quelle regole stanno prima della macchina: vanno aperte anche lì, altrimenti il server non riceve niente e sembra che l’installazione non abbia funzionato.

HTTPS con un dominio

Se hai risposto con un dominio, l’installatore mette Caddy e il certificato arriva da solo in una decina di secondi. Perché funzioni, il dominio deve già puntare all’IP del server (record A) prima di installare: se il DNS non è ancora propagato, il certificato non può essere emesso. Si rimedia dopo con sudo systemctl restart caddy.

Per sapere se il DNS è a posto senza indovinare, c’è xfsbot dottore: la sezione IL DOMINIO confronta il record A del tuo nome con l’IP vero di questa macchina, e poi prova a rientrare dalla porta principale per vedere se il pannello risponde davvero da fuori.

11Trucchi e cose da sapere

Una scrivania grafica sul server (VNC)

Serve raramente, ma quando serve fa comodo: per esempio per fare il login su un forum protetto da Cloudflare con un browser vero. L’installazione lascia pronto:

sudo /opt/xfsbot/script/setup-vnc.sh

Installa una scrivania XFCE leggera raggiungibile via VNC. Non è obbligatoria e non viene installata da sola.

I forum dietro Cloudflare

Alcuni forum (MirCrew fra questi) mettono davanti un controllo «dimostra di essere umano» che nessun programma può superare da solo. La strada che funziona è fare il login una volta con un browser vero — anche sul tuo computer — ed esportare i cookie nel pannello, alla voce degli scraper. Da lì in poi il bot lavora da solo finché i cookie non scadono.

Dove stanno le cose

/opt/xfsbotil programma
/opt/xfsbot/.envla configurazione: tutte le tue risposte
/opt/xfsbot/datibanca dati, sessioni, file di lavoro
/opt/xfsbot/aggiornamentii pacchetti scaricati dal pannello
/var/log/xfsbot-install.logil registro dell’installazione
/usr/local/bin/xfsbotla cassetta degli attrezzi

Spazio su disco

È il motivo numero uno per cui un’installazione smette di funzionare senza dare spiegazioni. Un controllo ogni tanto costa niente:

df -h /
du -sh /opt/xfsbot/dati/*

Copia di sicurezza in trenta secondi

Se salvi questi due, hai salvato tutto quello che non si può ricreare:

sudo tar czf ~/xfsbot-backup-$(date +%F).tar.gz \
     /opt/xfsbot/.env /opt/xfsbot/dati

Più installazioni sulla stessa macchina

Si può, e non si pestano i piedi: cambia prefisso e cambia porta.

sudo ./xfsbot-installer-ubuntu.run -- -p /opt/xfsbot-prova

Servizio, utente, comando e registro prendono il nome dalla cartella: xfsbot-prova.

12Se qualcosa va storto

Prima di tutto, la domanda giusta al programma giusto:

xfsbot dottore

Controlla servizio, porte, permessi, programmi esterni, spazio, configurazione, e dice cosa non va invece di limitarsi a dire che non va. Poi:

sudo xfsbot ripara

applica i rimedi noti (permessi, librerie, unità systemd, ponti verso i programmi) e riavvia.

SintomoCosa guardare
L’installazione sembra ferma e non chiede niente L’hai lanciata via ssh senza -t: interrompi con Ctrl-C e rilancia con ssh -t.
Il pannello non risponde xfsbot stato e xfsbot log. Nove volte su dieci è la porta chiusa nel firewall del fornitore.
HTTPS non parte Il DNS non punta ancora al server, oppure la 80 è chiusa: sudo systemctl status caddy.
Il bot non risponde su Telegram Token sbagliato o bot non amministratore del canale: xfsbot config.
I download non partono xfsbot tools: manca uno fra ffmpeg, aria2c, yt-dlp.
Si è chiuso da solo xfsbot crash e le ultime righe di xfsbot log.
Il registro completo dell’installazione resta in /var/log/xfsbot-install.log: è il primo file da guardare, e il primo da allegare se chiedi aiuto.