Skip to content

libraries

michal92299 edited this page Oct 24, 2025 · 1 revision

Hacker Lang – Wiki (Strona 2: Biblioteki i include)
Własne moduły, współdzielenie kodu i zarządzanie bibliotekami.


# Biblioteki i `include` – Strona 2

> **Biblioteki** w Hacker Lang to sposób na **współdzielenie i ponowne użycie kodu**.  
> Zamiast kopiować kod między skryptami – tworzysz bibliotekę i włączasz ją przez `#`.

---

## Struktura bibliotek

Wszystkie biblioteki przechowywane są w:

~/.hackeros/hacker-lang/libs/


Każda biblioteka ma strukturę:

libs/ └── nazwa-biblioteki/ ├── main.hacker ← Główny plik (wymagany) ├── config.json ← Opcjonalny: metadane └── README.md ← Opcjonalny: dokumentacja


---

## Tworzenie biblioteki

### Krok 1: Utwórz katalog
```bash
mkdir -p ~/.hackeros/hacker-lang/libs/my-tools

Krok 2: Utwórz main.hacker

! Biblioteka: my-tools
// curl
// jq

> echo "[my-tools] Pobieranie danych z API..."
> curl -s https://api.ipify.org?format=json | jq -r '.ip'

Krok 3: Zainstaluj (opcjonalnie – jeśli chcesz dystrybucję)

hackerc install my-tools

(W przyszłości: hacker-library będzie zarządzać repozytoriami)


Używanie biblioteki w skrypcie

! Główny skrypt
# my-tools        ! Włącza bibliotekę

@API_URL=https://api.example.com/data

> echo "Pobieranie z $API_URL"
> curl -s $API_URL | jq .

Co się dzieje?

  1. Parser widzi # my-tools
  2. Sprawdza: ~/.hackeros/hacker-lang/libs/my-tools/main.hacker
  3. Wczytuje cały kod z main.hacker
  4. Wykonuje w tej samej kolejności – jak zwykły kod

Rekurencyjne include

Biblioteki mogą zawierać inne biblioteki:

! Biblioteka: network-scan
# util           ! Włącza util
# my-tools        ! Włącza my-tools

@TARGET=192.168.1.1

> nmap -sV $TARGET

Wbudowane biblioteki (przykłady)

Nazwa Opis Komendy
brak brak

Zainstaluj: hackerc install util


Zarządzanie bibliotekami

Komenda Działanie
hackerc install nazwa Pobiera i instaluje bibliotekę
hackerc update Aktualizuje wszystkie biblioteki
hackerc clean Czyści tymczasowe pliki .sh

Przykład: Współdzielenie logowania

~/.hackeros/hacker-lang/libs/util/main.hacker

! Biblioteka: util
@LOG_DIR=/var/log/hacker

> mkdir -p $LOG_DIR

> echo "[$(date)] START: $0" >> $LOG_DIR/last.log
> echo "[$(date)] CMD: $1" >> $LOG_DIR/last.log

attack.hacker

# util

@TARGET=10.0.0.5

> echo "Atakuję $TARGET"
> nmap -A $TARGET
> echo "Zakończono"

Logi trafią do /var/log/hacker/last.log


Najlepsze praktyki

  1. Jedna biblioteka = jedna funkcja
    web-scan, backup, notify

  2. Nie używaj > sudo w bibliotece
    → Zostaw to głównemu skryptowi

  3. Używaj @VAR do konfiguracji

    @BACKUP_DIR=/backup
    
  4. Zawsze dodawaj ! Opis na górze main.hacker


Następna strona: REPL i Debugowanie →


Hacker Lang v0.0.2 | Biblioteki = moc


---