kubo/core/corehttp
Hector Sanjuan a0f34b16dd
feat: built-in content blocking based on IPIP-383 (#10161)
Fixes #8492

This introduces "nopfs" as a preloaded plugin into Kubo
with support for denylists from https://github.com/ipfs/specs/pull/383

It automatically makes Kubo watch *.deny files found in:

- /etc/ipfs/denylists
- $XDG_CONFIG_HOME/ipfs/denylists
- $IPFS_PATH/denylists

* test: Gateway.NoFetch and GatewayOverLibp2p

adds missing tests for "no fetch" gateways one can expose,
in both cases the offline mode is done by passing custom
blockservice/exchange into path resolver, which means
global path resolver that has nopfs intercept is not used,
and the content blocking does not happen on these gateways.

* fix: use offline path resolvers where appropriate

this fixes the problem described in
https://github.com/ipfs/kubo/pull/10161#issuecomment-1782175955
by adding explicit offline path resolvers that are backed
by offline exchange, and using them in NoFetch gateways
instead of the default online ones

---------

Co-authored-by: Henrique Dias <hacdias@gmail.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-10-28 05:34:14 +02:00
..
commands.go feat: path consolidation (#10063) 2023-10-06 16:14:44 +02:00
corehttp.go feat: add gateway to http over libp2p 2023-08-30 18:51:22 +02:00
gateway_test.go refactor: namesys cleanup, gateway /ipns/ ttl (#10115) 2023-10-18 10:23:50 +02:00
gateway.go feat: built-in content blocking based on IPIP-383 (#10161) 2023-10-28 05:34:14 +02:00
logs.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
metrics_test.go chore: update boxo, go-libp2p, and internalize mplex (#10095) 2023-08-24 06:11:02 +00:00
metrics.go style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
mutex_profile.go refactor: rename to kubo 2022-07-06 18:40:37 +02:00
option_test.go refactor: if statement (#10105) 2023-09-05 15:35:51 +02:00
p2p_proxy_test.go chore: bump go-libp2p v0.22.0 & go1.18&go1.19 2022-09-09 17:09:38 +02:00
p2p_proxy.go ci: add stylecheck to golangci-lint (#9334) 2022-10-06 10:18:40 -04:00
redirect.go fix: canonicalize user defined headers 2023-03-17 23:40:35 +01:00
routing.go chore: update types to match boxos (#10179) 2023-10-17 19:02:26 +02:00
webui.go chore: webui v4.1.1 (#10120) 2023-09-21 19:35:16 +02:00