Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
kiterunner — Hochgeschwindigkeits-Tool zur Entdeckung von API- und Webinhalten, das Routen mit kompilierten Swagger-Datensätzen bruteforct und Tiefenscanning, benutzerdefinierte Wortlisten sowie gleichzeitiges Host-Scanning unterstützt. | Kitploit
Tools/GitHubGitHub/assetnote/kiterunner
AufklärungAPI-SicherheitstestsInformationsbeschaffungWebsicherheit
GitHubassetnote/kiterunner

kiterunner

Hochgeschwindigkeits-Tool zur Entdeckung von API- und Webinhalten, das Routen mit kompilierten Swagger-Datensätzen bruteforct und Tiefenscanning, benutzerdefinierte Wortlisten sowie gleichzeitiges Host-Scanning unterstützt.

Repository anzeigen
3.2k340vor 5 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

Kiterunner

GoDoc GitHub release Go Report Card

Einleitung

Lange Zeit konzentrierte sich die Inhaltserkennung auf das Auffinden von Dateien und Ordnern. Obwohl dieser Ansatz für ältere Webserver effektiv ist, die statische Dateien hosten oder bei einem Teilpfad mit 3xx-Antworten reagieren, ist er für moderne Webanwendungen, insbesondere APIs, nicht mehr geeignet.

Im Laufe der Zeit wurde viel Zeit investiert, um Tools zur Inhaltserkennung schneller zu machen, damit größere Wortlisten verwendet werden können. Die Kunst der Inhaltserkennung wurde jedoch nicht weiterentwickelt.

Kiterunner ist ein Tool, das nicht nur traditionelle Inhaltserkennung mit blitzartiger Geschwindigkeit durchführen kann, sondern auch Routes/Endpunkte in modernen Anwendungen bruteforcen kann.

Moderne Anwendungsframeworks wie Flask, Rails, Express, Django und andere folgen dem Paradigma, Routen explizit zu definieren, die bestimmte HTTP-Methoden, Header, Parameter und Werte erwarten.

Bei Verwendung traditioneller Tools zur Inhaltserkennung werden solche Routen oft übersehen und können nicht leicht entdeckt werden.

Durch das Sammeln eines Datensatzes von Swagger-Spezifikationen und dessen Verdichtung in ein eigenes Schema kann Kiterunner diesen Datensatz verwenden, um API-Endpunkte zu bruteforcen, indem es für jede gesendete Anfrage die korrekte HTTP-Methode, Header, Pfad, Parameter und Werte sendet.

Swagger-Dateien wurden aus einer Reihe von Datenquellen gesammelt, darunter ein internetweiter Scan nach den 40+ häufigsten Swagger-Pfaden. Weitere Datenquellen waren GitHub via BigQuery und APIs.guru.

Inhaltsverzeichnis

  • Kiterunner
  • Einleitung
  • Installation
    • Herunterladen eines Releases
    • Aus dem Quellcode erstellen
    • Installation über AUR
  • Verwendung
    • Schnellstart
    • CLI-Hilfe
    • Eingabe-/Host-Formatierung
    • API-Scanning
    • Vanilla-Bruteforcing
    • Dirsearch-Bruteforcing
  • Technische Merkmale
    • Tiefenscanning
    • Verwendung von Assetnote-Wortlisten
      • Head-Syntax
    • Parallelitätseinstellungen/Schnell sein
    • Konvertierung zwischen Dateiformaten
    • Wiederholen von Anfragen
  • Technische Implementierung
    • Zwischendatentyp (PRoutes)
    • Kite-Dateiformat

Installation

Herunterladen eines Releases

Sie können eine vorgefertigte Kopie von https://github.com/assetnote/kiterunner/releases herunterladen.

