Linguaggio
🐍 Python
Pacchetto
dojo-swos · import dojo.swos
Ultima versione
0.1.0 · 9 Novembre 2026
Richiede
Python ≥ 3.9
Dipendenze
nessuna
Licenza
MIT
Linguaggio
🐘 PHP
Pacchetto
dojo/swos · Dojo\Swos
Ultima versione
0.1.0 · 9 Novembre 2026
Richiede
PHP ≥ 8.1
Dipendenze
ext-curl *, ext-json *
Licenza
MIT

Funziona con: SwOS 2.x (verificata su SwOS 2.16); smart switch MikroTik con SwOS, serie CRS3xx e affini.

Libreria del progetto indipendente MikroTik Dojo: non è software MikroTik né è approvata da MikroTik. Provala prima in laboratorio.

Installazione e uso

Installazione (Python)

pip install --index-url https://mikrotikdojo.com/pypi/<il-tuo-indirizzo>/simple/ dojo-swos

La libreria si installa con pip dall'indice del dojo, con un indirizzo personale riservato a chi è nel dojo. Entrare è gratis: ti serve solo la tua email.

Entra gratis nel dojo Sono già iscritto

Esempio d'uso (Python)

from dojo.swos import SwOS

sw = SwOS("192.0.2.10")            # utente admin, password vuota (default SwOS)
print(sw.system()["identity"])      # -> SWOS

for p in sw.ports():
    print(p["name"], "UP" if p["link"] else "giu'")

# configurare una VLAN (attento alla porta di gestione!)
sw.set_vlans([{"vid": 10, "ports": [2, 3], "name": "lab"}])

# scrivi via b-file, verifica via SNMP
sw.set_snmp(location="sala-rack")

Installazione (PHP)

composer config repositories.dojo composer https://mikrotikdojo.com/composer/<il-tuo-indirizzo>/
composer require dojo/swos

La libreria si installa con Composer dal repository del dojo, con un indirizzo personale riservato a chi è nel dojo. Entrare è gratis: ti serve solo la tua email.

Entra gratis nel dojo Sono già iscritto

Esempio d'uso (PHP)

use Dojo\Swos\SwOS;

$sw = new SwOS("192.0.2.10");        // utente admin, password vuota (default SwOS)
echo $sw->system()["identity"];      // -> SWOS

foreach ($sw->ports() as $p) {
    echo $p["name"], $p["link"] ? " UP\n" : " giu'\n";
}

// configurare una VLAN (attento alla porta di gestione!)
$sw->setVlans([["vid" => 10, "ports" => [2, 3], "name" => "lab"]]);

Che cosa fa

dojo.swos parla con gli smart switch MikroTik che girano SwOS attraverso la sua interfaccia HTTP non documentata — i cosiddetti b-file (sys.b, link.b, vlan.b…). SwOS ufficialmente si gestisce solo dal browser: questa libreria apre quel canale da codice, così puoi leggere lo stato, i contatori e la configurazione, e scrivere la configurazione, senza aprire la GUI.

Cosa fa: legge sistema (identity, IP, temperatura, ventole), porte (link, velocità, nomi), tabella MAC, statistiche per-porta, VLAN, RSTP e SNMP; scrive identity, impostazioni SNMP e tabella VLAN. Incapsula il formato b-file (numeri esadecimali, stringhe in hex-ASCII, bitmask per-porta, IP little-endian) e la Digest authentication.

Quando serve: automazione e provisioning degli switch SwOS, backup della configurazione, monitoraggio del traffico, script di controllo — tutto ciò che la GUI fa a mano, ma ripetibile.

Limiti: SwOS usa HTTP in chiaro con Digest auth (niente HTTPS): va usata su reti fidate o in laboratorio. Il formato b-file è frutto di reverse-engineering e MikroTik potrebbe cambiarlo tra le versioni. La scrittura è immediata: una VLAN sbagliata sulla porta di gestione taglia l’accesso.

Versioni

VersioneNovitàFile
0.1.0 PHP ultima
9 Novembre 2026

Prima versione pubblica (PHP). Richiede PHP 8.1+ con le estensioni curl e json. Namespace Dojo\Swos.

  • dojo-swos-0.1.0.zip 7,3 KB
    sha256 944114e4894a2ba46cdd1a85186dd0aa373dfa8d925dc9c5b4e1d58895bcca49
    .ots · confermata nel blocco Bitcoin 975.221
0.1.0 Python ultima
9 Novembre 2026

Prima versione pubblica. Lettura di sistema, porte, VLAN, RSTP, SNMP, tabella MAC e statistiche; scrittura di identity, SNMP e VLAN. Nessuna dipendenza esterna (solo libreria standard).

  • dojo_swos-0.1.0-py3-none-any.whl 8,9 KB
    sha256 c0e6d3d7f9350e975820cf884c8d8333c354729d32499173bdabc99310d45e66
    .ots · confermata nel blocco Bitcoin 975.221
  • dojo_swos-0.1.0.tar.gz 8,5 KB
    sha256 c7f5ae370fec4f69a3aafd3341d2aafd63e30ddc6f79305587199245600581c6
    .ots · confermata nel blocco Bitcoin 975.221

Ogni file ha la sua impronta SHA-256 (pip e Composer la controllano da soli) e una prova OpenTimestamps registrata su Bitcoin: chiunque può verificare che il file è quello pubblicato in quella data. I file si scaricano solo se sei nel dojo.

Gli howto che la usano

Domande frequenti

Funziona con RouterOS?

No: è pensata per SwOS, il sistema operativo switch di MikroTik. Per RouterOS esiste già l'API binaria e la REST ufficiali. Sugli apparati dual-boot vale quando sono avviati in SwOS.

Che credenziali servono?

Le credenziali di SwOS, che sono separate da quelle di RouterOS. Il default è utente admin con password vuota: cambiala subito su una rete vera.

Serve l'HTTPS?

No, SwOS espone solo HTTP con Digest authentication. Per questo la libreria va usata su reti fidate o in laboratorio, non esposta su Internet.

Posso configurare le VLAN da codice?

Sì, sia in lettura sia in scrittura (POST sulla tabella vlan.b). Attenzione a non isolare la porta da cui amministri, e ricordati di salvare la config in SwOS (Actions → Save Config).

Legge anche il PoE e i consumi?

Sì sui modelli con PoE, dai b-file. Via SNMP invece PoE e consumi non sono esposti: per quei dati serve la libreria.