Skip to content

Commit fd9a2dd

Browse files
sinescodeclaude
andcommitted
Update README and release workflow for v0.3.0
- Rewrite README to reflect new styled CLI, interactive mode, multi-file scan (-a/-x/--dir), and updated option table - Enhance release workflow to pull annotated tag message as the release body instead of a static template Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
1 parent 7b03436 commit fd9a2dd

2 files changed

Lines changed: 56 additions & 38 deletions

File tree

.github/workflows/release.yml

Lines changed: 30 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -171,6 +171,10 @@ jobs:
171171
- windows-x86_64
172172
runs-on: ubuntu-latest
173173
steps:
174+
- uses: actions/checkout@v4
175+
with:
176+
fetch-depth: 0
177+
174178
- uses: actions/download-artifact@v4
175179
with:
176180
pattern: '*'
@@ -182,29 +186,36 @@ jobs:
182186
cd dist
183187
sha256sum *.tar.gz *.zip > checksums.txt
184188
189+
- name: Get tag message
190+
id: tag
191+
run: |
192+
MSG=$(git tag -l --format='%(contents)' '${{ github.ref_name }}')
193+
{
194+
echo 'body<<EOTAG'
195+
echo "$MSG"
196+
echo
197+
echo '### Downloads'
198+
echo
199+
echo '| Platform | File |'
200+
echo '|----------|------|'
201+
echo '| Linux x86_64 | `ulpExtractor-linux-x86_64.tar.gz` |'
202+
echo '| Linux ARM64 | `ulpExtractor-linux-aarch64.tar.gz` |'
203+
echo '| macOS (Universal) | `ulpExtractor-macos.tar.gz` |'
204+
echo '| Windows x86_64 | `ulpExtractor-windows-x86_64.zip` |'
205+
echo
206+
echo '### Verify'
207+
echo
208+
echo '```bash'
209+
echo 'sha256sum -c checksums.txt'
210+
echo '```'
211+
echo EOTAG
212+
} >> "$GITHUB_OUTPUT"
213+
185214
- name: Create Release
186215
uses: softprops/action-gh-release@v2
187216
with:
188217
name: ${{ github.ref_name }}
189-
body: |
190-
## ${{ github.ref_name }}
191-
192-
Pre-built binaries for all platforms.
193-
194-
### Downloads
195-
196-
| Platform | File |
197-
|----------|------|
198-
| Linux x86_64 | `ulpExtractor-linux-x86_64.tar.gz` |
199-
| Linux ARM64 | `ulpExtractor-linux-aarch64.tar.gz` |
200-
| macOS (Universal) | `ulpExtractor-macos.tar.gz` |
201-
| Windows x86_64 | `ulpExtractor-windows-x86_64.zip` |
202-
203-
### Verify
204-
205-
```bash
206-
sha256sum -c checksums.txt
207-
```
218+
body: ${{ steps.tag.outputs.body }}
208219
files: |
209220
dist/ulpExtractor-linux-x86_64.tar.gz
210221
dist/ulpExtractor-linux-aarch64.tar.gz

README.md

Lines changed: 26 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,13 @@
22

33
**Fast domain credential extractor** — parse large `domain:user:pass` lists and extract matching credentials by domain.
44

5-
Built in Rust with a dual-mode interface: interactive TUI for daily use, CLI for scripting and automation.
5+
Built in Rust with a styled CLI, interactive prompt mode, and multi-file batch scanning.
66

77
## Features
88

9-
- **Interactive TUI** — form-based input, file browser, live progress bar, results summary
10-
- **CLI mode** — pipe-friendly, ideal for shell scripts and automation
9+
- **Styled CLI** — boxed header, colored fields, live progress bar with real-time match counter
10+
- **Interactive mode** — guided prompts when run with no arguments, same visual design as CLI
11+
- **Multi-file scan** (`-a`) — scan all files in a directory matching given extensions
1112
- **Multi-threaded** — configurable parallel extraction, saturates I/O on any file size
1213
- **Configurable divider** — works with `:`, `|`, `;`, or any single-character separator
1314
- **Cross-platform** — Linux, macOS, Windows pre-built binaries on every release
@@ -24,39 +25,45 @@ cargo build --release
2425

2526
## Usage
2627

27-
### TUI Mode
28+
### Interactive Mode
2829

2930
```bash
3031
./ulpExtractor
3132
```
3233

33-
Launches an interactive terminal interface where you can:
34-
1. Enter the domain to filter by
35-
2. Set thread count and field divider
36-
3. Browse and select input/output files
37-
4. Watch live extraction progress
38-
5. Review results
34+
Prompts you for each field with defaults — same styled output as CLI mode.
3935

40-
### CLI Mode
36+
### CLI — Single File
4137

4238
```bash
43-
ulpExtractor \
44-
-d "fiverr.com" \
45-
-t 8 \
46-
-D ":" \
47-
-i combo.txt \
48-
-o extracted.txt
39+
ulpExtractor -d netflix.com -i combo.txt -o extracted.txt
40+
```
41+
42+
### CLI — Multi-File Scan
43+
44+
```bash
45+
# Scan all .txt files in current directory
46+
ulpExtractor -d netflix.com -a
47+
48+
# Scan specific extensions
49+
ulpExtractor -d netflix.com -a -x txt,json,csv
50+
51+
# Scan a different directory
52+
ulpExtractor -d netflix.com -a --dir ./data -o results.txt -t 8
4953
```
5054

5155
### Options
5256

5357
| Flag | Description | Default |
5458
|------|-------------|---------|
5559
| `-d, --domain` | Domain to match (first field) | required |
60+
| `-i, --input` | Input file path (single-file mode) ||
61+
| `-a, --all` | Scan all files matching extensions | off |
62+
| `-x, --extensions` | File extensions to scan, comma-separated | `txt` |
63+
| `--dir` | Directory to scan when using `-a` | `.` |
64+
| `-o, --output` | Output file path | `output.txt` |
5665
| `-t, --threads` | Number of threads | `4` |
5766
| `-D, --divider` | Field separator character | `:` |
58-
| `-i, --input` | Input file path | required |
59-
| `-o, --output` | Output file path | required |
6067

6168
## Input Format
6269

0 commit comments

Comments
 (0)