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
Information about assignment

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é.

Activity during solution, consultations, communication

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

Publication activity, awards

Ř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.

Work with literature

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

Activity during solution, consultations, communication

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
The extent to which the requirements of the assignment have been met

Evaluation level: assignment fulfilled

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

Extent of the technical report

Evaluation level: is within the usual extent

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

Presentation level of the technical report

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
Formal preparation of a technical report

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
Work with literature

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
Realisation output

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
Usability of results

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é.

The difficulty of the assignment

Evaluation level: more difficult assignment

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á