Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
3291405
Move included subdomain lists from data_files to package_data
mschwager Jan 23, 2018
b5be973
Handle users exiting during script execution with Ctrl+C better
mschwager Jan 23, 2018
68620e8
Remove official Python 3.3 support as it's EOL
mschwager Jan 23, 2018
88230da
Revert "Move included subdomain lists from data_files to package_data"
mschwager Jan 25, 2018
1303df3
Add subdomain lists to MANIFEST file for source distribution
mschwager Jan 25, 2018
ffe4285
Move fierce and associated data into its own package directory
mschwager Feb 9, 2018
cd56af8
Update README with directory change
mschwager Feb 9, 2018
0065d02
Update .coveragerc with directory change
mschwager Feb 9, 2018
5882b58
Gracefully handle zone transfer DNS errors
mschwager Feb 10, 2018
9fd57b3
Asynchronously perform nearby reverse IP lookups
mschwager Feb 13, 2018
b64bc57
Print exiting message when we receive a keyboard interrupt
mschwager Feb 13, 2018
fceb90d
A default max_workers value for ThreadPoolExecutor doesn't exist unti…
mschwager Feb 13, 2018
c38dba7
Updated dev dependencies
mschwager Feb 13, 2018
a8599f8
Added flake8 linting to CI process
mschwager Feb 13, 2018
143969f
Move printing of subdomain result to its own function
mschwager Feb 24, 2018
65753a5
Store visited IP state in a closure
mschwager Feb 24, 2018
0de647b
Fix list -> set
mschwager Feb 24, 2018
9ad24cc
Pull filter and expander functionality out of subdomain enumeration loop
mschwager Feb 25, 2018
20e55ed
Return string DNS answer from nearby query instead of Answer object
mschwager Feb 25, 2018
7b5a593
Added better error handling
mschwager Feb 25, 2018
cc58a2a
Correct default subdomain file handling behavior
mschwager Feb 25, 2018
d704acb
Revert to the old way of finding subdomain files, this didn't work wi…
mschwager Feb 27, 2018
1a7c7c9
1.2.1 release
mschwager Mar 1, 2018
61f87d5
Added tests for argument parsing
mschwager Apr 24, 2018
5779306
Updated coverage configuration option to latest INI key
mschwager Apr 24, 2018
5dfcc06
Include README.md in package long description using new content type
mschwager Apr 24, 2018
3f54a2c
Add Python 3 requirement to setup.py
mschwager Apr 24, 2018
c14aed7
1.2.2 release
mschwager Apr 24, 2018
2ace50a
Filter out subdomains matching wildcard records; print all wildcard r…
timmc Apr 18, 2019
5abaa70
Don't break if no wildcard; only skip when sub matches entire wildcar…
timmc Apr 19, 2019
205aeee
Merge pull request #28 from timmc/filter-wildcard
mschwager Apr 23, 2019
aab35b2
Added Python 3.7 support
mschwager Apr 23, 2019
4e7364b
Use flake8 configuration file and update dev requirements
mschwager Apr 23, 2019
dd97641
Prevent out of bounds error when traversing near 0.0.0.0 (fixes #29)
timmc Apr 24, 2019
5354d07
Update to latest version of dnspython
mschwager Apr 26, 2019
6df762d
Tweaks from review feedback (changelog; combine tests; extract variable)
timmc Apr 28, 2019
76d0f7b
Fix whitespace to satisfy flake8 (I hope)
timmc Apr 28, 2019
6d4a78a
Merge pull request #30 from timmc/bounded-traverser
mschwager Apr 29, 2019
fbb58c8
1.3.0 release
mschwager May 15, 2019
5a2514b
Add Python 3.8 support, drop 3.4
mschwager Nov 6, 2019
8d3b0db
Minor README changes
mschwager Nov 6, 2019
3248030
Convert tests to pytest
mschwager Nov 6, 2019
335b28a
Remove README TODO
mschwager Nov 6, 2019
c5a3e15
Add developing information to README
mschwager Nov 6, 2019
9edcf31
Added support for DNS over TCP
takeshixx Nov 6, 2019
2bba262
Added TCP flag to mock calls
takeshixx Nov 7, 2019
9229d2a
Touchup TCP flag
mschwager Nov 7, 2019
d1aa857
1.4.0 release
mschwager Nov 7, 2019
bfdfbfa
Add coverage status to README
mschwager Nov 7, 2019
740db99
Add Dlint Github action
mschwager Nov 22, 2019
c4e1e8d
Add Dlint exception
mschwager Nov 22, 2019
fd3afb6
Update Dlint Github Action location
mschwager Apr 10, 2020
443bdae
Catch ValueError
mmiszczyk Sep 10, 2020
1f6de71
Add original 'fierce.pl' Perl script
mschwager Aug 24, 2021
6db8f9f
Move from TravisCI to GitHub Actions
mschwager Oct 25, 2021
82e1bd5
Update README badge
mschwager Oct 25, 2021
7564c73
Remove Python 3.5 support, add 3.9 and 3.10
mschwager Oct 25, 2021
dded40e
Bump pytest version
mschwager Oct 25, 2021
b281fb3
Handle malformed subdomains more gracefully (#39)
m6sec Nov 8, 2021
83cd799
1.5.0 release
mschwager Dec 5, 2021
063a3d6
Link to original script
mschwager Dec 5, 2021
cbe6df9
Updating to dnspython 2.2.1
thibon Aug 22, 2022
ebcecfb
Adding patch for when DNS server point to localhost (Issue #40)
thibon Aug 22, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions .coveragerc
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
[run]
include = fierce.py
[report]
include = fierce/fierce.py
3 changes: 3 additions & 0 deletions .flake8
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[flake8]
ignore = E501
include = fierce,tests
30 changes: 30 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: CI
on: [push, pull_request]
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os:
- ubuntu-latest
- macos-latest
- windows-latest
python-version:
- '3.6'
- '3.7'
- '3.8'
- '3.9'
- '3.10'
steps:
- uses: actions/checkout@v2
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Run CI
run: |
python -m pip install --requirement requirements.txt
python -m pip install --requirement requirements-dev.txt
python -m pip install --editable .
python -m flake8
python -m pytest --cov
9 changes: 9 additions & 0 deletions .github/workflows/dlint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
name: Dlint
on: [push, pull_request]
jobs:
dlint:
runs-on: ubuntu-latest
name: Dlint
steps:
- uses: actions/checkout@master
- uses: dlint-py/dlint-action@master
13 changes: 0 additions & 13 deletions .travis.yml

This file was deleted.

50 changes: 50 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,56 @@ All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
This project adheres to [CHANGELOG](http://keepachangelog.com/).

## [Unreleased]

## [1.5.0] - 2021-12-05
### Added
- Official Python 3.9 support
- Official Python 3.10 support

### Changed
- Improved various error handling

### Removed
- Official Python 3.5 support

## [1.4.0] - 2019-11-07
### Added
- Official Python 3.8 support
- The --tcp flag to use TCP instead of UDP DNS queries

### Removed
- Official Python 3.4 support, it's EOL

## [1.3.0] - 2019-05-15
### Changed
- Print out all A records for wildcard, not just first one

### Added
- Filter out subdomains with an A record matching a wildcard A record
- Official Python 3.7 support

### Fixed
- Prevent out of bounds error when expanding IPs near 0.0.0.0 or 255.255.255.255

## [1.2.2] - 2018-04-24
### Changed
- Python 3 is now a requirement when installing via setup.py (including pip)
- The README markdown is now included in the package's long description

## [1.2.1] - 2018-03-01
### Changed
- Nearby IP reverse queries are now multithread, which improves performance significantly
- Updated development dependencies
- Subdomain lists use package_data instead of data_files

### Added
- Gracefully handle users exiting the script with Ctrl+C
- Gracefully handle incorrect file or IP range arguments

### Removed
- Official Python 3.3 support, it's EOL

## [1.2.0] - 2017-05-07
### Added
- Official Python 3.6 support
Expand Down
47 changes: 38 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
# Fierce

[![Build Status](https://travis-ci.org/mschwager/fierce.svg?branch=master)](https://travis-ci.org/mschwager/fierce)
[![CI](https://github.com/mschwager/fierce/actions/workflows/ci.yml/badge.svg)](https://github.com/mschwager/fierce/actions/workflows/ci.yml)
[![Coverage Status](https://coveralls.io/repos/github/mschwager/fierce/badge.svg?branch=master)](https://coveralls.io/github/mschwager/fierce?branch=master)
[![Dlint](https://github.com/mschwager/fierce/actions/workflows/dlint.yml/badge.svg)](https://github.com/mschwager/fierce/actions/workflows/dlint.yml)
[![Python Versions](https://img.shields.io/pypi/pyversions/fierce.svg)](https://img.shields.io/pypi/pyversions/fierce.svg)
[![PyPI Version](https://img.shields.io/pypi/v/fierce.svg)](https://img.shields.io/pypi/v/fierce.svg)

Expand All @@ -21,9 +23,10 @@ Useful links:

# Overview

First, credit where credit is due, `fierce` was originally written by RSnake
along with others at http://ha.ckers.org/. This is simply a conversion to
Python 3 to simplify and modernize the codebase.
First, credit where credit is due, `fierce` was
[originally written](https://github.com/mschwager/fierce/blob/master/scripts/fierce.pl)
by RSnake along with others at http://ha.ckers.org/. This is simply a
conversion to Python 3 to simplify and modernize the codebase.

The original description was very apt, so I'll include it here:

Expand All @@ -40,7 +43,7 @@ The original description was very apt, so I'll include it here:
# Installing

```
$ pip3 install fierce
$ python -m pip install fierce
$ fierce -h
```

Expand All @@ -49,10 +52,12 @@ OR
```
$ git clone https://github.com/mschwager/fierce.git
$ cd fierce
$ pip3 install -r requirements.txt
$ python3 fierce.py -h
$ python -m pip install -r requirements.txt
$ python fierce/fierce.py -h
```

*Requires Python 3.*

# Using

Let's start with something basic:
Expand Down Expand Up @@ -115,6 +120,30 @@ Check out `--help` for further information:
$ fierce --help
```

# TODO
# Developing

First, install development packages:

```
$ python -m pip install -r requirements.txt
$ python -m pip install -r requirements-dev.txt
$ python -m pip install -e .
```

## Testing

```
$ pytest
```

## Linting

```
$ flake8
```

## Coverage

* Provide multiprocessing capabilities
```
$ pytest --cov
```
Empty file added fierce/__init__.py
Empty file.
Loading