offenders 0.1.0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,86 @@
1
+ Metadata-Version: 2.4
2
+ Name: offenders
3
+ Version: 0.1.0
4
+ Summary: A Fail2Ban log and jail dashboard for the terminal
5
+ License-Expression: MIT
6
+ Project-URL: Source, https://github.com/stef-k/Offenders
7
+ Project-URL: Issues, https://github.com/stef-k/Offenders/issues
8
+ Keywords: fail2ban,terminal,dashboard,linux
9
+ Classifier: Environment :: Console
10
+ Classifier: Intended Audience :: System Administrators
11
+ Classifier: Operating System :: POSIX :: Linux
12
+ Classifier: Programming Language :: Python :: 3
13
+ Requires-Python: >=3.12
14
+ Description-Content-Type: text/markdown
15
+ License-File: LICENSE
16
+ Requires-Dist: textual<9,>=8.2.8
17
+ Requires-Dist: maxminddb<4,>=3.1
18
+ Dynamic: license-file
19
+
20
+ # Offenders (Fail2Ban TUI)
21
+
22
+ Offenders is a Linux terminal dashboard for Fail2Ban history and live jail status.
23
+ Inspect banned IPs, ASN/Country summaries, jail settings and current membership;
24
+ run on-demand WHOIS/RDNS lookups or a manual Coverage analysis for review.
25
+
26
+ ![Offenders TUI screenshot](https://raw.githubusercontent.com/stef-k/Offenders/master/offenders-screenshot.jpg)
27
+
28
+ Current dashboard with synthetic documentation addresses and no GeoIP databases.
29
+
30
+ - Explore rolling history periods, live jail status, and IP/ASN/Country summaries.
31
+ - Filter loaded results and investigate individual jails and IPs.
32
+ - Review Coverage evidence and explicitly validate copy-only filter candidates.
33
+
34
+ Reports and investigation are read-only with respect to Fail2Ban configuration
35
+ and bans. There is no ban/unban action or automatic Fail2Ban mutation. Coverage
36
+ never installs filters/jails or enables/reloads Fail2Ban. Persistent application
37
+ changes are limited to explicit or opt-in GeoIP data/policy under your XDG data
38
+ root; validation also uses temporary local sample files.
39
+
40
+ ## Quick start
41
+
42
+ Supported baseline: **Ubuntu 24.04 / Python >=3.12 / Fail2Ban >=1.0.2**.
43
+ The package supplies `textual>=8.2.8,<9` and `maxminddb>=3.1,<4`.
44
+ Fail2Ban, readable logs, and narrowly scoped noninteractive sudo permissions must
45
+ be supplied separately; see [installation and permissions](https://stef-k.github.io/Offenders/installation.html).
46
+
47
+ **First PyPI publication is pending.** The intended distribution name is
48
+ `offenders`; registration and Trusted Publishing acceptance remain unproven.
49
+ After publication, the primary Linux install/run path is:
50
+
51
+ ```bash
52
+ pipx install offenders
53
+ offenders
54
+ ```
55
+
56
+ Until then, from a repository checkout with Python's venv support installed:
57
+
58
+ ```bash
59
+ python3 -m venv .venv
60
+ source .venv/bin/activate
61
+ python -m pip install -e .
62
+ offenders
63
+ ```
64
+
65
+ GeoIP enrichment is optional. Installation downloads no databases; an explicit
66
+ update fetches DB-IP Lite, and automatic updates require opt-in. See the
67
+ [GeoIP guide](https://stef-k.github.io/Offenders/geoip.html) for lifecycle and attribution.
68
+ Coverage analysis and validation are explicit, manual, and copy-only; a sample
69
+ match never establishes filter safety. See [Coverage](https://stef-k.github.io/Offenders/coverage.html).
70
+
71
+ ## Documentation
72
+
73
+ The repository documentation is available now on the
74
+ [Pages documentation site](https://stef-k.github.io/Offenders/).
75
+
76
+ - [Documentation home](https://stef-k.github.io/Offenders/)
77
+ - [Installation, upgrades, permissions, and migration](https://stef-k.github.io/Offenders/installation.html)
78
+ - [Usage and authoritative controls](https://stef-k.github.io/Offenders/usage.html)
79
+ - [GeoIP and ASN enrichment](https://stef-k.github.io/Offenders/geoip.html)
80
+ - [Coverage and validation](https://stef-k.github.io/Offenders/coverage.html)
81
+ - [Troubleshooting and source configuration](https://stef-k.github.io/Offenders/troubleshooting.html)
82
+
83
+ [Repository](https://github.com/stef-k/Offenders) ·
84
+ [Releases](https://github.com/stef-k/Offenders/releases) ·
85
+ [Developer appendix](https://github.com/stef-k/Offenders/blob/master/DEVELOPMENT.md) · [Release preparation](https://github.com/stef-k/Offenders/blob/master/RELEASING.md) ·
86
+ [MIT license](https://github.com/stef-k/Offenders/blob/master/LICENSE)
@@ -0,0 +1,31 @@
1
+ offenders.py,sha256=4IYUnL62-25XCxZzIwuqKSjHJpez0Joa0UyfEO2270s,21609
2
+ offenders_aggregate.py,sha256=_bajp4JkcSSWPn6ueFUKxnreaUSclh0pCfjZj1tEVOM,3510
3
+ offenders_candidate.py,sha256=YAyOq7rPJldqxQkPY6Koy3P9RrGx1xU_-2U4WKCo9hU,8813
4
+ offenders_candidate_ui.py,sha256=kXBjvu8wpk8Ef34NstcpIyKQkdt2bEup5zGPXtQFrEQ,5665
5
+ offenders_coverage.py,sha256=HHJYGiTHmEHR4XrXauQmFGp1PTZtHXA_4WNXdtGr5Qk,19621
6
+ offenders_events.py,sha256=mtydRkWILXoanlIPppMul5NIUJB_5UCgNfehYR9sjeY,3161
7
+ offenders_evidence.py,sha256=KPtkZPRHX9zY6yx3vYFAlP9AhX1-TGOVlAub_KorqqE,15376
8
+ offenders_fail2ban.py,sha256=xhEg50_9dWphQ53IriUzbjbYToVhPOSVnfBO1lxbWOE,9909
9
+ offenders_filter.py,sha256=CvpHWl8kqa56_RbwibdZAyDnmDLo5F9M9pFI-qn8-Vk,1746
10
+ offenders_findings.py,sha256=KolDI98wba3SmEwVUaJEyEVq54F9ynq7XOPQjYjySGY,11320
11
+ offenders_geoip.py,sha256=gC_veCujI10wbvMVEVH9SrGdVB2w5R_8fy9f7PGrlTg,12765
12
+ offenders_geoip_cli.py,sha256=i-igmeO9kcB68YK0_n4i7QVE3wXGwoqcFjKNxQXCjU4,2304
13
+ offenders_geoip_ui.py,sha256=BBK0NVVop0tcBao-TASuBnT9mORQOIsvSVkYecB4NWI,8921
14
+ offenders_geoip_update.py,sha256=6N9N_MD8HKxKXj-KFu1VgdVxi7LicauPNzRpFozbcRg,8276
15
+ offenders_host.py,sha256=mYsTvRWMSw7e9N-DPfwr8pSt7-Y1ybidDpJPyidjtP8,9242
16
+ offenders_ip.py,sha256=_8WFiR-dLTkdx3NNiKU77GPPMxx072agbYbXTGXUftg,2705
17
+ offenders_ip_ui.py,sha256=byvBQkCqcZ6XzSwE46SaX2esDSAVlrTQmcS5HEL9S9I,9560
18
+ offenders_jail_ui.py,sha256=bcl-H9XPJ3I2v0SetNlVHDFEpW46rOJyIjFAfWTCYUM,5332
19
+ offenders_patterns.py,sha256=1pHbDaezgG-F5cewzuwE7k7Xuj1GLWtWO1Jctarauq4,19698
20
+ offenders_recommendations_ui.py,sha256=xaN_QI3bmj6sGyZb5fyZPKPZmlYw-TS0n7lUIeAXjgk,11277
21
+ offenders_report.py,sha256=Nnd6LTKG7QWVIkYY7HCz-7_zkOm4IFJ-jJRVxvV_zZg,4641
22
+ offenders_sources.py,sha256=NFRK93ITYSG8hMzRptpnTOHXPnOLXFY104bGeK-cAHw,5328
23
+ offenders_summary_ui.py,sha256=t4iu997mt18diuWwV8Mj-B1-iw2U8ujGvvJ0HKAt5yY,4794
24
+ offenders_validation.py,sha256=Et8Eiw2ZK1H5t6qcr7H3oOn5c6GQFg6dvRHdnOXyb9U,14915
25
+ offenders_validation_ui.py,sha256=GpARkWv4ywacD3N5J5RvTzSn-iuLwD0D01MdB-vdHbs,6426
26
+ offenders-0.1.0.dist-info/licenses/LICENSE,sha256=id6TgK9QpyEiJzIVituNiAs29MgjX6Aipt5uMEYBllw,1093
27
+ offenders-0.1.0.dist-info/METADATA,sha256=vpMfBLzXMjenNpTHSALYDXdI72fyIdtQl-u9whMPaUQ,3951
28
+ offenders-0.1.0.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
29
+ offenders-0.1.0.dist-info/entry_points.txt,sha256=fdaUfpjimqIBb3gVERAqXw0dKb85tS5tbX1HPzoesHs,45
30
+ offenders-0.1.0.dist-info/top_level.txt,sha256=8NJ8d7xCP_G2hqq_SlZbjCv5DP3xNiedM_devU8-zDE,472
31
+ offenders-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,5 @@
1
+ Wheel-Version: 1.0
2
+ Generator: setuptools (82.0.1)
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
5
+
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ offenders = offenders:main
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 stef kariotidis - <https://stefk.me>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,25 @@
1
+ offenders
2
+ offenders_aggregate
3
+ offenders_candidate
4
+ offenders_candidate_ui
5
+ offenders_coverage
6
+ offenders_events
7
+ offenders_evidence
8
+ offenders_fail2ban
9
+ offenders_filter
10
+ offenders_findings
11
+ offenders_geoip
12
+ offenders_geoip_cli
13
+ offenders_geoip_ui
14
+ offenders_geoip_update
15
+ offenders_host
16
+ offenders_ip
17
+ offenders_ip_ui
18
+ offenders_jail_ui
19
+ offenders_patterns
20
+ offenders_recommendations_ui
21
+ offenders_report
22
+ offenders_sources
23
+ offenders_summary_ui
24
+ offenders_validation
25
+ offenders_validation_ui