Aus dem Quellcode erstellen```bash

build the binary

make build

symlink your binary

ln -s $(pwd)/dist/kr /usr/local/bin/kr

compile the wordlist

kr kb compile <input.json> <output.kite>

kr kb compile routes.json routes.kite

scan away

kr scan hosts.txt -w routes.kite -x 20 -j 100 --ignore-length=1053

root@kitploit:~
Die JSON-Datensätze finden Sie unten:

- [routes-large.json](https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-large.json.tar.gz) (118 MB komprimiert, 2,6 GB dekomprimiert)
- [routes-small.json](https://wordlists-cdn.assetnote.io/rawdata/kiterunner/routes-small.json.tar.gz) (14 MB komprimiert, 228 MB dekomprimiert)

Alternativ ist es möglich, die kompilierten `.kite`-Dateien über die folgenden Links herunterzuladen:

- [routes-large.kite](https://wordlists-cdn.assetnote.io/data/kiterunner/routes-large.kite.tar.gz) (40 MB komprimiert, 183 M dekomprimiert)
- [routes-small.kite](https://wordlists-cdn.assetnote.io/data/kiterunner/routes-small.kite.tar.gz) (2 MB komprimiert, 35 MB dekomprimiert)

## AUR
Benutzer einer Arch-basierten Distribution können das vorgefertigte Binärpaket von [AUR](https://aur.archlinux.org/packages/kiterunner-bin/) herunterladen.
Sie können einen "Aur-Helfer" wie `yay` verwenden, um kiterunner zu installieren.```
yay -S kiterunner-bin

Verwendung

Schnellstart```

kr [scan|brute] [flags]

root@kitploit:~
- `<input>` kann eine Datei, eine Domain oder eine URI sein. Wir werden das für Sie herausfinden. Siehe  [Input/Host Formatting](#inputhost-formatting) für weitere Details```
# Just have a list of hosts and no wordlist
kr scan hosts.txt -A=apiroutes-210328:20000 -x 5 -j 100 --fail-status-codes 400,401,404,403,501,502,426,411

# You have your own wordlist but you want assetnote wordlists too
kr scan target.com -w routes.kite -A=apiroutes-210328:20000 -x 20 -j 1 --fail-status-codes 400,401,404,403,501,502,426,411

# Bruteforce like normal but with the first 20000 words
kr brute https://target.com/subapp/ -A=aspx-210328:20000 -x 20 -j 1

# Use a dirsearch style wordlist with %EXT%
kr brute https://target.com/subapp/ -w dirsearch.txt -x 20 -j 1 -exml,asp,aspx,ashx -D

CLI-Hilfe```

Usage: kite scan [flags]

Flags: -A, --assetnote-wordlist strings use the wordlists from wordlist.assetnote.io. specify the type/name to use, e.g. apiroutes-210228. You can specify an additional maxlength to use only the first N values in the wordlist, e.g. apiroutes-210228;20000 will only use the first 20000 lines in that wordlist --blacklist-domain strings domains that are blacklisted for redirects. We will not follow redirects to these domains --delay duration delay to place inbetween requests to a single host --disable-precheck whether to skip host discovery --fail-status-codes ints which status codes blacklist as fail. if this is set, this will override success-status-codes --filter-api strings only scan apis matching this ksuid --force-method string whether to ignore the methods specified in the ogl file and force this method -H, --header strings headers to add to requests (default [x-forwarded-for: 127.0.0.1]) -h, --help help for scan --ignore-length strings a range of content length bytes to ignore. you can have multiple. e.g. 100-105 or 1234 or 123,34-53. This is inclusive on both ends --kitebuilder-full-scan perform a full scan without first performing a phase scan. -w, --kitebuilder-list strings ogl wordlist to use for scanning -x, --max-connection-per-host int max connections to a single host (default 3) -j, --max-parallel-hosts int max number of concurrent hosts to scan at once (default 50) --max-redirects int maximum number of redirects to follow (default 3) -d, --preflight-depth int when performing preflight checks, what directory depth do we attempt to check. 0 means that only the docroot is checked (default 1) --profile-name string name for profile output file --progress a progress bar while scanning. by default enabled only on Stderr (default true) --quarantine-threshold int if the host return N consecutive hits, we quarantine the host as wildcard. Set to 0 to disable (default 10) --success-status-codes ints which status codes whitelist as success. this is the default mode -t, --timeout duration timeout to use on all requests (default 3s) --user-agent string user agent to use for requests (default "Chrome. Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36") --wildcard-detection can be set to false to disable wildcard redirect detection (default true)

Global Flags: --config string config file (default is $HOME/.kiterunner.yaml) -o, --output string output format. can be json,text,pretty (default "pretty") -q, --quiet quiet mode. will mute unecessarry pretty text -v, --verbose string level of logging verbosity. can be error,info,debug,trace (default "info")

root@kitploit:~
Brute-Force-Flags (alle oben genannten Flags +)```
  -D, --dirsearch-compat              this will replace %EXT% with the extensions provided. backwards compat with dirsearch because shubs loves him some dirsearch
  -e, --extensions strings            extensions to append while scanning
  -w, --wordlist strings              normal wordlist to use for scanning

