Skip to content

HLI‐Commands

michal92299 edited this page Nov 29, 2025 · 1 revision

hli – Wszystkie komendy (v1.2+)

hli to główny interfejs Hacker Lang – działa podobnie jak cargo, npm czy poetry.
Wykrywa automatycznie projekty (bytes.yaml) i sam decyduje, co trzeba zainstalować/zaktualizować.

Podstawowe komendy

Komenda Opis Przykład użycia
hli run Uruchamia skrypt lub cały projekt hli run
hli run main.hacker
hli run .
hli run --verbose Pełny output parsera, kompilatora i runtime hli run -v
hli compile Kompiluje do natywnego binarka (Cranelift → ELF) hli compile main.hacker
hli compile -o payload Kompiluje i nadaje własną nazwę wynikowi hli compile . -o revshell
hli compile --bytes Tryb „wszystko w jednym” – wkompilowuje biblioteki i pluginy hli compile --bytes
hli check Tylko walidacja składni (bez uruchamiania) hli check main.hacker
hli init [plik.hacker] Tworzy nowy szablon projektu/skryptu + bytes.yaml hli init
hli init exploit.hacker
hli clean Usuwa wszystkie tymczasowe pliki /tmp/hacker_* hli clean --verbose
hli repl Uruchamia interaktywny REPL Hacker Lang hli repl
hli editor [plik] Otwiera wbudowany hacker-editor (ncurses) hli editor payload.hacker

Komendy projektowe (działa gdy istnieje bytes.yaml)

Komenda Efekt równoważny
hli run lub hli run . automatycznie czyta entry: z bytes.yaml i uruchamia
hli compile lub hli compile . kompiluje plik z entry: i nadaje nazwę z package.name
hli check lub hli check . sprawdza cały projekt

Zarządzanie pakietami (wrapper na bytes)

Komenda Co robi
hli install nazwa = bytes install nazwa
hli remove nazwa = bytes remove nazwa
hli update aktualizuje wszystkie zainstalowane liby
hli search zapytanie wyszukuje w repozytorium bytes.io
hli plugin install metasploit instaluje i aktywuje plugin

hli sam wywoła bytes gdy zobaczy # nazwa-biblioteki lub \plugin i nie znajdzie ich lokalnie.

Rzadziej używane, ale bardzo przydatne

Komenda Opis
hli unpack bytes Pobiera i instaluje najnowszą wersję narzędzia bytes
hli docs Wyświetla wbudowaną dokumentację
hli tutorials Krótkie samouczki w terminalu
hli syntax Podsumowanie całej składni w jednej tabeli
hli version Pokazuje wersje wszystkich komponentów
hli help / hli Pełna pomoc (właśnie to widzisz)

Skróty i aliasy (można używać zamiennie)

hli r          → hli run
hli c          → hli compile
hli b          → hli compile --bytes
hli chk        → hli check
hli i nazwa    → hli install nazwa
hli repl       → hli r (w katalogu projektu)

Przykład pełnego workflowu

# 1. Nowy projekt
hli init scanner.hacker

# 2. Edytujemy (opcjonalnie)
hli editor scanner.hacker

# 3. Testujemy składnię
hli check

# 4. Uruchamiamy z pełnym logiem
hli run --verbose

# 5. Wszystko OK → kompilujemy pojedynczy binarek
hli compile --bytes -o netscanner

# 6. Gotowe – przenośne, bez zależności
chmod +x netscanner
./netscanner

Co się dzieje pod maską?

Krok Który komponent działa
Parsowanie hacker-parser (Zig) → JSON
Walidacja hacker-parser
Runtime hacker-runtime (Go)
Kompilacja hacker-compiler (Rust + Cranelift)
Zarządzanie libami bytes (Crystal)
Interfejs hli (Crystal)

Wszystkie komponenty są automatycznie instalowane przez skrypt instalacyjny.