Filtering
odirscan provides filtering at two levels: scanner-side filtering during the crawl, and client-side filtering in the web UI.
Scanner-Side Filtering
These filters are applied during the Scan phase and determine which files and directories are collected. They are configured via ScannerConfig.
MIME-Type Filtering
Files whose extension maps to a MIME type starting with any prefix in SkipMimeTypePrefixes are excluded from findings. The mapping uses Go's mime.TypeByExtension.
Default excluded prefixes: image, font, text/css, audio, video.
Subdirectory Filtering
Subdirectory links whose absolute URL contains any substring from SkipSubdirKeywords are not visited.
Default skipped keywords: .git, .svn, .hg, node_modules, bower_components, venv, vendor, __pycache__, site-packages, .cache, .idea.
Web UI Filtering
Each column in the results table has a header filter that narrows the displayed results in real time.
| Column | Filter Type | Behavior |
|---|---|---|
| URL | Text input | Matches rows where the URL contains the typed text |
| Content Type | Multi-select dropdown | Shows only rows matching any of the selected types; values are auto-populated from the data |
| Content Length | Range slider | A noUiSlider that filters by file size range; the slider scale uses percentile-based positions for better distribution |
| Scan Time | Date picker | Filters to rows scanned on or after the selected date |
| Last Modified | Date picker | Filters to rows modified on or after the selected date |
The statistics panel updates live as filters change, showing counts and totals for the visible subset.