Eingabe/Host-Formatierung

Wenn eine Eingabe bereitgestellt wird, versucht kiterunner, die Eingabe in der folgenden Reihenfolge aufzulösen:

  1. Ist die Eingabe eine Datei. Wenn ja, lies alle Zeilen in der Datei als separate Domains.
  2. Die Eingabe wird als 'Domain' behandelt.

Wenn Sie eine 'Domain' angeben, diese aber als Datei existiert, z.B. google.com, aber google.com ist auch eine txt-Datei im aktuellen Verzeichnis, dann laden wir google.com die Textdatei, weil wir sie zuerst gefunden haben.

Domain-Parsing

Es wird bevorzugt, dass Sie eine vollständige URI als Eingabe angeben, jedoch können Sie unvollständige URIs angeben und wir werden versuchen zu erraten, was Sie meinen. Eine Beispiel-Liste von Domains, die Sie angeben können, ist:``` one.com two.com:80 three.com:443 four.com:9447 https://five.com:9090 http://six.com:80/api

root@kitploit:~
Die obige Liste von Domains wird sich in die nachfolgende Liste von Zielen erweitern```
(two targets are created for one.com, since neither port nor protocol was specified)
http://one.com (port 80 implied)
https://one.com (port 443 implied)

http://two.com (port 80 implied)
https://three.com (port 443 implied)
http://four.com:9447 (non-tls port guessed)
https://five.com:9090
http://six.com/api (port 80 implied; basepath API appended)

die Regeln, die wir anwenden, sind:

  • wenn Sie ein Schema angeben, verwenden wir das Schema.
    • Wir unterstützen nur http & https
    • wenn Sie kein Schema angeben, raten wir basierend auf dem Port
  • wenn Sie einen Port angeben, verwenden wir den Port
    • Wenn Ihr Port 443 oder 8443 ist, gehen wir von TLS aus
    • wenn Sie keinen Port angeben, raten wir sowohl Port 80 als auch 443
  • wenn Sie einen Pfad angeben, stellen wir diesen Pfad allen Anfragen an diesen Host voran

API-Scanning

Wenn Sie ein einzelnes Ziel haben```bash

single target

kr scan https://target.com:8443/ -w routes.kite -A=apiroutes-210228:20000 -x 10 --ignore-length=34

single target, but you want to try http and https

kr scan target.com -w routes.kite -A=apiroutes-210228:20000 -x 10 --ignore-length=34

a list of targets

kr scan targets.txt -w routes.kite -A=apiroutes-210228:20000 -x 10 --ignore-length=34

root@kitploit:~
## Einfaches Brute-Forcing```bash
kr brute https://target.com -A=raft-large-words -A=apiroutes-210228:20000 -x 10 -d=0 --ignore-length=34 -ejson,txt

Dirsearch Bruteforcing

Für den Fall, dass Sie eine altmodische Wortliste haben, die noch %EXT% in der Wortliste enthält, können Sie -D verwenden. Dies ersetzt die Erweiterung nur dort, wo %EXT% im Pfad vorhanden ist.```bash kr brute https://target.com -w dirsearch.txt -x 10 -d=0 --ignore-length=34 -ejson,txt -D

root@kitploit:~
# Technical Features

## Depth Scanning

A key feature of kiterunner is depth based scanning. This attempts to handle detecting wildcards given virtual application path based routing. The depth defines how many directories deep the baseline checks are performed E.g.```bash
~/kiterunner $ cat wordlist.txt

/api/v1/user/create
/api/v1/user/delete
/api/v2/user/
/api/v2/admin/
/secrets/v1/
/secrets/v2/
  • Bei Tiefe 0 würde nur für / die Basisprüfungen für die Wildcard-Erkennung durchgeführt werden.
  • Bei Tiefe 1 würden für /api und /secrets Basisprüfungen durchgeführt; und diese Prüfungen würden entsprechend gegen /api und /secrets verwendet.
  • Bei Tiefe 2 würden für /api/v1, /api/v2, /secrets/v1 und /secrets/v2 alle Basisprüfungen durchgeführt.

