Name | dmarc-report JSON |
Version |
1.0.5
JSON |
| download |
home_page | None |
Summary | Displays a nicely formatted report in your terminal from a DMARC XML report. |
upload_time | 2024-12-12 00:11:55 |
maintainer | None |
docs_url | None |
author | None |
requires_python | >=3.9 |
license | MIT License Copyright (c) 2024 Stuart Maxwell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. |
keywords |
dkim
dmarc
dmarc-report
dmarc-xml
email
security
spf
|
VCS |
|
bugtrack_url |
|
requirements |
No requirements were recorded.
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# DMARC Report Tool
Displays a nicely formatted report in your terminal from a DMARC XML report.
## Installation
This works best when installed with `uv tool` or `pipx`.
```bash
# With uv:
uv tool install dmarc-report
# Or with pipx:
pipx install dmarc-report
```
You can also run the tool without installing it:
```bash
# With uvx:
uvx dmarc-report long-dmarc-report-filename.xml
```
## Usage
Run the `dmarc-report` command-line utility followed by a DMARC report file.
The DMARC report can have one of the following file extensions:
- `.xml.gz`
- `.zip`
- `.xml`
```bash
dmarc-report long-dmarc-report-filename.xml.gz
# or
dmarc-report long-dmarc-report-filename.xml
# or
dmarc-report long-dmarc-report-filename.zip
```
Note: if using a zip file, it will only parse the first xml file found in the zip file.
You'll see a nicely formatted report in your terminal:
```text
╭────────────────────────── DMARC Report for example.com ──────────────────────────╮
│ DMARC Policy Details │
│ ╭───────────────────────┬──────────────────────────────────────────────────────╮ │
│ │ Domain │ example.com │ │
│ │ DKIM Alignment │ r │ │
│ │ SPF Alignment │ r │ │
│ │ Policy │ quarantine │ │
│ │ Subdomain Policy │ reject │ │
│ │ Percent │ 100% │ │
│ ╰───────────────────────┴──────────────────────────────────────────────────────╯ │
│ DMARC Report Metadata │
│ ╭───────────────────────┬──────────────────────────────────────────────────────╮ │
│ │ Org name │ Google, Inc. │ │
│ │ Email │ noreply-dmarc-support@google.com │ │
│ │ Extra contact info │ https://support.google.com/a/answer/2466580 │ │
│ │ Report ID │ 1234567890 │ │
│ │ Date range │ 2020-01-01 00:00:00 UTC to 2020-01-01 23:59:59 UTC │ │
│ ╰───────────────────────┴──────────────────────────────────────────────────────╯ │
│ Summary │
│ ╭───────────────────────┬──────────────────────────────────────────────────────╮ │
│ │ Total Messages │ 2 │ │
│ │ Unique Sources │ 1 │ │
│ │ DKIM Pass Rate │ 0.0% │ │
│ │ SPF Pass Rate │ 0.0% │ │
│ ╰───────────────────────┴──────────────────────────────────────────────────────╯ │
│ Message Records │
│ ╭─────────────────┬─────────┬────────┬────────┬────────────────────────────────╮ │
│ │ Source IP │ Count │ DKIM │ SPF │ Auth Results │ │
│ ├─────────────────┼─────────┼────────┼────────┼────────────────────────────────┤ │
│ │ 203.0.113.1 │ 2 │ pass │ pass │ dkim: example.com (pass) │ │
│ │ │ │ │ │ spf: example.com (pass) │ │
│ ╰─────────────────┴─────────┴────────┴────────┴────────────────────────────────╯ │
╰──────────────────────────────────────────────────────────────────────────────────╯
```
Raw data
{
"_id": null,
"home_page": null,
"name": "dmarc-report",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "dkim, dmarc, dmarc-report, dmarc-xml, email, security, spf",
"author": null,
"author_email": "Stuart Maxwell <stuart@amanzi.nz>",
"download_url": "https://files.pythonhosted.org/packages/8f/f6/faf7a4aa340c60e250b29d33f840eed77dcc976260ba0b08525fd93416e4/dmarc_report-1.0.5.tar.gz",
"platform": null,
"description": "# DMARC Report Tool\n\nDisplays a nicely formatted report in your terminal from a DMARC XML report.\n\n## Installation\n\nThis works best when installed with `uv tool` or `pipx`.\n\n```bash\n# With uv:\nuv tool install dmarc-report\n\n# Or with pipx:\n\npipx install dmarc-report\n```\n\nYou can also run the tool without installing it:\n\n```bash\n# With uvx:\nuvx dmarc-report long-dmarc-report-filename.xml\n```\n\n## Usage\n\nRun the `dmarc-report` command-line utility followed by a DMARC report file.\nThe DMARC report can have one of the following file extensions:\n\n- `.xml.gz`\n- `.zip`\n- `.xml`\n\n```bash\ndmarc-report long-dmarc-report-filename.xml.gz\n# or\ndmarc-report long-dmarc-report-filename.xml\n# or\ndmarc-report long-dmarc-report-filename.zip\n```\n\nNote: if using a zip file, it will only parse the first xml file found in the zip file.\n\nYou'll see a nicely formatted report in your terminal:\n\n```text\n\u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 DMARC Report for example.com \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e\n\u2502 DMARC Policy Details \u2502\n\u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502\n\u2502 \u2502 Domain \u2502 example.com \u2502 \u2502\n\u2502 \u2502 DKIM Alignment \u2502 r \u2502 \u2502\n\u2502 \u2502 SPF Alignment \u2502 r \u2502 \u2502\n\u2502 \u2502 Policy \u2502 quarantine \u2502 \u2502\n\u2502 \u2502 Subdomain Policy \u2502 reject \u2502 \u2502\n\u2502 \u2502 Percent \u2502 100% \u2502 \u2502\n\u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502\n\u2502 DMARC Report Metadata \u2502\n\u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502\n\u2502 \u2502 Org name \u2502 Google, Inc. \u2502 \u2502\n\u2502 \u2502 Email \u2502 noreply-dmarc-support@google.com \u2502 \u2502\n\u2502 \u2502 Extra contact info \u2502 https://support.google.com/a/answer/2466580 \u2502 \u2502\n\u2502 \u2502 Report ID \u2502 1234567890 \u2502 \u2502\n\u2502 \u2502 Date range \u2502 2020-01-01 00:00:00 UTC to 2020-01-01 23:59:59 UTC \u2502 \u2502\n\u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502\n\u2502 Summary \u2502\n\u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502\n\u2502 \u2502 Total Messages \u2502 2 \u2502 \u2502\n\u2502 \u2502 Unique Sources \u2502 1 \u2502 \u2502\n\u2502 \u2502 DKIM Pass Rate \u2502 0.0% \u2502 \u2502\n\u2502 \u2502 SPF Pass Rate \u2502 0.0% \u2502 \u2502\n\u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502\n\u2502 Message Records \u2502\n\u2502 \u256d\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u252c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256e \u2502\n\u2502 \u2502 Source IP \u2502 Count \u2502 DKIM \u2502 SPF \u2502 Auth Results \u2502 \u2502\n\u2502 \u251c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u253c\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2524 \u2502\n\u2502 \u2502 203.0.113.1 \u2502 2 \u2502 pass \u2502 pass \u2502 dkim: example.com (pass) \u2502 \u2502\n\u2502 \u2502 \u2502 \u2502 \u2502 \u2502 spf: example.com (pass) \u2502 \u2502\n\u2502 \u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2534\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f \u2502\n\u2570\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u256f\n```\n",
"bugtrack_url": null,
"license": "MIT License Copyright (c) 2024 Stuart Maxwell Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the \"Software\"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.",
"summary": "Displays a nicely formatted report in your terminal from a DMARC XML report.",
"version": "1.0.5",
"project_urls": {
"Homepage": "https://github.com/stuartmaxwell/dmarc-report",
"Issues": "https://github.com/stuartmaxwell/dmarc-report/issues",
"Repository": "https://github.com/stuartmaxwell/dmarc-report"
},
"split_keywords": [
"dkim",
" dmarc",
" dmarc-report",
" dmarc-xml",
" email",
" security",
" spf"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "7eb6c045287d4e742b47c1f98f7f277d500a248d5330498a7fbd3fce5937fcf4",
"md5": "27fa9701476f83b6cc781f737740c75c",
"sha256": "0b6bf1146bc8c0b085b6e2e33e6f25ec360e8d726834a4f1e636b98a0b78123f"
},
"downloads": -1,
"filename": "dmarc_report-1.0.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "27fa9701476f83b6cc781f737740c75c",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10261,
"upload_time": "2024-12-12T00:11:53",
"upload_time_iso_8601": "2024-12-12T00:11:53.505217Z",
"url": "https://files.pythonhosted.org/packages/7e/b6/c045287d4e742b47c1f98f7f277d500a248d5330498a7fbd3fce5937fcf4/dmarc_report-1.0.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8ff6faf7a4aa340c60e250b29d33f840eed77dcc976260ba0b08525fd93416e4",
"md5": "2179fc84788981f25d9b8272d83b4122",
"sha256": "a1e4baaa11119b7d7105b8e2a82016dcf49b0745dd6bb1429398152627ff278e"
},
"downloads": -1,
"filename": "dmarc_report-1.0.5.tar.gz",
"has_sig": false,
"md5_digest": "2179fc84788981f25d9b8272d83b4122",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 27816,
"upload_time": "2024-12-12T00:11:55",
"upload_time_iso_8601": "2024-12-12T00:11:55.976137Z",
"url": "https://files.pythonhosted.org/packages/8f/f6/faf7a4aa340c60e250b29d33f840eed77dcc976260ba0b08525fd93416e4/dmarc_report-1.0.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-12 00:11:55",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "stuartmaxwell",
"github_project": "dmarc-report",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "dmarc-report"
}