Skip to content

Commit 5192c8a

Browse files
committed
Add initial project files including .editorconfig, .gitignore, and GitHub Actions workflow; update README with project details and usage instructions
1 parent e7c97d2 commit 5192c8a

File tree

5 files changed

+112
-35
lines changed

5 files changed

+112
-35
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
root = true
2+
3+
[*.cr]
4+
charset = utf-8
5+
end_of_line = lf
6+
insert_final_newline = true
7+
indent_style = space
8+
indent_size = 2
9+
trim_trailing_whitespace = true

.github/workflows/release.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Release Hash Sentinel Binary
2+
3+
on:
4+
push:
5+
branches:
6+
- main
7+
8+
jobs:
9+
build_and_release:
10+
runs-on: ubuntu-latest
11+
12+
steps:
13+
- name: 🛎️ Checkout Repository
14+
uses: actions/checkout@v4
15+
16+
- name: ⚙️ Setup Crystal
17+
uses: crystal-lang/install-crystal@v1
18+
with:
19+
crystal: latest
20+
21+
- name: 📦 Install Dependencies
22+
run: shards install
23+
24+
- name: 🚀 Build Binary
25+
run: crystal build --release src/dnsenum-crystal.cr -o dnsenum
26+
27+
- name: ✨ Prepare Release Tag
28+
id: prepare_tag
29+
run: |
30+
echo "TAG_NAME=latest" >> $GITHUB_OUTPUT
31+
32+
- name: 🚢 Publish Release
33+
uses: softprops/action-gh-release@v2
34+
with:
35+
tag_name: ${{ steps.prepare_tag.outputs.TAG_NAME }}
36+
name: Release ${{ steps.prepare_tag.outputs.TAG_NAME }}
37+
draft: false
38+
prerelease: false
39+
files: |
40+
dnsenum
41+
env:
42+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
# Crystal
2+
.crystal/
3+
/bin/
4+
/lib/
5+
/pkg/
6+
/tmp/
7+
output.txt
8+
9+
# Dependencies
10+
shard.lock
11+
12+
# Editor-specific files
13+
.DS_Store
14+
.vscode/
15+
.idea/
16+
17+
# OS-specific files
18+
*.swp
19+
*.swo
20+
*~
21+
*.bak
22+
*.orig
23+
*.rej
24+
*.log
25+
*.cache
26+
*.sublime-project
27+
*.sublime-workspace
28+
29+
# Custom ignores
30+
bin/dnsenum

LICENSE

Lines changed: 0 additions & 21 deletions
This file was deleted.

README.md

Lines changed: 31 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,44 @@
11
# dnsenum-crystal
22

3-
TODO: Write a description here
3+
`dnsenum-crystal` is a modern, high-performance reimagining of the infamous `dnsenum` tool, rewritten from the ground up in Crystal. While the original `dnsenum` served its purpose, its reliance on Perl makes it feel increasingly outdated in today's development landscape.
44

5-
## Installation
5+
This project aims to provide the same powerful DNS enumeration capabilities with the speed, type safety, and modern development experience that Crystal offers.
6+
7+
## Features (Planned/Current)
68

7-
TODO: Write installation instructions here
9+
- **Fast:** Leveraging Crystal's native compilation for blazing-fast execution.
10+
- **Modern:** Built with a contemporary language and ecosystem.
11+
- **Familiar:** Retains the core functionality and spirit of the original `dnsenum`.
812

913
## Usage
1014

11-
TODO: Write usage instructions here
15+
```bash
16+
dnsenum [options] <domain>
17+
```
1218

13-
## Development
19+
**Options:**
1420

15-
TODO: Write development instructions here
21+
* `--dnsserver server`: Specify a DNS server to use for queries
22+
* `--enum`: Perform a full enumeration (A, NS, MX, Zone Transfer, Reverse Lookup, WHOIS)
23+
* `--noreverse`: Skip reverse DNS lookups
24+
* `--threads n`: Set the number of threads (default: 10)
25+
* `-v`, `--verbose`: Enable verbose mode
26+
* `-o file`, `--output file`: Specify the output file
27+
* `-h`, `--help`: Show this help message
28+
* `--version`: Show version information
1629

17-
## Contributing
30+
**Example:**
1831

19-
1. Fork it (<https://github.com/your-github-user/dnsenum-crystal/fork>)
20-
2. Create your feature branch (`git checkout -b my-new-feature`)
21-
3. Commit your changes (`git commit -am 'Add some feature'`)
22-
4. Push to the branch (`git push origin my-new-feature`)
23-
5. Create a new Pull Request
32+
```bash
33+
dnsenum -v --threads 20 example.com
34+
dnsenum example.com
35+
```
36+
37+
## Installation
2438

25-
## Contributors
39+
```bash
40+
wget https://github.com/evait-security/dnsenum-crystal/releases/download/latest/dnsenum
41+
chmod +x dnsenum
2642

27-
- [Paul Werther](https://github.com/your-github-user) - creator and maintainer
43+
./dnsenum
44+
```

0 commit comments

Comments
 (0)