Standardmäßig hat kr scan eine Tiefe von 1, da wir aus interner Nutzung oft gesehen haben, dass dies die häufigste Tiefe ist, bei der virtuelles Routing aufgetreten ist. kr brute hat eine Standardtiefe von 0, da Sie diese Prüfung normalerweise nicht mit einer statischen Wortliste durchführen möchten.

Natürlich erhöht eine größere Tiefe die Genauigkeit Ihrer Scans, jedoch erhöht dies auch die Anzahl der Anfragen an das Ziel. (# der Basisprüfungen * # der Tiefen-Basisverzeichnisse). Daher empfehlen wir, nicht über 1 hinauszugehen und nur in seltenen Fällen auf Tiefe 2 zu gehen.

Verwendung von Assetnote-Wortlisten

Wir bieten integriertes Herunterladen und Caching von Wortlisten von assetnote.io. Sie können diese mit dem -A-Flag verwenden, das eine kommagetrennte Liste von Aliasen oder vollständigen Namen akzeptiert.

Sie erhalten eine vollständige Liste aller Assetnote-Wortlisten mit kr wordlist list.

Die Wortlisten werden bei Verwendung in ~/.cache/kiterunner/wordlists zwischengespeichert. Bei Verwendung werden sie von .txt -> .kite kompiliert.``` +-----------------------------------+-------------------------------------------------------+----------------+---------+----------+--------+ | ALIAS | FILENAME | SOURCE | COUNT | FILESIZE | CACHED | +-----------------------------------+-------------------------------------------------------+----------------+---------+----------+--------+ | 2m-subdomains | 2m-subdomains.txt | manual.json | 2167059 | 28.0mb | false | | asp_lowercase | asp_lowercase.txt | manual.json | 24074 | 1.1mb | false | | aspx_lowercase | aspx_lowercase.txt | manual.json | 80293 | 4.4mb | false | | bak | bak.txt | manual.json | 31725 | 634.8kb | false | | best-dns-wordlist | best-dns-wordlist.txt | manual.json | 9996122 | 139.0mb | false | | cfm | cfm.txt | manual.json | 12100 | 260.3kb | true | | do | do.txt | manual.json | 173152 | 4.8mb | false | | dot_filenames | dot_filenames.txt | manual.json | 3191712 | 71.3mb | false | | html | html.txt | manual.json | 4227526 | 107.7mb | false | | apiroutes-201120 | httparchive_apiroutes_2020_11_20.txt | automated.json | 953011 | 45.3mb | false | | apiroutes-210128 | httparchive_apiroutes_2021_01_28.txt | automated.json | 225456 | 6.6mb | false | | apiroutes-210228 | httparchive_apiroutes_2021_02_28.txt | automated.json | 223544 | 6.5mb | true | | apiroutes-210328 | httparchive_apiroutes_2021_03_28.txt | automated.json | 215114 | 6.3mb | false | | aspx-201118 | httparchive_aspx_asp_cfm_svc_ashx_asmx_2020_11_18.txt | automated.json | 63200 | 1.7mb | false | | aspx-210128 | httparchive_aspx_asp_cfm_svc_ashx_asmx_2021_01_28.txt | automated.json | 46286 | 928.7kb | false | | aspx-210228 | httparchive_aspx_asp_cfm_svc_ashx_asmx_2021_02_28.txt | automated.json | 43958 | 883.3kb | false | | aspx-210328 | httparchive_aspx_asp_cfm_svc_ashx_asmx_2021_03_28.txt | automated.json | 45928 | 926.8kb | false | | cgi-201118 | httparchive_cgi_pl_2020_11_18.txt | automated.json | 2637 | 44.0kb | false |

``` **Verwendung**``` kr scan targets.txt -A=apiroutes-210228 -x 10 --ignore-length=34 kr brute targets.txt -A=aspx-210228 -x 10 --ignore-length=34 -easp,aspx ``` ### Kopf-Syntax

Wenn Sie die von assetnote bereitgestellten Wortlisten verwenden, möchten Sie möglicherweise nicht die gesamte Wortliste verwenden. Sie können daher die ersten N Zeilen einer bestimmten Wortliste mit der head syntax verwenden. Das Format ist <wordlist_name>:<N lines> bei der Angabe einer Wortliste.

Verwendung```

this will use the first 20000 lines in the api routes wordlist

kr scan targets.txt -A=apiroutes-210228:20000 -x 10 --ignore-length=34

this will use the first 10 lines in the aspx wordlist

kr brute targets.txt -A=aspx-210228:10 -x 10 --ignore-length=34 -easp,aspx

root@kitploit:~
## Parallelitätseinstellungen/Schnelles Vorgehen

Kiterunner ist darauf ausgelegt, schnell bei vielen Hosts zu sein. Aber nur weil man Kiterunner mit 20000 Goroutinen ausführen kann, heißt das nicht, dass es eine gute Idee ist. Engpässe und Leistungseinbußen treten bei hohen Thread-Zahlen auf, da mehr Zeit für die Planung von Goroutinen aufgewendet wird, die auf Netzwerk-I/O und Kernel-Kontextwechsel warten.

Es gibt zwei Haupteinstellungen für die Parallelität bei Kiterunner:
- `-x, --max-connection-per-host` – maximale Anzahl offener Verbindungen, die wir auf einem Host haben können. Gesteuert durch jeweils 1 Goroutine. Um einen Host nicht zu überlasten, empfehlen wir, diesen Wert niedrig im Bereich von 5-10 zu halten. Abhängig von der Latenz zum Ziel ergibt sich daraus im Durchschnitt 1-5 Anfragen pro Sekunde pro Verbindung (200ms - 1000ms/Anfrage) zu einem Host.
- `-j, --max-parallel-hosts` – maximale Anzahl gleichzeitig zu scannender Hosts. Gesteuert durch jeweils 1 Goroutine-Supervisor.

Abhängig von der Hardware, von der aus Sie scannen, variiert die „maximale“ Anzahl optimal ausführbarer Goroutinen. Auf einem AWS t3.medium haben wir Leistungseinbußen ab etwa 2500 Goroutinen festgestellt. Das bedeutet, dass 500 Hosts × 5 Verbindungen pro Host (2500) die Spitzenleistung erbringen würden.

Wir empfehlen **davon ab**, Kiterunner von Ihrem **MacBook** aus auszuführen. Aufgrund schlechter Kernel-Optimierungen für hohe I/O-Zahlen und Epoll-Systemaufrufe unter macOS haben wir eine deutlich schlechtere (0,3-0,5x) Leistung im Vergleich zum Ausführen von Kiterunner auf einer ähnlich konfigurierten Linux-Instanz festgestellt.

Um die Leistung beim Scannen eines einzelnen Ziels oder einer großen Angriffsfläche zu maximieren, empfehlen wir die folgenden Tipps:
- Starten Sie eine EC2-Instanz in einer ähnlichen geografischen Region/Rechenzentrum wie die Ziele, die Sie scannen.
- Führen Sie erste Benchmarks gegen Ihre Zielgruppe mit verschiedenen `-x`- und `-j`-Optionen durch. Wir empfehlen einen typischen Ausgangspunkt von etwa `-x 5 -j 100` und erhöhen Sie `-j`, sofern es Ihre CPU-Auslastung/Netzwerkleistung zulässt.

## Konvertieren zwischen Dateiformaten

Kiterunner ermöglicht es Ihnen auch, zwischen dem Schema-JSON, einer Kite-Datei und einer standardmäßigen Text-Wortliste zu konvertieren.

**Verwendung**

Das Format wird durch die Dateierweiterung bestimmt, die in den `<input>`- und `<output>`-Feldern angegeben wird. Wir unterstützen `txt`, `json` und `kite`.```bash
kr kb convert wordlist.txt wordlist.kite
kr kb convert wordlist.kite wordlist.json
kr kb convert wordlist.kite wordlist.txt
root@kitploit:~
❯ go run ./cmd/kiterunner kb convert -qh
convert an input file format into the specified output file format

this will determine the conversion based on the extensions of the input and the output
we support the following filetypes: txt, json, kite
You can convert any of the following into the corresponding types

-d Debug mode will attempt to convert the schema with error handling
-v=debug Debug verbosity will print out the errors for the schema

Usage:
kite kb convert <input> <output> [flags]

Flags:
-d, --debug   debug the parsing
-h, --help    help for convert

Global Flags:
--config string    config file (default is $HOME/.kiterunner.yaml)
-o, --output string    output format. can be json,text,pretty (default "pretty")
-q, --quiet            quiet mode. will mute unecessarry pretty text
-v, --verbose string   level of logging verbosity. can be error,info,debug,trace (default "info")``bigquery

Anfragen wiederholen

Wenn Sie eine Reihe von Ausgaben von kiterunner erhalten, kann es schwierig sein, sofort zu verstehen, warum eine Anfrage einen bestimmten Antwortcode/eine bestimmte Länge verursacht. Kiterunner bietet eine Methode, um die Anfrage aus den verwendeten Wortlisten einschließlich aller Header- und Body-Parameter wiederherzustellen.

  • Sie können eine Anfrage wiederholen, indem Sie die vollständige Antwortausgabe in den Befehl kb replay kopieren und einfügen.
  • Sie können einen --proxy angeben, um Ihre Anfragen weiterzuleiten, damit Sie die Anfrage bei Bedarf mit Tools von Drittanbietern ändern/wiederholen/abfangen können.
  • Der Golang-net/http-Client führt aufgrund der Standardimplementierung der Golang-Spezifikation (leider) einige zusätzliche Änderungen an Ihrer Anfrage durch.```bash ❯ go run ./cmd/kiterunner kb replay -q --proxy=http://localhost:8080 -w routes.kite "POST 403 [ 287, 10, 1] https://target.com/dedalo/lib/dedalo/publication/server_api/v1/json/thesaurus_parents 0cc39f76702ea287ec3e93f4b4710db9c8a86251" 11:25AM INF Raw reconstructed request POST /dedalo/lib/dedalo/publication/server_api/v1/json/thesaurus_parents?ar_fields=48637466&code=66132381&db_name=08791392&lang=lg-eng&recursive=false&term_id=72336471 HTTP/1.1 Content-Type: any

11:25AM INF Outbound request POST /dedalo/lib/dedalo/publication/server_api/v1/json/thesaurus_parents?ar_fields=48637466&code=66132381&db_name=08791392&lang=lg-eng&recursive=false&term_id=72336471 HTTP/1.1 Host: target.com User-Agent: Go-http-client/1.1 Content-Length: 0 Content-Type: any Accept-Encoding: gzip

11:25AM INF Response After Redirects HTTP/1.1 403 Forbidden Connection: close Content-Length: 45 Content-Type: application/json Date: Wed, 07 Apr 2021 01:25:28 GMT X-Amzn-Requestid: 7e6b2ea1-c662-4671-9eaa-e8cd31b463f2

User is not authorized to perform this action

root@kitploit:~
# Technische Implementierung

## Zwischendatentyp (PRoutes)

Wir verwenden eine Zwischendarstellung von Wortlisten und kitebuilder-JSON-Schemata in kiterunner. Dies ermöglicht es uns, die Felder in der Wortliste dynamisch zu generieren und Anfragekörper/-Header und Abfrageparameter aus einer gegebenen Spezifikation zu rekonstruieren.

Der PRoute-Typ besteht aus Header-, Body-, Query- und Cookie-Parametern, die in `pkg/proute.Crumb` codiert sind. Der Crumb-Typ ist ein Interface, das für Typen wie UUIDs, Floats, Ints, Zufallsstrings usw. implementiert wird.

Bei der Konvertierung von und zu TXT-, JSON- und Kite-Dateien werden alle Konvertierungen zunächst in den Zwischentyp `proute.API` durchgeführt. Anschließend wird die entsprechende Kodierung ausgegeben.

## Kite-Dateiformat

Wir verwenden ein streng geheimes Kite-Dateiformat zum Speichern der JSON-Schemata von kitebuilder. Dabei handelt es sich einfach um protobuf-kodierte `pkg/proute.APIS`, die in eine Datei geschrieben werden. Die Kompilierung dient dazu, die bereits geparste Wortliste schnell deserialisieren zu können. Dieses Dateiformat ist nicht stabil und sollte nur mit den integrierten Konvertierungswerkzeugen von kiterunner interagiert werden.

Wenn eine neue Version des Kite-Dateiformats veröffentlicht wird, müssen Sie möglicherweise Ihre Kite-Dateien neu kompilieren.
Tool herunterladen