X9 is a command-line tool written in Julia (with Docker support) that automates the customization of URL query parameters. Generate countless URL variants by appending, replacing, or suffixing parameters in bulk.
- Single URL or Batch: Process a single URL or multiple URLs from a file.
- Flexible Parameter Modes: Append new parameters, replace defaults, or suffix existing values.
- Chunking Support: Limit operations per URL to avoid overwhelming targets.
- High Concurrency: Multi-threaded execution powered by Julia's
-t
flag. - Docker Ready: Containerize and run without installing Julia locally.
-
Install Julia (via download page or
snap install julia --classic
). -
Clone & Run:
git clone https://github.com/ShadowDev01/X9.git cd X9/ julia --project -e "using Pkg; Pkg.instantiate()" julia x9.jl -h
git clone https://github.com/ShadowDev01/X9.git
cd X9/
docker build -t x9 .
docker run x9 -h
julia x9.jl [options]
Switch | Description | Default |
---|---|---|
-h |
Display help message and exit | N/A |
-u |
Process a single URL | N/A |
-ul |
Process URLs listed in a file (one per line) | N/A |
-p |
Read parameter names from a file (one per line) | N/A |
-v |
Read parameter values from a file (one per line) | N/A |
-c |
Max parameters per URL (chunk size) | 10000 |
-ignore |
Keep default params, append new ones | N/A |
-rep-all |
Replace all default values and append new parameters | N/A |
-rep-alt |
Alternately replace default values | N/A |
-suf-all |
Append each value to all default parameters | N/A |
-suf-alt |
Alternately suffix default parameters | N/A |
-A |
Apply all above modes (ignore , rep-* , suf-* ) |
N/A |
-t [int] |
Number of threads | 1 |
-o [path] |
Write output to file | stdout |
# Define URL and files
URL="https://example.com/path/?param1=value1¶m2=value2"
PARAMS=p.txt # e.g. user, id, login, card
VALUES=v.txt # e.g. HELLO, BYE
# 1. Append parameters only
julia x9.jl -u "$URL" -p "$PARAMS" -v "$VALUES" -ignore
# ▶https://example.com/?...&user=HELLO&id=HELLO&login=HELLO&card=HELLO
# 2. Chunked appending (3 per URL)
julia x9.jl -u "$URL" -p "$PARAMS" -v "$VALUES" -ignore -c 3
# 3. Replace all defaults and append new
julia x9.jl -u "$URL" -p "$PARAMS" -v "$VALUES" -rep-all
# 4. Suffix only
julia x9.jl -u "$URL" -v "$VALUES" -suf-all
# 5. All modes at once
julia x9.jl -u "$URL" -p "$PARAMS" -v "$VALUES" -A
Happy URL customization! 🚀