diff --git a/_sources/index.md.txt b/_sources/index.md.txt index 6a8e7f7..2df96e0 100644 --- a/_sources/index.md.txt +++ b/_sources/index.md.txt @@ -618,13 +618,17 @@ least: ### geoipupdate setup :::{note} -Starting in `parsedmarc` 7.1.0, a static copy of the [IP to Country Lite database] from IPDB is -distributed with `parsedmarc`, under the terms of the [Creative Commons Attribution 4.0 International License]. as -a fallback if the [MaxMind GeoLite2 Country database] is not installed However, `parsedmarc` cannot install updated -versions of these databases as they are released, so MaxMind's databases and [geoipupdate] tool is still the -preferable solution. +Starting in `parsedmarc` 7.1.0, a static copy of the +[IP to Country Lite database] from IPDB is distributed with +`parsedmarc`, under the terms of the +[Creative Commons Attribution 4.0 International License]. +as a fallback if the [MaxMind GeoLite2 Country database] is not +installed However, `parsedmarc` cannot install updated versions of +these databases as they are released, so MaxMind's databases and the +[geoipupdate] tool is still the preferable solution. -The location of the database file can be overridden by using the `ip_db_path` setting. +The location of the database file can be overridden by using the +`ip_db_path` setting. ::: On Debian 10 (Buster) or later, run: @@ -652,7 +656,8 @@ from the [geoipupdate releases page on GitHub]. On December 30th, 2019, MaxMind started requiring free accounts to access the free Geolite2 databases, in order [to -comply with various privacy regulations][to comply with various privacy regulations]. +comply with various privacy +regulations][to comply with various privacy regulations]. Start by [registering for a free GeoLite2 account], and signing in. @@ -742,8 +747,8 @@ sudo -u parsedmarc /opt/parsedmarc/venv -U parsedmarc ### Optional dependencies -If you would like to be able to parse emails saved from Microsoft Outlook -(i.e. OLE .msg files), install `msgconvert`: +If you would like to be able to parse emails saved from Microsoft +Outlook (i.e. OLE .msg files), install `msgconvert`: On Debian or Ubuntu systems, run: @@ -753,8 +758,8 @@ sudo apt-get install libemail-outlook-message-perl ### Testing multiple report analyzers -If you would like to test parsedmarc and another report processing solution -at the same time, you can have up to two mailto URIs each in the rua and ruf +If you would like to test parsedmarc and another report processing +solution at the same time, you can have up to two `mailto` URIs in each of the rua and ruf tags in your DMARC record, separated by commas. ### Accessing an inbox using OWA/EWS @@ -920,10 +925,10 @@ service davmail status ``` :::{note} -In the event of a crash, systemd will restart the service after 5 minutes, -but the `service davmail status` command will only show the logs for the -current process. To vew the logs for previous runs as well as the -current process (newest to oldest), run: +In the event of a crash, systemd will restart the service after 5 +minutes, but the `service davmail status` command will only show the +logs for the current process. To vew the logs for previous runs as +well as the current process (newest to oldest), run: ```bash journalctl -u davmail.service -r @@ -1003,8 +1008,8 @@ sudo service kibana start Without the commercial [X-Pack] or [ReadonlyREST] products, Kibana does not have any authentication -mechanism of its own. You can use nginx as a reverse proxy that provides basic -authentication. +mechanism of its own. You can use nginx as a reverse proxy that +provides basic authentication. ```bash sudo apt-get install -y nginx apache2-utils @@ -1036,8 +1041,7 @@ openssl req -newkey rsa:4096-nodes -keyout kibana.key -out kibana.csr ``` Fill in the prompts. Watch out for Common Name (e.g. server FQDN or YOUR -domain name), which is the IP address or domain name that you will be hosting -Kibana on. it is the most important field. +domain name), which is the IP address or domain name that you will bebana on. it is the most important field. If you generated a CSR, remove the CSR after you have your certs @@ -1184,25 +1188,25 @@ check out the Elastic guide to [managing time-based indexes efficiently](https:/ Starting in version 4.3.0 `parsedmarc` supports sending aggregate and/or forensic DMARC data to a Splunk [HTTP Event collector (HEC)]. -The project repository contains [XML files] for premade Splunk dashboards for -aggregate and forensic DMARC reports. +The project repository contains [XML files] for premade Splunk +dashboards for aggregate and forensic DMARC reports. -Copy and paste the contents of each file into a separate Splunk dashboard XML -editor. +Copy and paste the contents of each file into a separate Splunk +dashboard XML editor. :::{warning} Change all occurrences of `index="email"` in the XML to match your own index name. ::: -The Splunk dashboards display the same content and layout as the Kibana -dashboards, although the Kibana dashboards have slightly easier and more -flexible filtering options. +The Splunk dashboards display the same content and layout as the +Kibana dashboards, although the Kibana dashboards have slightly +easier and more flexible filtering options. ### Running parsedmarc as a systemd service -Use systemd to run `parsedmarc` as a service and process reports as they -arrive. +Use systemd to run `parsedmarc` as a service and process reports as +they arrive. Protect the `parsedmarc` configuration file from prying eyes @@ -1265,10 +1269,10 @@ service parsedmarc status ``` :::{note} -In the event of a crash, systemd will restart the service after 10 minutes, -but the `service parsedmarc status` command will only show the logs for the -current process. To vew the logs for previous runs as well as the -current process (newest to oldest), run: +In the event of a crash, systemd will restart the service after 10 +minutes, but the `service parsedmarc status` command will only show +the logs for the current process. To vew the logs for previous runs +as well as the current process (newest to oldest), run: ```bash journalctl -u parsedmarc.service -r @@ -1278,8 +1282,8 @@ journalctl -u parsedmarc.service -r ## Using the Kibana dashboards -The Kibana DMARC dashboards are a human-friendly way to understand the results -from incoming DMARC reports. +The Kibana DMARC dashboards are a human-friendly way to understand the +results from incoming DMARC reports. :::{note} The default dashboard is DMARC Summary. To switch between dashboards, @@ -1288,8 +1292,8 @@ click on the Dashboard link in the left side menu of Kibana. ### DMARC Summary -As the name suggests, this dashboard is the best place to start reviewing your -aggregate DMARC data. +As the name suggests, this dashboard is the best place to start +reviewing your aggregate DMARC data. Across the top of the dashboard, three pie charts display the percentage of alignment pass/fail for SPF, DKIM, and DMARC. Clicking on any chart segment diff --git a/index.html b/index.html index 9fd4f1d..e19ae60 100644 --- a/index.html +++ b/index.html @@ -772,12 +772,16 @@ least:
Note
-Starting in parsedmarc 7.1.0, a static copy of the IP to Country Lite database from IPDB is
-distributed with parsedmarc, under the terms of the Creative Commons Attribution 4.0 International License. as
-a fallback if the MaxMind GeoLite2 Country database is not installed However, parsedmarc cannot install updated
-versions of these databases as they are released, so MaxMind’s databases and geoipupdate tool is still the
-preferable solution.
The location of the database file can be overridden by using the ip_db_path setting.
Starting in parsedmarc 7.1.0, a static copy of the
+IP to Country Lite database from IPDB is distributed with
+parsedmarc, under the terms of the
+Creative Commons Attribution 4.0 International License.
+as a fallback if the MaxMind GeoLite2 Country database is not
+installed However, parsedmarc cannot install updated versions of
+these databases as they are released, so MaxMind’s databases and the
+geoipupdate tool is still the preferable solution.
The location of the database file can be overridden by using the
+ip_db_path setting.
On Debian 10 (Buster) or later, run:
sudo apt-get install -y geoipupdate
@@ -797,7 +801,8 @@ sudo apt install -y geoipupdate
from the geoipupdate releases page on GitHub.
On December 30th, 2019, MaxMind started requiring free accounts to
access the free Geolite2 databases, in order to
-comply with various privacy regulations.
+comply with various privacy
+regulations.
Start by registering for a free GeoLite2 account, and signing in.
Then, navigate the to the License Keys page under your account,
and create a new license key for the version of
@@ -864,8 +869,8 @@ explicitly tell vir
Optional dependencies
-If you would like to be able to parse emails saved from Microsoft Outlook
-(i.e. OLE .msg files), install msgconvert:
+If you would like to be able to parse emails saved from Microsoft
+Outlook (i.e. OLE .msg files), install msgconvert:
On Debian or Ubuntu systems, run:
sudo apt-get install libemail-outlook-message-perl
@@ -873,8 +878,8 @@ explicitly tell vir
Testing multiple report analyzers
-If you would like to test parsedmarc and another report processing solution
-at the same time, you can have up to two mailto URIs each in the rua and ruf
+
If you would like to test parsedmarc and another report processing
+solution at the same time, you can have up to two mailto URIs in each of the rua and ruf
tags in your DMARC record, separated by commas.
@@ -1020,10 +1025,10 @@ sudo service davmail restart
Note
-In the event of a crash, systemd will restart the service after 5 minutes,
-but the service davmail status command will only show the logs for the
-current process. To vew the logs for previous runs as well as the
-current process (newest to oldest), run:
+In the event of a crash, systemd will restart the service after 5
+minutes, but the service davmail status command will only show the
+logs for the current process. To vew the logs for previous runs as
+well as the current process (newest to oldest), run:
journalctl -u davmail.service -r
@@ -1091,8 +1096,8 @@ sudo service kibana start
Without the commercial X-Pack or ReadonlyREST products, Kibana
does not have any authentication
-mechanism of its own. You can use nginx as a reverse proxy that provides basic
-authentication.
+mechanism of its own. You can use nginx as a reverse proxy that
+provides basic authentication.
sudo apt-get install -y nginx apache2-utils
@@ -1114,8 +1119,7 @@ authentication.
Fill in the prompts. Watch out for Common Name (e.g. server FQDN or YOUR -domain name), which is the IP address or domain name that you will be hosting -Kibana on. it is the most important field.
+domain name), which is the IP address or domain name that you will bebana on. it is the most important field.If you generated a CSR, remove the CSR after you have your certs
rm -f kibana.csr
Starting in version 4.3.0 parsedmarc supports sending aggregate and/or
forensic DMARC data to a Splunk HTTP Event collector (HEC).
The project repository contains XML files for premade Splunk dashboards for -aggregate and forensic DMARC reports.
-Copy and paste the contents of each file into a separate Splunk dashboard XML -editor.
+The project repository contains XML files for premade Splunk +dashboards for aggregate and forensic DMARC reports.
+Copy and paste the contents of each file into a separate Splunk +dashboard XML editor.
Warning
Change all occurrences of index="email" in the XML to
match your own index name.
The Splunk dashboards display the same content and layout as the Kibana -dashboards, although the Kibana dashboards have slightly easier and more -flexible filtering options.
+The Splunk dashboards display the same content and layout as the +Kibana dashboards, although the Kibana dashboards have slightly +easier and more flexible filtering options.
Use systemd to run parsedmarc as a service and process reports as they
-arrive.
Use systemd to run parsedmarc as a service and process reports as
+they arrive.
Protect the parsedmarc configuration file from prying eyes
sudo chown root:parsedmarc /etc/parsedmarc.ini
sudo chmod u=rw,g=r,o= /etc/parsedmarc.ini
@@ -1298,10 +1302,10 @@ sudo service parsedmarc restart
Note
-In the event of a crash, systemd will restart the service after 10 minutes,
-but the service parsedmarc status command will only show the logs for the
-current process. To vew the logs for previous runs as well as the
-current process (newest to oldest), run:
In the event of a crash, systemd will restart the service after 10
+minutes, but the service parsedmarc status command will only show
+the logs for the current process. To vew the logs for previous runs
+as well as the current process (newest to oldest), run:
journalctl -u parsedmarc.service -r
The Kibana DMARC dashboards are a human-friendly way to understand the results -from incoming DMARC reports.
+The Kibana DMARC dashboards are a human-friendly way to understand the +results from incoming DMARC reports.
Note
The default dashboard is DMARC Summary. To switch between dashboards, @@ -1319,8 +1323,8 @@ click on the Dashboard link in the left side menu of Kibana.
As the name suggests, this dashboard is the best place to start reviewing your -aggregate DMARC data.
+As the name suggests, this dashboard is the best place to start +reviewing your aggregate DMARC data.
Across the top of the dashboard, three pie charts display the percentage of alignment pass/fail for SPF, DKIM, and DMARC. Clicking on any chart segment will filter for that value.
diff --git a/searchindex.js b/searchindex.js index e17af60..b69b88a 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index"], "filenames": ["index.md"], "titles": ["parsedmarc documentation - Open source DMARC report analyzer and visualizer"], "terms": {"want": 0, "thi": 0, "i": 0, "project": 0, "maintain": 0, "one": 0, "develop": 0, "pleas": 0, "consid": 0, "review": 0, "issu": 0, "see": 0, "how": 0, "you": 0, "can": 0, "contribut": 0, "code": 0, "user": 0, "assist": 0, "pin": 0, "would": 0, "particularli": 0, "thank": 0, "all": 0, "contributor": 0, "python": 0, "modul": 0, "pars": 0, "when": 0, "work": 0, "self": 0, "host": 0, "altern": 0, "commerci": 0, "process": 0, "agari": 0, "brand": 0, "protect": 0, "dmarcian": 0, "ondmarc": 0, "proofpoint": 0, "email": 0, "fraud": 0, "defens": 0, "valimail": 0, "draft": 0, "1": 0, "0": 0, "standard": 0, "rua": 0, "failur": 0, "ruf": 0, "from": 0, "over": 0, "imap": 0, "microsoft": 0, "graph": 0, "gmail": 0, "transpar": 0, "handl": 0, "gzip": 0, "zip": 0, "compress": 0, "consist": 0, "data": 0, "structur": 0, "simpl": 0, "result": 0, "send": 0, "premad": 0, "apach": 0, "kafka": 0, "demystifi": 0, "A": 0, "complet": 0, "If": 0, "ar": 0, "look": 0, "check": 0, "out": 0, "sister": 0, "checkdmarc": 0, "against": 0, "spoof": 0, "monitor": 0, "domainawar": 0, "usag": 0, "h": 0, "c": 0, "config_fil": 0, "strip": 0, "attach": 0, "payload": 0, "o": 0, "filenam": 0, "aggregate_json_filenam": 0, "forensic_json_filenam": 0, "aggregate_csv_filenam": 0, "forensic_csv_filenam": 0, "n": 0, "nameserv": 0, "dns_timeout": 0, "offlin": 0, "": 0, "verbos": 0, "debug": 0, "log": 0, "log_fil": 0, "v": 0, "file_path": 0, "posit": 0, "argument": 0, "more": 0, "path": 0, "mbox": 0, "show": 0, "messag": 0, "exit": 0, "config": 0, "silent": 0, "impli": 0, "remov": 0, "write": 0, "given": 0, "directori": 0, "queri": 0, "number": 0, "second": 0, "wait": 0, "answer": 0, "dn": 0, "default": 0, "do": [], "make": 0, "onlin": 0, "geoloc": 0, "onli": 0, "print": 0, "error": 0, "warn": 0, "inform": 0, "version": 0, "program": 0, "start": 0, "6": 0, "most": 0, "were": 0, "move": 0, "describ": 0, "below": 0, "suppli": 0, "ini": 0, "etc": 0, "For": 0, "exampl": 0, "comment": 0, "gener": 0, "save_aggreg": 0, "true": 0, "save_forens": 0, "com": 0, "dmarcresport": 0, "password": 0, "upersecur": 0, "mailbox": 0, "watch": 0, "delet": 0, "fals": 0, "127": 0, "9200": 0, "ssl": 0, "splunk_hec": 0, "url": 0, "http": 0, "splunkhec": 0, "token": 0, "hectokengoesher": 0, "s3": 0, "bucket": 0, "my": 0, "syslog": 0, "server": 0, "localhost": 0, "port": 0, "514": 0, "The": 0, "full": 0, "set": 0, "bool": 0, "save": 0, "strip_attachment_payload": 0, "str": 0, "place": 0, "ip_db_path": 0, "custom": 0, "mmdb": 0, "maxmind": 0, "dbip": 0, "comma": 0, "separ": 0, "resolv": 0, "cloudflar": 0, "public": 0, "float": 0, "timeout": 0, "period": 0, "n_proc": 0, "int": 0, "parallel": 0, "mode": 0, "chunk_siz": 0, "give": 0, "each": 0, "larger": 0, "than": 0, "improv": 0, "perform": 0, "thousand": 0, "reports_fold": 0, "folder": 0, "label": 0, "where": 0, "incom": 0, "found": 0, "archive_fold": 0, "sort": 0, "archiv": 0, "idl": 0, "command": 0, "thei": 0, "arriv": 0, "poll": 0, "m": 0, "new": 0, "after": 0, "them": 0, "instead": 0, "batch_siz": 0, "read": 0, "befor": 0, "10": 0, "limit": 0, "check_timeout": 0, "respons": 0, "until": 0, "next": 0, "mai": 0, "30": 0, "hostnam": 0, "ip": 0, "address": 0, "993": 0, "charact": 0, "must": 0, "escap": 0, "anoth": 0, "so": 0, "wherev": 0, "8": 0, "section": 0, "have": 0, "been": 0, "your": 0, "recommend": 0, "still": 0, "try": 0, "encrypt": 0, "tl": 0, "connect": 0, "skip_certificate_verif": 0, "skip": 0, "certif": 0, "verif": 0, "msgraph": 0, "auth_method": 0, "authent": 0, "method": 0, "type": 0, "usernamepassword": 0, "devicecod": 0, "clientsecret": 0, "m365": 0, "requir": 0, "auth": 0, "client_id": 0, "app": 0, "registr": 0, "client": 0, "id": 0, "client_secret": 0, "secret": 0, "tenant_id": 0, "azur": 0, "ad": 0, "tenant": 0, "except": 0, "name": 0, "current": 0, "could": 0, "share": 0, "ha": 0, "token_fil": 0, "creat": 0, "admin": 0, "grant": 0, "readwrit": 0, "deleg": 0, "permiss": 0, "differ": 0, "usernam": 0, "need": 0, "applic": 0, "also": 0, "restrict": 0, "specif": 0, "sinc": 0, "allow": 0, "applicationaccesspolici": 0, "exchang": 0, "powershel": 0, "scope": 0, "polici": 0, "add": 0, "enabl": 0, "secur": 0, "group": 0, "accessright": 0, "restrictaccess": 0, "appid": 0, "policyscopegroupid": 0, "descript": 0, "e": 0, "g": 0, "special": 0, "encod": 0, "cert_path": 0, "trust": 0, "index_suffix": 0, "suffix": 0, "appli": 0, "monthly_index": 0, "monthli": 0, "daili": 0, "number_of_shard": 0, "shard": 0, "number_of_replica": 0, "replica": 0, "event": 0, "collector": 0, "hec": 0, "passsword": 0, "aggregate_top": 0, "topic": 0, "forensic_top": 0, "smtp": 0, "25": 0, "starttl": 0, "header": 0, "subject": 0, "upload": 0, "region_nam": 0, "region": 0, "endpoint_url": 0, "endpoint": 0, "access_key_id": 0, "kei": 0, "secret_access_kei": 0, "udp": 0, "gmail_api": 0, "credentials_fil": 0, "contain": 0, "credenti": 0, "none": 0, "disabl": 0, "include_spam_trash": 0, "includ": 0, "spam": 0, "trash": 0, "search": 0, "acquir": 0, "www": 0, "googleapi": 0, "modifi": 0, "oauth2_port": 0, "tcp": 0, "local": 0, "listen": 0, "oauth2": 0, "8080": 0, "It": 0, "strongli": 0, "By": 0, "which": 0, "much": 0, "faster": 0, "reliabl": 0, "googl": 0, "cisco": 0, "opendn": 0, "even": 0, "should": 0, "network": 0, "block": 0, "request": 0, "outsid": 0, "becaus": 0, "known": 0, "instanc": 0, "highli": 0, "regul": 0, "industri": 0, "sensit": 0, "healthcar": 0, "financ": 0, "legitim": 0, "outgo": 0, "fail": 0, "possibl": 0, "appear": 0, "later": 0, "origin": 0, "sometim": 0, "bodi": 0, "organ": 0, "ani": 0, "kind": 0, "privaci": 0, "reason": 0, "while": 0, "sent": 0, "least": 0, "normal": 0, "receiv": 0, "veri": 0, "few": 0, "approach": 0, "collect": 0, "manual": 0, "malici": 0, "non": 0, "here": 0, "org": 0, "wiki": 0, "actual": 0, "older": 0, "schema": 0, "rfc": 0, "7480": 0, "appendix": 0, "wide": 0, "produc": 0, "regardless": 0, "xml_schema": 0, "report_metadata": 0, "org_nam": 0, "acm": 0, "org_email": 0, "norepli": 0, "org_extra_contact_info": 0, "report_id": 0, "9391651994964116463": 0, "begin_d": 0, "2012": 0, "04": 0, "27": 0, "20": 0, "00": 0, "end_dat": 0, "28": 0, "19": 0, "59": 0, "policy_publish": 0, "adkim": 0, "r": 0, "aspf": 0, "p": 0, "sp": 0, "pct": 0, "100": 0, "fo": 0, "ip_address": 0, "72": 0, "150": 0, "241": 0, "94": 0, "countri": 0, "u": 0, "reverse_dn": 0, "adsl": 0, "shv": 0, "bellsouth": 0, "net": 0, "base_domain": 0, "count": 0, "policy_evalu": 0, "disposit": 0, "pass": 0, "policy_override_reason": 0, "identifi": 0, "header_from": 0, "envelope_from": 0, "envelope_to": 0, "null": 0, "auth_result": 0, "selector": 0, "mfrom": 0, "source_ip_address": 0, "source_countri": 0, "source_reverse_dn": 0, "source_base_domain": 0, "spf_align": 0, "dkim_align": 0, "dmarc_align": 0, "policy_override_com": 0, "dkim_domain": 0, "dkim_selector": 0, "dkim_result": 0, "spf_domain": 0, "spf_scope": 0, "spf_result": 0, "github": 0, "xennn": 0, "anonym": 0, "feedback_typ": 0, "user_ag": 0, "lua": 0, "original_mail_from": 0, "sharepoint": 0, "de": 0, "original_rcpt_to": 0, "peter": 0, "pan": 0, "arrival_d": 0, "mon": 0, "01": 0, "oct": 0, "2018": 0, "11": 0, "0200": 0, "message_id": 0, "38": 0, "e7": 0, "30937": 0, "bd6e1bb5": 0, "mailrelai": 0, "authentication_result": 0, "di": 0, "delivery_result": 0, "auth_failur": 0, "reported_domain": 0, "arrival_date_utc": 0, "09": 0, "authentication_mechan": 0, "original_envelope_id": 0, "sample_headers_onli": 0, "servernameon": 0, "tby": 0, "cest": 0, "ndate": 0, "nmessag": 0, "nto": 0, "nfrom": 0, "utf": 0, "b": 0, "sw50zxjha3rpdmugv2v0dgjld2vyymvylcocymvyc2ljahq": 0, "nsubject": 0, "nmime": 0, "nx": 0, "mailer": 0, "foundat": 0, "2010": 0, "ncontent": 0, "text": 0, "html": 0, "charset": 0, "transfer": 0, "quot": 0, "printabl": 0, "head": 0, "base": 0, "href": 0, "3d": 0, "nwettbewerb": 0, "doctyp": 0, "w3c": 0, "dtd": 0, "en": 0, "meta": 0, "content": 0, "08": 0, "0240": 0, "003": 0, "parsed_sampl": 0, "display_nam": 0, "interakt": 0, "wettbewerb": 0, "\u00fcbersicht": 0, "to_domain": 0, "timezon": 0, "mime": 0, "date": 0, "x": 0, "hop": 0, "date_utc": 0, "delai": 0, "has_defect": 0, "To": 0, "reply_to": 0, "cc": 0, "bcc": 0, "filename_safe_subject": 0, "tracker": 0, "system": 0, "behind": 0, "web": 0, "proxi": 0, "edit": 0, "environ": 0, "detail": 0, "http_proxi": 0, "prox": 0, "3128": 0, "https_proxi": 0, "ftp_proxi": 0, "Or": 0, "up": 0, "ensur": 0, "patch": 0, "updat": 0, "rollup": 0, "22": 0, "kb4295699": 0, "2013": 0, "cumul": 0, "21": 0, "kb4099855": 0, "2016": 0, "kb4134118": 0, "7": 0, "static": 0, "copi": 0, "lite": 0, "databas": 0, "ipdb": 0, "distribut": 0, "under": 0, "term": 0, "creativ": 0, "common": 0, "attribut": 0, "4": 0, "intern": 0, "licens": 0, "fallback": 0, "geolite2": 0, "howev": 0, "cannot": 0, "releas": 0, "tool": 0, "prefer": 0, "solut": 0, "locat": 0, "overridden": 0, "On": 0, "debian": 0, "buster": 0, "sudo": 0, "apt": 0, "get": 0, "y": 0, "ubuntu": 0, "repositori": 0, "ppa": 0, "cento": 0, "rhel": 0, "dnf": 0, "latest": 0, "build": 0, "linux": 0, "maco": 0, "window": 0, "download": 0, "page": 0, "decemb": 0, "30th": 0, "2019": 0, "free": 0, "account": 0, "order": 0, "compli": 0, "variou": 0, "regist": 0, "sign": 0, "Then": 0, "navig": 0, "wa": 0, "format": 0, "newer": 0, "Be": 0, "sure": 0, "select": 0, "correct": 0, "onc": 0, "pre": 0, "fill": 0, "geoip": 0, "conf": 0, "systemdr": 0, "programdata": 0, "first": 0, "time": 0, "citi": 0, "asn": 0, "weekli": 0, "everi": 0, "tuesdai": 0, "cron": 0, "job": 0, "schedul": 0, "task": 0, "python3": 0, "pip": 0, "virtualenv": 0, "dev": 0, "libxml2": 0, "libxslt": 0, "python39": 0, "setuptool": 0, "devel": 0, "mkdir": 0, "opt": 0, "useradd": 0, "bin": 0, "venv": 0, "those": 0, "explicitli": 0, "tell": 0, "9": 0, "insid": 0, "like": 0, "abl": 0, "outlook": 0, "ol": 0, "msg": 0, "msgconvert": 0, "libemail": 0, "perl": 0, "same": 0, "two": 0, "mailto": 0, "uri": 0, "tag": 0, "offic": 0, "365": 0, "via": 0, "some": 0, "In": 0, "case": 0, "gatewai": 0, "modern": 0, "multi": 0, "factor": 0, "sourceforg": 0, "extract": 0, "unzip": 0, "java": 0, "jre": 0, "headless": 0, "properti": 0, "basic": 0, "workstat": 0, "auto": 0, "webdav": 0, "enableew": 0, "office365": 0, "asmx": 0, "imapport": 0, "1143": 0, "enableproxi": 0, "usesystemproxi": 0, "proxyhost": 0, "proxyport": 0, "proxyus": 0, "proxypassword": 0, "exclud": 0, "noproxyfor": 0, "remot": 0, "allowremot": 0, "bind": 0, "socket": 0, "loopback": 0, "bindaddress": 0, "specifi": 0, "nosecureimap": 0, "keepal": 0, "dure": 0, "larg": 0, "enablekeepal": 0, "retriev": 0, "foldersizelimit": 0, "immedi": 0, "store": 0, "flag": 0, "imapautoexpung": 0, "minut": 0, "imapidledelai": 0, "alwai": 0, "repli": 0, "rfc822": 0, "size": 0, "approxim": 0, "imapalwaysapproxmsgs": 0, "300": 0, "clientsotimeout": 0, "pry": 0, "ey": 0, "chown": 0, "root": 0, "chmod": 0, "rw": 0, "nano": 0, "unit": 0, "target": 0, "execstart": 0, "restart": 0, "restartsec": 0, "5m": 0, "wantedbi": 0, "systemctl": 0, "daemon": 0, "reload": 0, "abov": 0, "whenev": 0, "statu": 0, "crash": 0, "5": 0, "vew": 0, "previou": 0, "well": 0, "newest": 0, "oldest": 0, "journalctl": 0, "interact": 0, "follow": 0, "transport": 0, "wget": 0, "qo": 0, "artifact": 0, "co": 0, "gpg": 0, "echo": 0, "deb": 0, "packag": 0, "stabl": 0, "main": 0, "tee": 0, "d": 0, "other": 0, "rpm": 0, "jvm": 0, "heap": 0, "small": 0, "1g": 0, "caus": 0, "heavi": 0, "load": 0, "fix": 0, "increas": 0, "minimum": 0, "maximum": 0, "level": 0, "gb": 0, "ram": 0, "assign": 0, "valu": 0, "xms4g": 0, "xmx4g": 0, "refer": 0, "without": 0, "pack": 0, "readonlyrest": 0, "product": 0, "doe": 0, "mechan": 0, "its": 0, "own": 0, "nginx": 0, "revers": 0, "provid": 0, "apache2": 0, "yum": 0, "httpd": 0, "cd": 0, "openssl": 0, "req": 0, "x509": 0, "node": 0, "dai": 0, "newkei": 0, "rsa": 0, "4096": 0, "keyout": 0, "crt": 0, "csr": 0, "ca": 0, "prompt": 0, "fqdn": 0, "import": 0, "field": 0, "cert": 0, "rm": 0, "f": 0, "mv": 0, "rx": 0, "site": 0, "avail": 0, "443": 0, "http2": 0, "ssl_certif": 0, "ssl_certificate_kei": 0, "ssl_session_timeout": 0, "1d": 0, "ssl_session_cach": 0, "50m": 0, "ssl_session_ticket": 0, "off": 0, "tweak": 0, "ssl_protocol": 0, "tlsv1": 0, "ssl_cipher": 0, "ecdh": 0, "ecdsa": 0, "aes256": 0, "gcm": 0, "sha384": 0, "chacha20": 0, "poly1305": 0, "aes128": 0, "sha256": 0, "ssl_prefer_server_ciph": 0, "uncom": 0, "line": 0, "add_head": 0, "strict": 0, "max": 0, "ag": 0, "63072000": 0, "includesubdomain": 0, "preload": 0, "frame": 0, "sameorigin": 0, "nosniff": 0, "auth_bas": 0, "login": 0, "auth_basic_user_fil": 0, "htpasswd": 0, "proxy_pass": 0, "5601": 0, "proxy_set_head": 0, "real": 0, "remote_addr": 0, "forward": 0, "proxy_add_x_forwarded_for": 0, "80": 0, "return": 0, "301": 0, "request_uri": 0, "ln": 0, "exampleus": 0, "httpasswd": 0, "now": 0, "right": 0, "click": 0, "link": 0, "export": 0, "ndjson": 0, "object": 0, "tab": 0, "stack": 0, "manag": 0, "overwrit": 0, "exist": 0, "restor": 0, "someon": 0, "els": 0, "break": 0, "control": 0, "chang": 0, "wai": 0, "step": 0, "replac": 0, "match": 0, "checkbox": 0, "dmarc_aggreg": 0, "dmarc_forens": 0, "conform": 0, "easi": 0, "gdpr": 0, "fore": 0, "effici": 0, "xml": 0, "past": 0, "editor": 0, "occurr": 0, "displai": 0, "layout": 0, "although": 0, "slightli": 0, "easier": 0, "flexibl": 0, "filter": 0, "watcher": 0, "io": 0, "human": 0, "friendli": 0, "understand": 0, "switch": 0, "between": 0, "left": 0, "side": 0, "menu": 0, "As": 0, "suggest": 0, "across": 0, "top": 0, "three": 0, "pie": 0, "chart": 0, "percentag": 0, "segment": 0, "just": 0, "especi": 0, "correctli": 0, "remain": 0, "often": 0, "rule": 0, "signatur": 0, "part": 0, "wherea": 0, "reli": 0, "session": 0, "underneath": 0, "passag": 0, "find": 0, "center": 0, "volum": 0, "hover": 0, "mous": 0, "magnifi": 0, "glass": 0, "icon": 0, "our": 0, "recogn": 0, "market": 0, "plu": 0, "That": 0, "might": 0, "busi": 0, "particular": 0, "With": 0, "contact": 0, "lot": 0, "b2c": 0, "high": 0, "come": 0, "consum": 0, "yahoo": 0, "occur": 0, "old": 0, "why": 0, "mention": 0, "earlier": 0, "similar": 0, "observ": 0, "who": 0, "addresse": 0, "parent": 0, "subsidiari": 0, "outdat": 0, "further": 0, "down": 0, "previous": 0, "call": 0, "consolid": 0, "view": 0, "temporari": 0, "upper": 0, "These": 0, "recipi": 0, "avoid": 0, "leak": 0, "notabl": 0, "chines": 0, "webmail": 0, "entir": 0, "dkm": 0, "end": 0, "long": 0, "relat": 0, "publish": 0, "envelop": 0, "vendor": 0, "don": 0, "know": 0, "yet": 0, "ask": 0, "through": 0, "relai": 0, "theirs": 0, "realli": 0, "worst": 0, "subdomain": 0, "alter": 0, "tld": 0, "leav": 0, "vulner": 0, "deploi": 0, "footer": 0, "therebi": 0, "ideal": 0, "joe": 0, "nelson": 0, "fantast": 0, "explain": 0, "exactli": 0, "shouldn": 0, "fulli": 0, "compliant": 0, "rather": 0, "repeat": 0, "hi": 0, "fine": 0, "retain": 0, "2369": 0, "unsubscrib": 0, "2919": 0, "button": 0, "tradit": 0, "disclaim": 0, "addit": 0, "action": 0, "prefix": 0, "came": 0, "post": 0, "platform": 0, "subject_prefix": 0, "from_is_list": 0, "No": 0, "first_strip_reply_to": 0, "reply_goes_to_list": 0, "poster": 0, "include_rfc2369_head": 0, "ye": 0, "include_list_post_head": 0, "include_sender_head": 0, "digest": 0, "msg_header": 0, "msg_footer": 0, "scrub_nondigest": 0, "dmarc_moderation_act": 0, "accept": 0, "dmarc_quarantine_moderation_act": 0, "dmarc_none_moderation_act": 0, "ident": 0, "blank": 0, "convert": 0, "plaintext": 0, "rfc2369": 0, "explicit": 0, "replyto": 0, "goe": 0, "mung": 0, "mitig": 0, "uncondition": 0, "templat": 0, "unfortun": 0, "postoriu": 0, "ui": 0, "empti": 0, "ll": 0, "touch": 0, "var": 0, "member": 0, "regular": 0, "languag": 0, "core": 0, "go": 0, "legal": 0, "administr": 0, "longer": 0, "wrap": 0, "interfer": 0, "mobil": 0, "hand": 0, "accident": 0, "intend": 0, "choos": 0, "fit": 0, "commun": 0, "16": 0, "2017a": 0, "higher": 0, "rewrit": 0, "enforc": 0, "quarantin": 0, "reject": 0, "invalidaggregatereport": 0, "rais": 0, "invalid": 0, "encount": 0, "invaliddmarcreport": 0, "invalidforensicreport": 0, "parsererror": 0, "parser": 0, "email_result": 0, "mail_from": 0, "mail_to": 0, "mail_cc": 0, "mail_bcc": 0, "require_encrypt": 0, "verifi": 0, "attachment_filenam": 0, "paramet": 0, "ordereddict": 0, "overrid": 0, "plain": 0, "extract_xml": 0, "input_": 0, "byte": 0, "input": 0, "get_dmarc_reports_from_mailbox": 0, "mailboxconnect": 0, "create_fold": 0, "fetch": 0, "dict": 0, "whether": 0, "destin": 0, "aggregate_report": 0, "forensic_report": 0, "get_dmarc_reports_from_mbox": 0, "get_report_zip": 0, "parse_aggregate_report_fil": 0, "_input": 0, "keep_al": 0, "callabl": 0, "keep": 0, "aliv": 0, "function": 0, "parse_aggregate_report_xml": 0, "string": 0, "parse_forensic_report": 0, "feedback_report": 0, "msg_date": 0, "feedback": 0, "822": 0, "parse_report_email": 0, "report_typ": 0, "parse_report_fil": 0, "parsed_aggregate_reports_to_csv": 0, "flat": 0, "parsed_aggregate_reports_to_csv_row": 0, "parsed_forensic_reports_to_csv": 0, "parsed_forensic_reports_to_csv_row": 0, "save_output": 0, "output_directori": 0, "watch_inbox": 0, "mailbox_connect": 0, "callback": 0, "alreadysav": 0, "elasticsearcherror": 0, "create_index": 0, "migrate_index": 0, "aggregate_index": 0, "forensic_index": 0, "map": 0, "save_aggregate_report_to_elasticsearch": 0, "save_forensic_report_to_elasticsearch": 0, "set_host": 0, "use_ssl": 0, "ssl_cert_path": 0, "60": 0, "singl": 0, "chain": 0, "class": 0, "hecclient": 0, "access_token": 0, "initi": 0, "param": 0, "save_aggregate_reports_to_splunk": 0, "dictionari": 0, "save_forensic_reports_to_splunk": 0, "splunkerror": 0, "downloaderror": 0, "rasi": 0, "emailparsererror": 0, "convert_outlook_msg": 0, "msg_byte": 0, "decode_base64": 0, "decod": 0, "base64": 0, "pad": 0, "being": 0, "get_base_domain": 0, "use_fresh_psl": 0, "publicsuffix": 0, "public_suffix_list": 0, "dat": 0, "fresh": 0, "get_filename_safe_str": 0, "safe": 0, "get_ip_address_countri": 0, "db_path": 0, "iso": 0, "associ": 0, "ipv4": 0, "ipv6": 0, "And": 0, "get_ip_address_info": 0, "cach": 0, "expiringdict": 0, "storag": 0, "get_reverse_dn": 0, "human_timestamp_to_datetim": 0, "human_timestamp": 0, "to_utc": 0, "readabl": 0, "timestamp": 0, "datetim": 0, "utc": 0, "human_timestamp_to_timestamp": 0, "unix": 0, "yyyi": 0, "mm": 0, "dd": 0, "hh": 0, "ss": 0, "is_mbox": 0, "is_outlook_msg": 0, "parse_email": 0, "simplifi": 0, "binari": 0, "query_dn": 0, "record_typ": 0, "timestamp_to_datetim": 0, "timestamp_to_human": 0}, "objects": {"": [[0, 0, 0, "-", "parsedmarc"]], "parsedmarc": [[0, 1, 1, "", "InvalidAggregateReport"], [0, 1, 1, "", "InvalidDMARCReport"], [0, 1, 1, "", "InvalidForensicReport"], [0, 1, 1, "", "ParserError"], [0, 0, 0, "-", "elastic"], [0, 2, 1, "", "email_results"], [0, 2, 1, "", "extract_xml"], [0, 2, 1, "", "get_dmarc_reports_from_mailbox"], [0, 2, 1, "", "get_dmarc_reports_from_mbox"], [0, 2, 1, "", "get_report_zip"], [0, 2, 1, "", "parse_aggregate_report_file"], [0, 2, 1, "", "parse_aggregate_report_xml"], [0, 2, 1, "", "parse_forensic_report"], [0, 2, 1, "", "parse_report_email"], [0, 2, 1, "", "parse_report_file"], [0, 2, 1, "", "parsed_aggregate_reports_to_csv"], [0, 2, 1, "", "parsed_aggregate_reports_to_csv_rows"], [0, 2, 1, "", "parsed_forensic_reports_to_csv"], [0, 2, 1, "", "parsed_forensic_reports_to_csv_rows"], [0, 2, 1, "", "save_output"], [0, 0, 0, "-", "splunk"], [0, 0, 0, "-", "utils"], [0, 2, 1, "", "watch_inbox"]], "parsedmarc.elastic": [[0, 1, 1, "", "AlreadySaved"], [0, 1, 1, "", "ElasticsearchError"], [0, 2, 1, "", "create_indexes"], [0, 2, 1, "", "migrate_indexes"], [0, 2, 1, "", "save_aggregate_report_to_elasticsearch"], [0, 2, 1, "", "save_forensic_report_to_elasticsearch"], [0, 2, 1, "", "set_hosts"]], "parsedmarc.splunk": [[0, 3, 1, "", "HECClient"], [0, 1, 1, "", "SplunkError"]], "parsedmarc.splunk.HECClient": [[0, 4, 1, "", "save_aggregate_reports_to_splunk"], [0, 4, 1, "", "save_forensic_reports_to_splunk"]], "parsedmarc.utils": [[0, 1, 1, "", "DownloadError"], [0, 1, 1, "", "EmailParserError"], [0, 2, 1, "", "convert_outlook_msg"], [0, 2, 1, "", "decode_base64"], [0, 2, 1, "", "get_base_domain"], [0, 2, 1, "", "get_filename_safe_string"], [0, 2, 1, "", "get_ip_address_country"], [0, 2, 1, "", "get_ip_address_info"], [0, 2, 1, "", "get_reverse_dns"], [0, 2, 1, "", "human_timestamp_to_datetime"], [0, 2, 1, "", "human_timestamp_to_timestamp"], [0, 2, 1, "", "is_mbox"], [0, 2, 1, "", "is_outlook_msg"], [0, 2, 1, "", "parse_email"], [0, 2, 1, "", "query_dns"], [0, 2, 1, "", "timestamp_to_datetime"], [0, 2, 1, "", "timestamp_to_human"]]}, "objtypes": {"0": "py:module", "1": "py:exception", "2": "py:function", "3": "py:class", "4": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "exception", "Python exception"], "2": ["py", "function", "Python function"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"]}, "titleterms": {"parsedmarc": 0, "document": 0, "open": 0, "sourc": 0, "dmarc": 0, "report": 0, "analyz": 0, "visual": 0, "featur": 0, "resourc": 0, "guid": 0, "spf": 0, "record": 0, "valid": 0, "lookalik": 0, "domain": 0, "cli": 0, "help": 0, "configur": 0, "file": 0, "sampl": 0, "aggreg": 0, "output": 0, "json": 0, "csv": 0, "forens": 0, "bug": 0, "instal": 0, "geoipupd": 0, "setup": 0, "option": 0, "depend": 0, "test": 0, "multipl": 0, "access": 0, "an": 0, "inbox": 0, "us": 0, "owa": 0, "ew": 0, "run": 0, "davmail": 0, "systemd": 0, "servic": 0, "elasticsearch": 0, "kibana": 0, "upgrad": 0, "index": 0, "pattern": 0, "retent": 0, "splunk": 0, "dashboard": 0, "summari": 0, "align": 0, "what": 0, "sender": 0, "won": 0, "t": 0, "support": 0, "dkim": 0, "about": 0, "mail": 0, "list": 0, "best": 0, "practic": 0, "mailman": 0, "2": 0, "3": 0, "workaround": 0, "listserv": 0, "api": 0, "elast": 0, "util": 0, "indic": 0, "tabl": 0, "do": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index"], "filenames": ["index.md"], "titles": ["parsedmarc documentation - Open source DMARC report analyzer and visualizer"], "terms": {"want": 0, "thi": 0, "i": 0, "project": 0, "maintain": 0, "one": 0, "develop": 0, "pleas": 0, "consid": 0, "review": 0, "issu": 0, "see": 0, "how": 0, "you": 0, "can": 0, "contribut": 0, "code": 0, "user": 0, "assist": 0, "pin": 0, "would": 0, "particularli": 0, "thank": 0, "all": 0, "contributor": 0, "python": 0, "modul": 0, "pars": 0, "when": 0, "work": 0, "self": 0, "host": 0, "altern": 0, "commerci": 0, "process": 0, "agari": 0, "brand": 0, "protect": 0, "dmarcian": 0, "ondmarc": 0, "proofpoint": 0, "email": 0, "fraud": 0, "defens": 0, "valimail": 0, "draft": 0, "1": 0, "0": 0, "standard": 0, "rua": 0, "failur": 0, "ruf": 0, "from": 0, "over": 0, "imap": 0, "microsoft": 0, "graph": 0, "gmail": 0, "transpar": 0, "handl": 0, "gzip": 0, "zip": 0, "compress": 0, "consist": 0, "data": 0, "structur": 0, "simpl": 0, "result": 0, "send": 0, "premad": 0, "apach": 0, "kafka": 0, "demystifi": 0, "A": 0, "complet": 0, "If": 0, "ar": 0, "look": 0, "check": 0, "out": 0, "sister": 0, "checkdmarc": 0, "against": 0, "spoof": 0, "monitor": 0, "domainawar": 0, "usag": 0, "h": 0, "c": 0, "config_fil": 0, "strip": 0, "attach": 0, "payload": 0, "o": 0, "filenam": 0, "aggregate_json_filenam": 0, "forensic_json_filenam": 0, "aggregate_csv_filenam": 0, "forensic_csv_filenam": 0, "n": 0, "nameserv": 0, "dns_timeout": 0, "offlin": 0, "": 0, "verbos": 0, "debug": 0, "log": 0, "log_fil": 0, "v": 0, "file_path": 0, "posit": 0, "argument": 0, "more": 0, "path": 0, "mbox": 0, "show": 0, "messag": 0, "exit": 0, "config": 0, "silent": 0, "impli": 0, "remov": 0, "write": 0, "given": 0, "directori": 0, "queri": 0, "number": 0, "second": 0, "wait": 0, "answer": 0, "dn": 0, "default": 0, "do": [], "make": 0, "onlin": 0, "geoloc": 0, "onli": 0, "print": 0, "error": 0, "warn": 0, "inform": 0, "version": 0, "program": 0, "start": 0, "6": 0, "most": 0, "were": 0, "move": 0, "describ": 0, "below": 0, "suppli": 0, "ini": 0, "etc": 0, "For": 0, "exampl": 0, "comment": 0, "gener": 0, "save_aggreg": 0, "true": 0, "save_forens": 0, "com": 0, "dmarcresport": 0, "password": 0, "upersecur": 0, "mailbox": 0, "watch": 0, "delet": 0, "fals": 0, "127": 0, "9200": 0, "ssl": 0, "splunk_hec": 0, "url": 0, "http": 0, "splunkhec": 0, "token": 0, "hectokengoesher": 0, "s3": 0, "bucket": 0, "my": 0, "syslog": 0, "server": 0, "localhost": 0, "port": 0, "514": 0, "The": 0, "full": 0, "set": 0, "bool": 0, "save": 0, "strip_attachment_payload": 0, "str": 0, "place": 0, "ip_db_path": 0, "custom": 0, "mmdb": 0, "maxmind": 0, "dbip": 0, "comma": 0, "separ": 0, "resolv": 0, "cloudflar": 0, "public": 0, "float": 0, "timeout": 0, "period": 0, "n_proc": 0, "int": 0, "parallel": 0, "mode": 0, "chunk_siz": 0, "give": 0, "each": 0, "larger": 0, "than": 0, "improv": 0, "perform": 0, "thousand": 0, "reports_fold": 0, "folder": 0, "label": 0, "where": 0, "incom": 0, "found": 0, "archive_fold": 0, "sort": 0, "archiv": 0, "idl": 0, "command": 0, "thei": 0, "arriv": 0, "poll": 0, "m": 0, "new": 0, "after": 0, "them": 0, "instead": 0, "batch_siz": 0, "read": 0, "befor": 0, "10": 0, "limit": 0, "check_timeout": 0, "respons": 0, "until": 0, "next": 0, "mai": 0, "30": 0, "hostnam": 0, "ip": 0, "address": 0, "993": 0, "charact": 0, "must": 0, "escap": 0, "anoth": 0, "so": 0, "wherev": 0, "8": 0, "section": 0, "have": 0, "been": 0, "your": 0, "recommend": 0, "still": 0, "try": 0, "encrypt": 0, "tl": 0, "connect": 0, "skip_certificate_verif": 0, "skip": 0, "certif": 0, "verif": 0, "msgraph": 0, "auth_method": 0, "authent": 0, "method": 0, "type": 0, "usernamepassword": 0, "devicecod": 0, "clientsecret": 0, "m365": 0, "requir": 0, "auth": 0, "client_id": 0, "app": 0, "registr": 0, "client": 0, "id": 0, "client_secret": 0, "secret": 0, "tenant_id": 0, "azur": 0, "ad": 0, "tenant": 0, "except": 0, "name": 0, "current": 0, "could": 0, "share": 0, "ha": 0, "token_fil": 0, "creat": 0, "admin": 0, "grant": 0, "readwrit": 0, "deleg": 0, "permiss": 0, "differ": 0, "usernam": 0, "need": 0, "applic": 0, "also": 0, "restrict": 0, "specif": 0, "sinc": 0, "allow": 0, "applicationaccesspolici": 0, "exchang": 0, "powershel": 0, "scope": 0, "polici": 0, "add": 0, "enabl": 0, "secur": 0, "group": 0, "accessright": 0, "restrictaccess": 0, "appid": 0, "policyscopegroupid": 0, "descript": 0, "e": 0, "g": 0, "special": 0, "encod": 0, "cert_path": 0, "trust": 0, "index_suffix": 0, "suffix": 0, "appli": 0, "monthly_index": 0, "monthli": 0, "daili": 0, "number_of_shard": 0, "shard": 0, "number_of_replica": 0, "replica": 0, "event": 0, "collector": 0, "hec": 0, "passsword": 0, "aggregate_top": 0, "topic": 0, "forensic_top": 0, "smtp": 0, "25": 0, "starttl": 0, "header": 0, "subject": 0, "upload": 0, "region_nam": 0, "region": 0, "endpoint_url": 0, "endpoint": 0, "access_key_id": 0, "kei": 0, "secret_access_kei": 0, "udp": 0, "gmail_api": 0, "credentials_fil": 0, "contain": 0, "credenti": 0, "none": 0, "disabl": 0, "include_spam_trash": 0, "includ": 0, "spam": 0, "trash": 0, "search": 0, "acquir": 0, "www": 0, "googleapi": 0, "modifi": 0, "oauth2_port": 0, "tcp": 0, "local": 0, "listen": 0, "oauth2": 0, "8080": 0, "It": 0, "strongli": 0, "By": 0, "which": 0, "much": 0, "faster": 0, "reliabl": 0, "googl": 0, "cisco": 0, "opendn": 0, "even": 0, "should": 0, "network": 0, "block": 0, "request": 0, "outsid": 0, "becaus": 0, "known": 0, "instanc": 0, "highli": 0, "regul": 0, "industri": 0, "sensit": 0, "healthcar": 0, "financ": 0, "legitim": 0, "outgo": 0, "fail": 0, "possibl": 0, "appear": 0, "later": 0, "origin": 0, "sometim": 0, "bodi": 0, "organ": 0, "ani": 0, "kind": 0, "privaci": 0, "reason": 0, "while": 0, "sent": 0, "least": 0, "normal": 0, "receiv": 0, "veri": 0, "few": 0, "approach": 0, "collect": 0, "manual": 0, "malici": 0, "non": 0, "here": 0, "org": 0, "wiki": 0, "actual": 0, "older": 0, "schema": 0, "rfc": 0, "7480": 0, "appendix": 0, "wide": 0, "produc": 0, "regardless": 0, "xml_schema": 0, "report_metadata": 0, "org_nam": 0, "acm": 0, "org_email": 0, "norepli": 0, "org_extra_contact_info": 0, "report_id": 0, "9391651994964116463": 0, "begin_d": 0, "2012": 0, "04": 0, "27": 0, "20": 0, "00": 0, "end_dat": 0, "28": 0, "19": 0, "59": 0, "policy_publish": 0, "adkim": 0, "r": 0, "aspf": 0, "p": 0, "sp": 0, "pct": 0, "100": 0, "fo": 0, "ip_address": 0, "72": 0, "150": 0, "241": 0, "94": 0, "countri": 0, "u": 0, "reverse_dn": 0, "adsl": 0, "shv": 0, "bellsouth": 0, "net": 0, "base_domain": 0, "count": 0, "policy_evalu": 0, "disposit": 0, "pass": 0, "policy_override_reason": 0, "identifi": 0, "header_from": 0, "envelope_from": 0, "envelope_to": 0, "null": 0, "auth_result": 0, "selector": 0, "mfrom": 0, "source_ip_address": 0, "source_countri": 0, "source_reverse_dn": 0, "source_base_domain": 0, "spf_align": 0, "dkim_align": 0, "dmarc_align": 0, "policy_override_com": 0, "dkim_domain": 0, "dkim_selector": 0, "dkim_result": 0, "spf_domain": 0, "spf_scope": 0, "spf_result": 0, "github": 0, "xennn": 0, "anonym": 0, "feedback_typ": 0, "user_ag": 0, "lua": 0, "original_mail_from": 0, "sharepoint": 0, "de": 0, "original_rcpt_to": 0, "peter": 0, "pan": 0, "arrival_d": 0, "mon": 0, "01": 0, "oct": 0, "2018": 0, "11": 0, "0200": 0, "message_id": 0, "38": 0, "e7": 0, "30937": 0, "bd6e1bb5": 0, "mailrelai": 0, "authentication_result": 0, "di": 0, "delivery_result": 0, "auth_failur": 0, "reported_domain": 0, "arrival_date_utc": 0, "09": 0, "authentication_mechan": 0, "original_envelope_id": 0, "sample_headers_onli": 0, "servernameon": 0, "tby": 0, "cest": 0, "ndate": 0, "nmessag": 0, "nto": 0, "nfrom": 0, "utf": 0, "b": 0, "sw50zxjha3rpdmugv2v0dgjld2vyymvylcocymvyc2ljahq": 0, "nsubject": 0, "nmime": 0, "nx": 0, "mailer": 0, "foundat": 0, "2010": 0, "ncontent": 0, "text": 0, "html": 0, "charset": 0, "transfer": 0, "quot": 0, "printabl": 0, "head": 0, "base": 0, "href": 0, "3d": 0, "nwettbewerb": 0, "doctyp": 0, "w3c": 0, "dtd": 0, "en": 0, "meta": 0, "content": 0, "08": 0, "0240": 0, "003": 0, "parsed_sampl": 0, "display_nam": 0, "interakt": 0, "wettbewerb": 0, "\u00fcbersicht": 0, "to_domain": 0, "timezon": 0, "mime": 0, "date": 0, "x": 0, "hop": 0, "date_utc": 0, "delai": 0, "has_defect": 0, "To": 0, "reply_to": 0, "cc": 0, "bcc": 0, "filename_safe_subject": 0, "tracker": 0, "system": 0, "behind": 0, "web": 0, "proxi": 0, "edit": 0, "environ": 0, "detail": 0, "http_proxi": 0, "prox": 0, "3128": 0, "https_proxi": 0, "ftp_proxi": 0, "Or": 0, "up": 0, "ensur": 0, "patch": 0, "updat": 0, "rollup": 0, "22": 0, "kb4295699": 0, "2013": 0, "cumul": 0, "21": 0, "kb4099855": 0, "2016": 0, "kb4134118": 0, "7": 0, "static": 0, "copi": 0, "lite": 0, "databas": 0, "ipdb": 0, "distribut": 0, "under": 0, "term": 0, "creativ": 0, "common": 0, "attribut": 0, "4": 0, "intern": 0, "licens": 0, "fallback": 0, "geolite2": 0, "howev": 0, "cannot": 0, "releas": 0, "tool": 0, "prefer": 0, "solut": 0, "locat": 0, "overridden": 0, "On": 0, "debian": 0, "buster": 0, "sudo": 0, "apt": 0, "get": 0, "y": 0, "ubuntu": 0, "repositori": 0, "ppa": 0, "cento": 0, "rhel": 0, "dnf": 0, "latest": 0, "build": 0, "linux": 0, "maco": 0, "window": 0, "download": 0, "page": 0, "decemb": 0, "30th": 0, "2019": 0, "free": 0, "account": 0, "order": 0, "compli": 0, "variou": 0, "regist": 0, "sign": 0, "Then": 0, "navig": 0, "wa": 0, "format": 0, "newer": 0, "Be": 0, "sure": 0, "select": 0, "correct": 0, "onc": 0, "pre": 0, "fill": 0, "geoip": 0, "conf": 0, "systemdr": 0, "programdata": 0, "first": 0, "time": 0, "citi": 0, "asn": 0, "weekli": 0, "everi": 0, "tuesdai": 0, "cron": 0, "job": 0, "schedul": 0, "task": 0, "python3": 0, "pip": 0, "virtualenv": 0, "dev": 0, "libxml2": 0, "libxslt": 0, "python39": 0, "setuptool": 0, "devel": 0, "mkdir": 0, "opt": 0, "useradd": 0, "bin": 0, "venv": 0, "those": 0, "explicitli": 0, "tell": 0, "9": 0, "insid": 0, "like": 0, "abl": 0, "outlook": 0, "ol": 0, "msg": 0, "msgconvert": 0, "libemail": 0, "perl": 0, "same": 0, "two": 0, "mailto": 0, "uri": 0, "tag": 0, "offic": 0, "365": 0, "via": 0, "some": 0, "In": 0, "case": 0, "gatewai": 0, "modern": 0, "multi": 0, "factor": 0, "sourceforg": 0, "extract": 0, "unzip": 0, "java": 0, "jre": 0, "headless": 0, "properti": 0, "basic": 0, "workstat": 0, "auto": 0, "webdav": 0, "enableew": 0, "office365": 0, "asmx": 0, "imapport": 0, "1143": 0, "enableproxi": 0, "usesystemproxi": 0, "proxyhost": 0, "proxyport": 0, "proxyus": 0, "proxypassword": 0, "exclud": 0, "noproxyfor": 0, "remot": 0, "allowremot": 0, "bind": 0, "socket": 0, "loopback": 0, "bindaddress": 0, "specifi": 0, "nosecureimap": 0, "keepal": 0, "dure": 0, "larg": 0, "enablekeepal": 0, "retriev": 0, "foldersizelimit": 0, "immedi": 0, "store": 0, "flag": 0, "imapautoexpung": 0, "minut": 0, "imapidledelai": 0, "alwai": 0, "repli": 0, "rfc822": 0, "size": 0, "approxim": 0, "imapalwaysapproxmsgs": 0, "300": 0, "clientsotimeout": 0, "pry": 0, "ey": 0, "chown": 0, "root": 0, "chmod": 0, "rw": 0, "nano": 0, "unit": 0, "target": 0, "execstart": 0, "restart": 0, "restartsec": 0, "5m": 0, "wantedbi": 0, "systemctl": 0, "daemon": 0, "reload": 0, "abov": 0, "whenev": 0, "statu": 0, "crash": 0, "5": 0, "vew": 0, "previou": 0, "well": 0, "newest": 0, "oldest": 0, "journalctl": 0, "interact": 0, "follow": 0, "transport": 0, "wget": 0, "qo": 0, "artifact": 0, "co": 0, "gpg": 0, "echo": 0, "deb": 0, "packag": 0, "stabl": 0, "main": 0, "tee": 0, "d": 0, "other": 0, "rpm": 0, "jvm": 0, "heap": 0, "small": 0, "1g": 0, "caus": 0, "heavi": 0, "load": 0, "fix": 0, "increas": 0, "minimum": 0, "maximum": 0, "level": 0, "gb": 0, "ram": 0, "assign": 0, "valu": 0, "xms4g": 0, "xmx4g": 0, "refer": 0, "without": 0, "pack": 0, "readonlyrest": 0, "product": 0, "doe": 0, "mechan": 0, "its": 0, "own": 0, "nginx": 0, "revers": 0, "provid": 0, "apache2": 0, "yum": 0, "httpd": 0, "cd": 0, "openssl": 0, "req": 0, "x509": 0, "node": 0, "dai": 0, "newkei": 0, "rsa": 0, "4096": 0, "keyout": 0, "crt": 0, "csr": 0, "ca": 0, "prompt": 0, "fqdn": 0, "import": 0, "field": 0, "cert": 0, "rm": 0, "f": 0, "mv": 0, "rx": 0, "site": 0, "avail": 0, "443": 0, "http2": 0, "ssl_certif": 0, "ssl_certificate_kei": 0, "ssl_session_timeout": 0, "1d": 0, "ssl_session_cach": 0, "50m": 0, "ssl_session_ticket": 0, "off": 0, "tweak": 0, "ssl_protocol": 0, "tlsv1": 0, "ssl_cipher": 0, "ecdh": 0, "ecdsa": 0, "aes256": 0, "gcm": 0, "sha384": 0, "chacha20": 0, "poly1305": 0, "aes128": 0, "sha256": 0, "ssl_prefer_server_ciph": 0, "uncom": 0, "line": 0, "add_head": 0, "strict": 0, "max": 0, "ag": 0, "63072000": 0, "includesubdomain": 0, "preload": 0, "frame": 0, "sameorigin": 0, "nosniff": 0, "auth_bas": 0, "login": 0, "auth_basic_user_fil": 0, "htpasswd": 0, "proxy_pass": 0, "5601": 0, "proxy_set_head": 0, "real": 0, "remote_addr": 0, "forward": 0, "proxy_add_x_forwarded_for": 0, "80": 0, "return": 0, "301": 0, "request_uri": 0, "ln": 0, "exampleus": 0, "httpasswd": 0, "now": 0, "right": 0, "click": 0, "link": 0, "export": 0, "ndjson": 0, "object": 0, "tab": 0, "stack": 0, "manag": 0, "overwrit": 0, "exist": 0, "restor": 0, "someon": 0, "els": 0, "break": 0, "control": 0, "chang": 0, "wai": 0, "step": 0, "replac": 0, "match": 0, "checkbox": 0, "dmarc_aggreg": 0, "dmarc_forens": 0, "conform": 0, "easi": 0, "gdpr": 0, "fore": 0, "effici": 0, "xml": 0, "past": 0, "editor": 0, "occurr": 0, "displai": 0, "layout": 0, "although": 0, "slightli": 0, "easier": 0, "flexibl": 0, "filter": 0, "watcher": 0, "io": 0, "human": 0, "friendli": 0, "understand": 0, "switch": 0, "between": 0, "left": 0, "side": 0, "menu": 0, "As": 0, "suggest": 0, "across": 0, "top": 0, "three": 0, "pie": 0, "chart": 0, "percentag": 0, "segment": 0, "just": 0, "especi": 0, "correctli": 0, "remain": 0, "often": 0, "rule": 0, "signatur": 0, "part": 0, "wherea": 0, "reli": 0, "session": 0, "underneath": 0, "passag": 0, "find": 0, "center": 0, "volum": 0, "hover": 0, "mous": 0, "magnifi": 0, "glass": 0, "icon": 0, "our": 0, "recogn": 0, "market": 0, "plu": 0, "That": 0, "might": 0, "busi": 0, "particular": 0, "With": 0, "contact": 0, "lot": 0, "b2c": 0, "high": 0, "come": 0, "consum": 0, "yahoo": 0, "occur": 0, "old": 0, "why": 0, "mention": 0, "earlier": 0, "similar": 0, "observ": 0, "who": 0, "addresse": 0, "parent": 0, "subsidiari": 0, "outdat": 0, "further": 0, "down": 0, "previous": 0, "call": 0, "consolid": 0, "view": 0, "temporari": 0, "upper": 0, "These": 0, "recipi": 0, "avoid": 0, "leak": 0, "notabl": 0, "chines": 0, "webmail": 0, "entir": 0, "dkm": 0, "end": 0, "long": 0, "relat": 0, "publish": 0, "envelop": 0, "vendor": 0, "don": 0, "know": 0, "yet": 0, "ask": 0, "through": 0, "relai": 0, "theirs": 0, "realli": 0, "worst": 0, "subdomain": 0, "alter": 0, "tld": 0, "leav": 0, "vulner": 0, "deploi": 0, "footer": 0, "therebi": 0, "ideal": 0, "joe": 0, "nelson": 0, "fantast": 0, "explain": 0, "exactli": 0, "shouldn": 0, "fulli": 0, "compliant": 0, "rather": 0, "repeat": 0, "hi": 0, "fine": 0, "retain": 0, "2369": 0, "unsubscrib": 0, "2919": 0, "button": 0, "tradit": 0, "disclaim": 0, "addit": 0, "action": 0, "prefix": 0, "came": 0, "post": 0, "platform": 0, "subject_prefix": 0, "from_is_list": 0, "No": 0, "first_strip_reply_to": 0, "reply_goes_to_list": 0, "poster": 0, "include_rfc2369_head": 0, "ye": 0, "include_list_post_head": 0, "include_sender_head": 0, "digest": 0, "msg_header": 0, "msg_footer": 0, "scrub_nondigest": 0, "dmarc_moderation_act": 0, "accept": 0, "dmarc_quarantine_moderation_act": 0, "dmarc_none_moderation_act": 0, "ident": 0, "blank": 0, "convert": 0, "plaintext": 0, "rfc2369": 0, "explicit": 0, "replyto": 0, "goe": 0, "mung": 0, "mitig": 0, "uncondition": 0, "templat": 0, "unfortun": 0, "postoriu": 0, "ui": 0, "empti": 0, "ll": 0, "touch": 0, "var": 0, "member": 0, "regular": 0, "languag": 0, "core": 0, "go": 0, "legal": 0, "administr": 0, "longer": 0, "wrap": 0, "interfer": 0, "mobil": 0, "hand": 0, "accident": 0, "intend": 0, "choos": 0, "fit": 0, "commun": 0, "16": 0, "2017a": 0, "higher": 0, "rewrit": 0, "enforc": 0, "quarantin": 0, "reject": 0, "invalidaggregatereport": 0, "rais": 0, "invalid": 0, "encount": 0, "invaliddmarcreport": 0, "invalidforensicreport": 0, "parsererror": 0, "parser": 0, "email_result": 0, "mail_from": 0, "mail_to": 0, "mail_cc": 0, "mail_bcc": 0, "require_encrypt": 0, "verifi": 0, "attachment_filenam": 0, "paramet": 0, "ordereddict": 0, "overrid": 0, "plain": 0, "extract_xml": 0, "input_": 0, "byte": 0, "input": 0, "get_dmarc_reports_from_mailbox": 0, "mailboxconnect": 0, "create_fold": 0, "fetch": 0, "dict": 0, "whether": 0, "destin": 0, "aggregate_report": 0, "forensic_report": 0, "get_dmarc_reports_from_mbox": 0, "get_report_zip": 0, "parse_aggregate_report_fil": 0, "_input": 0, "keep_al": 0, "callabl": 0, "keep": 0, "aliv": 0, "function": 0, "parse_aggregate_report_xml": 0, "string": 0, "parse_forensic_report": 0, "feedback_report": 0, "msg_date": 0, "feedback": 0, "822": 0, "parse_report_email": 0, "report_typ": 0, "parse_report_fil": 0, "parsed_aggregate_reports_to_csv": 0, "flat": 0, "parsed_aggregate_reports_to_csv_row": 0, "parsed_forensic_reports_to_csv": 0, "parsed_forensic_reports_to_csv_row": 0, "save_output": 0, "output_directori": 0, "watch_inbox": 0, "mailbox_connect": 0, "callback": 0, "alreadysav": 0, "elasticsearcherror": 0, "create_index": 0, "migrate_index": 0, "aggregate_index": 0, "forensic_index": 0, "map": 0, "save_aggregate_report_to_elasticsearch": 0, "save_forensic_report_to_elasticsearch": 0, "set_host": 0, "use_ssl": 0, "ssl_cert_path": 0, "60": 0, "singl": 0, "chain": 0, "class": 0, "hecclient": 0, "access_token": 0, "initi": 0, "param": 0, "save_aggregate_reports_to_splunk": 0, "dictionari": 0, "save_forensic_reports_to_splunk": 0, "splunkerror": 0, "downloaderror": 0, "rasi": 0, "emailparsererror": 0, "convert_outlook_msg": 0, "msg_byte": 0, "decode_base64": 0, "decod": 0, "base64": 0, "pad": 0, "being": 0, "get_base_domain": 0, "use_fresh_psl": 0, "publicsuffix": 0, "public_suffix_list": 0, "dat": 0, "fresh": 0, "get_filename_safe_str": 0, "safe": 0, "get_ip_address_countri": 0, "db_path": 0, "iso": 0, "associ": 0, "ipv4": 0, "ipv6": 0, "And": 0, "get_ip_address_info": 0, "cach": 0, "expiringdict": 0, "storag": 0, "get_reverse_dn": 0, "human_timestamp_to_datetim": 0, "human_timestamp": 0, "to_utc": 0, "readabl": 0, "timestamp": 0, "datetim": 0, "utc": 0, "human_timestamp_to_timestamp": 0, "unix": 0, "yyyi": 0, "mm": 0, "dd": 0, "hh": 0, "ss": 0, "is_mbox": 0, "is_outlook_msg": 0, "parse_email": 0, "simplifi": 0, "binari": 0, "query_dn": 0, "record_typ": 0, "timestamp_to_datetim": 0, "timestamp_to_human": 0, "bebana": 0}, "objects": {"": [[0, 0, 0, "-", "parsedmarc"]], "parsedmarc": [[0, 1, 1, "", "InvalidAggregateReport"], [0, 1, 1, "", "InvalidDMARCReport"], [0, 1, 1, "", "InvalidForensicReport"], [0, 1, 1, "", "ParserError"], [0, 0, 0, "-", "elastic"], [0, 2, 1, "", "email_results"], [0, 2, 1, "", "extract_xml"], [0, 2, 1, "", "get_dmarc_reports_from_mailbox"], [0, 2, 1, "", "get_dmarc_reports_from_mbox"], [0, 2, 1, "", "get_report_zip"], [0, 2, 1, "", "parse_aggregate_report_file"], [0, 2, 1, "", "parse_aggregate_report_xml"], [0, 2, 1, "", "parse_forensic_report"], [0, 2, 1, "", "parse_report_email"], [0, 2, 1, "", "parse_report_file"], [0, 2, 1, "", "parsed_aggregate_reports_to_csv"], [0, 2, 1, "", "parsed_aggregate_reports_to_csv_rows"], [0, 2, 1, "", "parsed_forensic_reports_to_csv"], [0, 2, 1, "", "parsed_forensic_reports_to_csv_rows"], [0, 2, 1, "", "save_output"], [0, 0, 0, "-", "splunk"], [0, 0, 0, "-", "utils"], [0, 2, 1, "", "watch_inbox"]], "parsedmarc.elastic": [[0, 1, 1, "", "AlreadySaved"], [0, 1, 1, "", "ElasticsearchError"], [0, 2, 1, "", "create_indexes"], [0, 2, 1, "", "migrate_indexes"], [0, 2, 1, "", "save_aggregate_report_to_elasticsearch"], [0, 2, 1, "", "save_forensic_report_to_elasticsearch"], [0, 2, 1, "", "set_hosts"]], "parsedmarc.splunk": [[0, 3, 1, "", "HECClient"], [0, 1, 1, "", "SplunkError"]], "parsedmarc.splunk.HECClient": [[0, 4, 1, "", "save_aggregate_reports_to_splunk"], [0, 4, 1, "", "save_forensic_reports_to_splunk"]], "parsedmarc.utils": [[0, 1, 1, "", "DownloadError"], [0, 1, 1, "", "EmailParserError"], [0, 2, 1, "", "convert_outlook_msg"], [0, 2, 1, "", "decode_base64"], [0, 2, 1, "", "get_base_domain"], [0, 2, 1, "", "get_filename_safe_string"], [0, 2, 1, "", "get_ip_address_country"], [0, 2, 1, "", "get_ip_address_info"], [0, 2, 1, "", "get_reverse_dns"], [0, 2, 1, "", "human_timestamp_to_datetime"], [0, 2, 1, "", "human_timestamp_to_timestamp"], [0, 2, 1, "", "is_mbox"], [0, 2, 1, "", "is_outlook_msg"], [0, 2, 1, "", "parse_email"], [0, 2, 1, "", "query_dns"], [0, 2, 1, "", "timestamp_to_datetime"], [0, 2, 1, "", "timestamp_to_human"]]}, "objtypes": {"0": "py:module", "1": "py:exception", "2": "py:function", "3": "py:class", "4": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "exception", "Python exception"], "2": ["py", "function", "Python function"], "3": ["py", "class", "Python class"], "4": ["py", "method", "Python method"]}, "titleterms": {"parsedmarc": 0, "document": 0, "open": 0, "sourc": 0, "dmarc": 0, "report": 0, "analyz": 0, "visual": 0, "featur": 0, "resourc": 0, "guid": 0, "spf": 0, "record": 0, "valid": 0, "lookalik": 0, "domain": 0, "cli": 0, "help": 0, "configur": 0, "file": 0, "sampl": 0, "aggreg": 0, "output": 0, "json": 0, "csv": 0, "forens": 0, "bug": 0, "instal": 0, "geoipupd": 0, "setup": 0, "option": 0, "depend": 0, "test": 0, "multipl": 0, "access": 0, "an": 0, "inbox": 0, "us": 0, "owa": 0, "ew": 0, "run": 0, "davmail": 0, "systemd": 0, "servic": 0, "elasticsearch": 0, "kibana": 0, "upgrad": 0, "index": 0, "pattern": 0, "retent": 0, "splunk": 0, "dashboard": 0, "summari": 0, "align": 0, "what": 0, "sender": 0, "won": 0, "t": 0, "support": 0, "dkim": 0, "about": 0, "mail": 0, "list": 0, "best": 0, "practic": 0, "mailman": 0, "2": 0, "3": 0, "workaround": 0, "listserv": 0, "api": 0, "elast": 0, "util": 0, "indic": 0, "tabl": 0, "do": 0}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx.ext.viewcode": 1, "sphinx": 56}}) \ No newline at end of file