Master's Thesis

ZeroTier Controller Client

Final Thesis 6.5 MB

Author of thesis: Ing. Vojtěch Kulíšek

Acad. year: 2024/2025

Supervisor: Ing. Jiří Hynek, Ph.D.

Reviewer: Ing. Petr John

Abstract:

The aim of this work was to create a client web application and desktop application for controlling one or more ZeroTier controllers. The application facilitates the work of creating virtual networks and their subsequent management compared to existing solutions. The new application allows users without knowledge of computer networks to easily and correctly set up a ZeroTier controller. Prior to this work, there was no application that would allow users without knowledge of computer networks to do this.

Keywords:

sharing services, port forwarding, virtual computer networks, network address translation hole punching, TailScale, ZeroTier, virtual websites, multiplatform development

Date of defence

23.06.2025

Result of the defence

Defended (thesis was successfully defended)

znamkaAznamka

Grading

A

Process of defence

Student nejprve prezentoval výsledky, kterých dosáhl v rámci své práce. Komise se poté seznámila s hodnocením vedoucího a posudkem oponenta práce. Student následně odpověděl na otázku oponenta a na další otázky přítomných, např. ohledně implementačních detailů architektury. Komise se na základě posudku oponenta, hodnocení vedoucího, přednesené prezentace a odpovědí studenta na položené otázky rozhodla práci hodnotit stupněm A - výborně.

Topics for thesis defence

  1. Máte v plánu rozšířit podporu i na další technologie kromě ZeroTier?

Language of thesis

Czech

Faculty

Department

Study programme

Information Technology and Artificial Intelligence (MITAI)

Specialization

Information Systems and Databases (NISD)

Composition of Committee

doc. Dr. Ing. Dušan Kolář (předseda)
RNDr. Marek Rychlý, Ph.D. (člen)
Ing. Zbyněk Křivka, Ph.D. (člen)
Ing. Šárka Květoňová, Ph.D. (člen)
Ing. Radek Hranický, Ph.D. (člen)
Ing. Jiří Hynek, Ph.D. (člen)

Supervisor’s report
Ing. Jiří Hynek, Ph.D.

Student ke své práci přistupoval velmi svědomitě. Vytvořil obecně použitelné řešení, které publikoval na studentské konferenci. Navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification
Informace k zadání

Zadání vzniklo jako nápad studenta vytvořit klienta pro kontroléry platformy ZeroTier za účelem vytváření a správy virtuálních počítačových sítí. Student musel důkladně porozumět problematice počítačových sítí a technologii ZeroTier. Pro implementaci webového klienta použil jazyk TypeScript, knihovny React a PrimeReact, pro integraci řešení do desktopové aplikace pak jazyk Rust a knihovnu Tauri. Serverová část je řešena v jazyce PHP s využitím SQLite. Pro její běh student implementoval v jazyce C vlastní zjednodušený webový server. Velký důraz kladl na minimální velikost výsledné aplikace pro její spustitelnost na síťových zařízeních. Zadání hodnotím jako obtížnější a považuji ho za splněné.

Aktivita při dokončování

Práce byla dokončena včas a její obsah byl konzultován.

Publikační činnost, ocenění

Řešení bylo uveřejněno ve službě Gitlab pod názvem AnyController. Výstupy byly prezentovány na studentské konferenci Excel@FIT 2025.

Práce s literaturou

Student si aktivně dohledával literaturu týkající se zejména tvorby počítačových sítí a využitých technologií.

Aktivita během řešení, konzultace, komunikace

Student diplomovou práci řešil dva akademické roky. Byl aktivní během celé této doby a účastnil pravidelných konzultací. Rád bych vyzdvihl jeho samostatnost a schopnost řešit netriviální problémy.

Points proposed by supervisor: 95

Grade proposed by supervisor: A

Reviewer’s report
Ing. Petr John

Pan Kulíšek navrh a implementovat řešení, které zjednodušuje nasazení a správu ZeroTier sítí. Kromě implementace rozšíření student vytvořili velmi kvalitní podpůrné části jako např. vlastní webový server a možnost nasazení pomocí technologie Docker. Diplomovou práci hodnotím jako velmi zdařilou a navrhuji hodnocení stupněm A.

Evaluation criteria Verbal classification Points
Rozsah splnění požadavků zadání

Evaluation level: zadání splněno

Práce splňuje všechny body zadání.

Rozsah technické zprávy

Evaluation level: je v obvyklém rozmezí

Práce je v typickém rozsahu pro diplomovou práci.

Prezentační úroveň technické zprávy

Diplomová práce má obvyklou strukturu. V první kapitole student popisuje problematiku tvorby sdílených sítí a existující nástroje použitelné k jejich tvorbě. Ve druhé popisuje tvorbu aplikací s důrazem na webová řešení. Třetí kapitola obsahuje analýzu požadavků na řešení a čtvrtá návrh řešení. Poslední dvě kapitoly popisují jeho implementaci a průběh testování. Text na sebe navazuje plynule a je pochopitelný.

90
Formální úprava technické zprávy

Technická zpráva místy obsahuje typografické chyby a hovorové výrazy. Osobně nehodnotím kladně ani větu: “Toto je docela zajímavá kategorie, která je naprosto reálná, nejedná se o vtip.” (strana 22)

75
Práce s literaturou

Student cituje 90 zdrojů, které se skládají převážně z vědeckých článků a knižních publikací. Zvolené zdroje vhodně pokrývají popisovanou problematiku.

98
Realizační výstup

Realizační výstup působí velmi dobrým a kvalitním dojmem. Student implementoval nejen řešení, které zjednodušuje provozování sítí vytvořených pomocí ZeroTier, ale také investoval značné množství práce do podpůrných částí, jako např. vlastní webový server a minimalistické obrazy technologie Docker. Díky této dodatečné práci je možné řešení provozovat nejen na tradičních počítačích, ale i na síťových prvcích různých architektur.

95
Využitelnost výsledků

Technická zpráva poukazuje na potenciál praktického využití a student má v úmyslu řešení dále rozvíjet. Domnívám se, že jeho další uplatnění je reálné.

Náročnost zadání

Evaluation level: obtížnější zadání

Tato diplomová práce má za úkol navrhnout a implementovat klienta kontroléru technologie ZeroTier. Přestože zadání diplomové práce hodnotím jako středně obtížné, výsledné řešení svou úrovní odpovídá úkolu vyšší obtížnosti.

Topics for thesis defence:
  1. Máte v plánu rozšířit podporu i na další technologie kromě ZeroTier?
Points proposed by reviewer: 95

Grade proposed by reviewer: A

Responsibility: Mgr. et Mgr. Hana Odstrčilová