Commit Graph

2069 Commits

Author SHA1 Message Date
Jorropo
16494692ef chore: update go-libp2p-asn-util
Include memory usage fixes from libp2p/go-libp2p-asn-util#33.
2023-12-29 03:55:49 +01:00
Henrique Dias
3932fdfe51
chore: bump to go-libp2p 0.32.2
Update go-libp2p (and quic-go) with Honeybadger fix.
2023-12-13 08:59:17 +01:00
Henrique Dias
5c31db3a3d
commands: remove several deprecated commands
Removes the following commands: ipfs tar, ipfs urlstore, ipfs repo fsck, ipfs file ls, ipfs dns.
2023-12-12 18:21:52 +01:00
Jorropo
8c4bdd8556
fix: allow daemon to start correctly if the API is null (#10062) 2023-12-11 11:45:08 +01:00
Jorropo
48e379a748 chore: update dependencies 2023-12-06 11:37:57 +01:00
Henrique Dias
d6d79ce45f chore: bump to boxo 0.16.0 2023-12-06 10:58:54 +01:00
Henrique Dias
58c29399cf
chore: clean migration 2023-11-29 12:29:59 +01:00
Jorropo
6a51849c29 libp2p: remove mplex
Fixes: #10069
2023-11-22 08:06:39 +03:00
Jorropo
2b347a914d graphsync: remove support for the server
Updates: #9396
Closes: #6831
Closes: #6208

Currently the Graphsync server is not widely used due to lack of compatible software.
There have been many years yet we are unable to find any production software making use of the graphsync server in Kubo.

There exists some in the filecoin ecosystem but we are not aware of uses with Kubo.
Even in filecoin graphsync is not the only datatransfer solution available like it could have been in the past.

`go-graphsync` is also developped on many concurrent branches.
The specification for graphsync are less clear than the trustless gateway one and lack a complete conformance test suite any implementation can run.
It is not easily extansible either because selectors are too limited for interesting queries without sideloading ADLs, which for now are hardcoded solutions.
Finaly Kubo is consistently one of the fastest software to update to a new go-libp2p release.
This means the burden to track go-libp2p changes in go-graphsync falls on us, else Kubo cannot compile even if almost all users do not use this feature.
We are then removing the graphsync server experiment.

For people who want alternatives we would like you to try the Trustless-Gateway-over-Libp2p experiment instead, the protocol is simpler (request-response-based) and let us reuse both clients and servers with minimal injection in the network layer.
If you think this is a mistake and we should put it back you should try to answer theses points:
- Find a piece of opensource code which uses a graphsync client to download data from Kubo.
- Why is Trustless-Gateway-over-Libp2p not suitable instead ?
- Why is bitswap not suitable instead ?

Implementation details such as go-graphsync performance vs boxo/gateway is not very interesting to us in this discussion unless they are really huge (in the range of 10x~100x+ more) because the gateway code is under high development and we would be interested in fixing theses.
2023-11-22 06:57:45 +03:00
Henrique Dias
01cc5eab57
feat(rpc): Opt-in HTTP RPC API Authorization (#10218)
Context: https://github.com/ipfs/kubo/issues/10187
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2023-11-17 01:29:29 +01:00
Adin Schmahmann
9371d18b53
fixes to routing put command (#10205)
* fix(commands): routing put command returns the IPNS ID rather than the host's ID

* fix(commands): routing put command errors with the allow-offline hint if the error is an offline error

* fix: test expects correct error message

---------

Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-11-08 01:07:10 -05:00
Jorropo
068f17650d chore: update go-libp2p 2023-11-07 18:10:59 +01:00
Henrique Dias
9f3251c1b0 feat: add WebRTC Direct support 2023-11-03 14:43:42 +01:00
Henrique Dias
f1fec71782 chore: go-libp2p v0.32.0 2023-11-03 14:43:42 +01:00
Henrique Dias
e068f1458c chore: bump to boxo 0.14.0 2023-11-01 11:21:37 +01:00
Andrew Gillis
d1ccdf052b
chore: migrate bootstrap to ipfs/boxo (#10158) 2023-10-31 18:25:14 +01:00
Henrique Dias
33bbee5adf
chore: bump boxo (#10188) 2023-10-31 12:03:16 +01:00
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
Henrique Dias
4695fd9fed
refactor: namesys cleanup, gateway /ipns/ ttl (#10115) 2023-10-18 10:23:50 +02:00
Henrique Dias
170686b420
chore: update types to match boxos (#10179) 2023-10-17 19:02:26 +02:00
Jorropo
a5668d22ba chore: update boxo for structification of ImmutablePath 2023-10-09 09:44:39 +02:00
Henrique Dias
a7c6518497
feat: path consolidation (#10063) 2023-10-06 16:14:44 +02:00
Jorropo
ecda7ae2f5 chore: update deps
I only updated otel to 1.17.0 since we need to handle breaking changes with newer releases (it doesn't build).
I also didn't update go-multistream since it's touched by libp2p and break stuff.
2023-10-05 21:22:28 +02:00
Henrique Dias
97527472fe
feat(gateway): update gateway api, no multi-range support 2023-10-02 16:43:52 +02:00
dependabot[bot]
f138b47d86 chore(deps): bump github.com/ipfs/go-graphsync from 0.14.4 to 0.15.1
Bumps [github.com/ipfs/go-graphsync](https://github.com/ipfs/go-graphsync) from 0.14.4 to 0.15.1.
- [Release notes](https://github.com/ipfs/go-graphsync/releases)
- [Changelog](https://github.com/ipfs/go-graphsync/blob/main/CHANGELOG.md)
- [Commits](https://github.com/ipfs/go-graphsync/compare/v0.14.4...v0.15.1)

---
updated-dependencies:
- dependency-name: github.com/ipfs/go-graphsync
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-26 11:26:39 +02:00
dependabot[bot]
9cd2c8c99c chore(deps): bump github.com/ipfs/go-unixfsnode from 1.7.1 to 1.8.1
Bumps [github.com/ipfs/go-unixfsnode](https://github.com/ipfs/go-unixfsnode) from 1.7.1 to 1.8.1.
- [Release notes](https://github.com/ipfs/go-unixfsnode/releases)
- [Commits](https://github.com/ipfs/go-unixfsnode/compare/v1.7.1...v1.8.1)

---
updated-dependencies:
- dependency-name: github.com/ipfs/go-unixfsnode
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-26 11:26:39 +02:00
Bernhard M. Wiedemann
7173178799 Update go-unixfsnode to 1.8.0 to fix FUSE
Fixes #9044 regression in 0.13.0 FUSE access to some files
2023-09-25 15:39:55 +02:00
Jorropo
593614a08f tests: remove sharness ping tests
This was ported in 579175f81d but we forgot to remove it.
2023-09-21 20:14:21 +02:00
Jorropo
551b36b83f chore: update go-libp2p-kad-dht 2023-09-21 20:14:21 +02:00
Henrique Dias
0bac56c3aa
feat: add Gateway.DisableHTMLErrors option (#10137) 2023-09-21 15:03:17 +00:00
Jorropo
3f33e61d3a chore: update to go1.21 for gateway over libp2p 2023-09-20 10:47:03 +02:00
Henrique Dias
d4c4f6c39c chore: bump boxo to 0.13.0 2023-09-20 09:57:20 +02:00
Adin Schmahmann
df66dacc26 test(sharness): update ping test since go-libp2p v0.31.0 changed the reported error message 2023-09-01 16:52:12 -04:00
Adin Schmahmann
f2c43d5bbf feat(config): Add gateway-over-libp2p experiment 2023-09-01 16:52:09 -04:00
Adin Schmahmann
2a1d91f67a test(gateway): add harness tests for gateway over libp2p 2023-08-31 04:54:39 -04:00
Adin Schmahmann
fb5cacac86 test(harness): use SIGKILL to terminate daemons in Windows testing 2023-08-31 01:47:35 -04:00
Adin Schmahmann
a11c542408 test(harness): skip environment variables starting with = 2023-08-31 00:30:56 -04:00
Jorropo
f7aa1204b1 feat: add gateway to http over libp2p 2023-08-30 18:51:22 +02:00
Henrique Dias
4606586207
feat(gateway): expose /routing/v1 server (opt-in) (#9877) 2023-08-25 17:30:04 +02:00
Henrique Dias
5ea58251d5
chore: update boxo, go-libp2p, and internalize mplex (#10095) 2023-08-24 06:11:02 +00:00
Henrique Dias
1e5ce93659 fix: use %-encoded headers in most compatible way 2023-08-22 15:43:01 +02:00
Henrique Dias
2aa721b121 chore: bump to go 1.20
- Bumps golangci-lint to work for the new Go version
- Removes rand.Seed, which has been deprecated. It is seeded by default
  with a random value since Go 1.20.
- Replaces deprecated Fuse errors with syscall.Errno
2023-08-22 15:43:01 +02:00
Henrique Dias
535d35e161
chore: restore exec perms for t0116-gateway-cache.sh and fixtures (#10085) 2023-08-18 09:34:42 +02:00
Marcin Rataj
733b01a37b
fix(gw): useful IPIP-402 CARs on not found errors (#10084)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-08-18 06:54:08 +00:00
Amir Mohammad Fakhimi
ced348366c
feat: add zsh completions (#10040)
Co-authored-by: Henrique Dias <hacdias@gmail.com>
2023-08-17 16:43:27 +02:00
Kay
f12b372af9
style: gofumpt and godot [skip changelog] (#10081) 2023-08-17 14:02:08 +02:00
Jorropo
b4f415088f chore: bump boxo for verifcid breaking changes
This is a Q&D fix to get kubo building again, this is completely equivalent to what we used to have.
I'll submit a patch that DI the verifcid.Allowlist interface with fx later but this is needed to unblock something else.
2023-08-17 13:41:30 +02:00
Jorropo
f805b9fcda feat: allow users to optin again into mplex
This is a partial revert of 7220409394.

Closes #9958
2023-08-15 14:53:44 +02:00
Jorropo
7220409394 feat: remove Mplex
Mplex does not implement backpressure, our implementation will randomly reset streams if buffers overflow instead of risking deadlocks.

In the past we had a bug where kubo nodes would prefer mplex over yamux. Turning off mplex make our connections to thoses nodes negociate yamux.

Closes #9958
2023-08-15 11:35:45 +02:00
Jorropo
b8e393056c chore: bump go-libp2p v0.29.2 2023-08-08 14:26:58 +02:00