diff options
| author | pr0vieh <pr0vieh@gmail.com> | 2026-01-21 23:29:25 +0100 |
|---|---|---|
| committer | pr0vieh <pr0vieh@gmail.com> | 2026-01-21 23:29:25 +0100 |
| commit | fa61beff3550850253055393b89aa18d4c5f705d (patch) | |
| tree | b3aba79ce29e10679153f062ebeaa7ecf9b656f1 /htroot | |
| parent | 5b55319d271cca94b798ce5db5faecffc4d34eef (diff) | |
Add configurable DHT error URL blocking with retry window and web UI
- Implement proactive DHT error URL rejection for both URL and RWI transfers
- Add configurable opt-out via indexReceiveBlockErrors setting (default: true)
- Introduce retry window for temporary errors (default: 30 days)
- Permanent errors (404, 410) always blocked, configurable via permanentStatus
- Add web UI controls in IndexFederated_p.html under Peer-to-Peer section
- Bidirectional feedback: receivers reject and report error URLs to senders
- Detailed logging shows blocked vs error-blocked counts separately
- Uses load_date_dt field to calculate error age for retry decisions
Diffstat (limited to 'htroot')
| -rw-r--r-- | htroot/IndexFederated_p.html | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/htroot/IndexFederated_p.html b/htroot/IndexFederated_p.html index 3edd5ceb7..652899a48 100644 --- a/htroot/IndexFederated_p.html +++ b/htroot/IndexFederated_p.html @@ -117,6 +117,15 @@ <dt><input type="checkbox" name="core.service.rwi" id="core_service_rwi" #(core.service.rwi.checked)#:: checked="checked"#(/core.service.rwi.checked)# /></dt> <dd>support peer-to-peer index transmission (DHT RWI index)</dd> + + <dt class="TableCellDark">Block known error URLs in DHT <input type="checkbox" name="indexReceiveBlockErrors" #(indexReceiveBlockErrors.checked)#:: checked="checked"#(/indexReceiveBlockErrors.checked)# /></dt> + <dd>Reject URLs/RWIs with known errors from peers. Disable to opt out.</dd> + + <dt class="TableCellDark">Retry after (days)</dt> + <dd><input type="text" name="indexReceiveBlockErrors.retryAfterDays" value="#[indexReceiveBlockErrors.retryAfterDays]#" size="4" /> for temporary errors; permanent errors stay blocked.</dd> + + <dt class="TableCellDark">Permanent error statuses</dt> + <dd><input type="text" name="indexReceiveBlockErrors.permanentStatus" value="#[indexReceiveBlockErrors.permanentStatus]#" size="12" /> comma-separated (default: 404,410)</dd> <dt><input type="submit" name="setrwi" class="btn btn-primary" value="Set" /></dt><dd></dd> </dl> |
