
Rustatio è un’applicazione desktop multipiattaforma progettata per simulare il comportamento dei principali client BitTorrent e analizzare le dinamiche legate al seeding e alle statistiche di trasferimento. Sviluppato con Rust e Tauri, con un’interfaccia realizzata utilizzando Svelte 5, il progetto punta a combinare prestazioni, un’esperienza grafica moderna e strumenti di configurazione avanzati.
Il software è disponibile per Linux, Windows e macOS e permette di selezionare differenti profili di client, riproducendone alcuni elementi identificativi e comportamentali. Tra quelli supportati figurano uTorrent, qBittorrent, Transmission, Deluge, BitTorrent e rTorrent, con la possibilità di scegliere anche versioni precedenti attraverso l’interfaccia.
Uno degli aspetti centrali di Rustatio è la simulazione delle statistiche di upload e download. L’applicazione permette di configurare le velocità di trasferimento, personalizzare i valori statistici e modificarli progressivamente, così da studiare differenti scenari di comportamento. Sono disponibili anche condizioni di arresto automatico basate sul rapporto di condivisione, sulla quantità di dati trasferiti o sulla durata del seeding.
Rustatio è dichiarato dal progetto uno strumento a scopo educativo. È importante distinguere la simulazione locale dall’invio di statistiche artificiali ai tracker reali: quest’ultima attività può violare le regole dei tracker privati, compromettere l’affidabilità delle statistiche di condivisione e comportare la sospensione o il ban dell’account. Per questo motivo, il suo utilizzo dovrebbe rispettare le condizioni del servizio coinvolto ed essere limitato ad ambienti di test autorizzati.
Emulazione dei client BitTorrent e monitoraggio delle statistiche
Rustatio mette a disposizione diversi profili di emulazione, ciascuno progettato per riprodurre caratteristiche identificative del client selezionato. Il progetto considera elementi come il formato del peer ID, l’intestazione User-Agent, la versione del protocollo HTTP e l’ordine dei parametri delle richieste inviate al tracker.
La tabella delle versioni supportate comprende uTorrent 3.5.5, qBittorrent 5.2.4, Transmission 4.1.3, Deluge 2.2.0, BitTorrent 7.11.0 e rTorrent 0.16.24. Le versioni meno recenti possono essere selezionate nell’interfaccia, offrendo maggiore flessibilità nella preparazione degli scenari di prova.
Il funzionamento prevede innanzitutto la selezione di un file .torrent, dal quale vengono estratti l’info hash e l’indirizzo del tracker. Successivamente, l’utente può configurare il profilo del client, le velocità, la porta e gli altri parametri disponibili. Una volta avviata l’esecuzione, l’interfaccia mostra le statistiche aggiornate e grafici interattivi per osservare l’andamento dei valori nel tempo.
Il supporto a più istanze permette di gestire contemporaneamente diversi torrent, mentre le opzioni per randomizzare le velocità e il rapporto di condivisione oppure incrementare gradualmente i valori consentono di confrontare scenari differenti. Il programma include inoltre condizioni di arresto automatico, utili per terminare una simulazione al raggiungimento di determinati obiettivi.
Un’altra funzione riguarda la gestione dei periodi di inattività. Rustatio può sospendere gli announce quando non sono presenti peer interessati al download o al seeding, secondo le condizioni previste dalla configurazione. È disponibile anche una cartella monitorata, attraverso la quale caricare automaticamente nuovi file .torrent inseriti in una directory specifica.
Architettura Rust e Tauri, configurazione e supporto multipiattaforma
La scelta di Rust per la componente applicativa e di Tauri per l’interfaccia desktop punta a contenere il peso dell’applicazione e a offrire un’esperienza nativa sui principali sistemi operativi. Svelte 5 gestisce invece la parte grafica, con pannelli di configurazione, controlli operativi e visualizzazioni dedicate alle statistiche.

Rustatio offre una configurazione in formato TOML, adatta a organizzare parametri e preferenze in un file leggibile e modificabile. I log dettagliati della console aiutano a comprendere il comportamento dell’applicazione e a individuare eventuali problemi durante le operazioni di test.
Tra le funzionalità aggiuntive figura la sincronizzazione della porta VPN in ambienti Docker con Gluetun. Quando è configurato il port forwarding, Rustatio può seguire automaticamente la porta inoltrata, riducendo la necessità di aggiornare manualmente questo parametro.
Come installare Rustatio
Rustatio viene rilasciato per Linux con pacchetti deb e rpm per una facile installazione nelle principali distribuzioni, inoltre è disponibile la versione “portable” Abbiamo testato Rustatio su Arch Linux con ambiente desktop GNOME 51.
Il progetto integra quindi strumenti che vanno oltre la semplice selezione di un client simulato: dalla gestione di più istanze alle statistiche in tempo reale, fino all’automazione del caricamento dei file e alla configurazione di scenari ripetibili.
Per chi studia il funzionamento dei tracker BitTorrent, l’analisi dei protocolli e le differenze tra client, Rustatio offre un insieme articolato di controlli e strumenti di osservazione. L’impiego di ambienti isolati e tracker di test autorizzati è particolarmente importante quando si sperimentano richieste di annuncio e statistiche simulate, evitando di alterare dati reali o violare le regole dei servizi utilizzati.