README.org
79 lines · 2306 bytes
1#+title: domaindig
2
3* what
4local-first ios domain inspection toolkit. dns, web, ownership,
5monitoring, reporting, audit. takes a point-in-time snapshot of a
6domain, normalizes it into a DomainReport, and keeps data on device
7unless you export, share, or sync it.
8
9* does
10- inspects dns records, email security, tls certs, http headers,
11 redirects, ip geolocation, reachability, open ports, rdap,
12 ownership, subdomains, availability
13- DomainReport output used by the ui and exports
14- history snapshots with change summaries, risk scoring, notes
15- dashboard, watchlist, monitoring, workflows, batch results,
16 integrations, data portability
17- audit mode: sessions, checklists, reviewer notes, findings,
18 evidence snapshots, timelines, markdown/json/pdf export
19- backup and restore for tracked domains, history, audit sessions,
20 workflows, monitoring, settings, feature metadata
21- optional local api for automation-compatible output
22
23* privacy
24app data lives in on-device storage. network requests go out only
25to run the checks you asked for or the resolver you configured. no
26hosted backend required.
27
28* build
29needs xcode with a current ios sdk and a simulator or device.
30
31#+begin_src sh
32git clone https://github.com/krazywarez/domain-dig.git
33#+end_src
34
35open DomainDig.xcodeproj, pick the DomainDig scheme, build and run.
36
37build check:
38
39#+begin_src sh
40xcodebuild -project DomainDig.xcodeproj -scheme DomainDig \
41 -destination 'platform=iOS Simulator,name=iPhone 16' build
42#+end_src
43
44* tests
45deterministic core coverage lives in DomainDigTests:
46
47#+begin_src sh
48xcodebuild test -project DomainDig.xcodeproj -scheme DomainDig \
49 -destination 'platform=iOS Simulator,name=iPhone 16' \
50 -only-testing:DomainDigTests
51#+end_src
52
53the scheme's test action also runs the DomainDigUITests
54accessibility audit.
55
56#+begin_src sh
57./Scripts/audit-a11y.sh # oldest supported + newest
58./Scripts/audit-a11y.sh floor # oldest only (~85s)
59#+end_src
60
61findings are reported, not enforced. optional pre-push hook:
62
63#+begin_src sh
64git config core.hooksPath .githooks
65#+end_src
66
67* docs
68#+begin_example
69local api: Docs/local-api.txt
70data migration: Docs/data-migration.txt
71accessibility: Docs/ACCESSIBILITY.txt
72security: SECURITY.txt
73#+end_example
74
75* license
760bsd. see LICENSE.
77
78* contact
79- root@krz.sh