Skip to content

Creating‐Libraries

michal92299 edited this page Nov 29, 2025 · 1 revision

Tworzenie własnych bibliotek dla Hacker Lang

Chcesz, żeby cały świat pisał w swoich skryptach # twoja-biblio i wszystko działało od razu?
W 10 minut stworzysz i opublikujesz własną bibliotekę.

Struktura biblioteki

moja-biblio/
├── main.hacker          ← obowiązkowy – kod biblioteki
├── README.md            ← opcjonalny, ale bardzo mile widziany
├── icon.png             ← opcjonalne (96×96 lub 128×128)
┐
└── metadata.yaml        ← opcjonalne, ale zalecane        └ razem widać w `bytes search`

Krok po kroku – przykład biblioteki discord-webhook

  1. Tworzymy katalog i pliki
mkdir discord-webhook
cd discord-webhook
  1. main.hacker – cała logika biblioteki
! Discord Webhook Library v1.1
! Użycie w skrypcie: # discord-webhook

@WEBHOOK_URL=https://discord.com/api/webhooks/...

:send
    >> curl -H "Content-Type: application/json" \
            -d "{\"content\": \"$1\"}" \
            "$WEBHOOK_URL" > /dev/null 2>&1

:send_embed
    >> curl -H "Content-Type: application/json" \
            -d '{
                  "embeds": [{
                    "title": "'$1'",
                    "description": "'$2'",
                    "color": 15258703
                  }]
                }' \
            "$WEBHOOK_URL" > /dev/null 2>&1

> echo "[discord-webhook] Biblioteka załadowana"
  1. (Opcjonalnie) metadata.yaml
name: discord-webhook
version: 1.1
author: NeoHacker
description: Proste wysyłanie wiadomości i embedów na Discord
category: notification
tags: discord, webhook, notify, alert
homepage: https://github.com/NeoHacker/discord-webhook
  1. Pakujemy do jednego pliku (to właśnie instaluje bytes)
# Najwygodniej: zwykły ZIP, ale z prawami wykonywania
zip -r ../discord-webhook.zip ./*
# albo tar.gz
tar -czf ../discord-webhook.tar.gz ./*
  1. Uploadujemy gdzieś publicznie (najlepiej GitHub Releases)
# Przykład: GitHub Releases
gh release create v1.1 discord-webhook.zip --title "discord-webhook v1.1"

Link do pliku:
https://github.com/NeoHacker/discord-webhook/releases/download/v1.1/discord-webhook.zip

  1. Zgłaszamy bibliotekę do oficjalnego repozytorium bytes.io

Otwórz Pull Request tutaj →
https://github.com/Bytes-Repository/bytes.io

W pliku repository/bytes.io dodaj jedną linijkę w odpowiedniej kategorii:

Community:
  notification:
    discord-webhook: https://github.com/NeoHacker/discord-webhook/releases/download/v1.1/discord-webhook.zip

Gotowe! Po mergu każdy będzie mógł napisać:

# discord-webhook
@WEBHOOK_URL=https://discord.com/api/webhooks/123/abc

> echo "Atak rozpoczęty!"
.send "Serwer 192.168.1.37 zdobyty!"
.send_embed "Payload wykonany" "Użytkownik: root\nCzas: $(date)"

Zaawansowane triki w bibliotekach

Cel Jak to zrobić w main.hacker
Domyślne zmienne @WEBHOOK_URL=CHANGE_ME
Wymagane zmienne ? [ -z "$WEBHOOK_URL" ] > echo "Błąd: ustaw @WEBHOOK_URL!" && exit 1
Funkcje pomocnicze :info > echo "[$(date)] $1"
Kolorowy output >> echo -e "\033[32m[+] $1\033[0m"
Sprawdzenie uprawnień root ? [ "$EUID" = "0" ] > echo "Wymaga roota!" && exit 1

Najczęściej publikowane kategorie (wybierz jedną)

Network       → nmap-wrapper, http-tools, ssh-brute
Crypto        → aes-tools, hash-cracker
Exploits      → cve-2024-xxxx, log4shell
Notification  → discord-webhook, telegram-notify
System        → backup-tools, user-enum
Fun       → rickroll, matrix

Automatyczne testowanie przed publikacją

# 1. Lokalnie zainstaluj swoją bibliotekę
bytes install ./discord-webhook.zip

# 2. Stwórz test.hacker
cat > test.hacker <<EOF
# discord-webhook
@WEBHOOK_URL=https://httpbin.org/post
.send "Test z biblioteki lokalnej – działa!"
EOF

# 3. Uruchom
hli run test.hacker

Jeśli działa → możesz śmiało zgłaszać do oficjalnego repo!

Gotowe szablony bibliotek

Powodzenia! Niech Twoja biblioteka stanie się nową # essentials w Hacker Lang