Commit Graph

286 Commits

Author SHA1 Message Date
Andrew Gillis
1fd5ab4c45
chore: update dependencies (#10548)
Some checks are pending
CodeQL / codeql (push) Waiting to run
Docker Build / docker-build (push) Waiting to run
Gateway Conformance / gateway-conformance (push) Waiting to run
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Waiting to run
Go Build / go-build (push) Waiting to run
Go Check / go-check (push) Waiting to run
Go Lint / go-lint (push) Waiting to run
Go Test / go-test (push) Waiting to run
Interop / interop-prep (push) Waiting to run
Interop / helia-interop (push) Blocked by required conditions
Interop / ipfs-webui (push) Blocked by required conditions
Sharness / sharness-test (push) Waiting to run
update dependencies
2024-10-22 11:26:02 -07:00
Andrew Gillis
551ac65b84
chore: update go-unixfsnode (#10553)
minor dependency update
2024-10-21 11:05:32 -07:00
Marcin Rataj
091bc083c3
fix: go 1.23(.2) (#10540)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
go1.23.2 includes potential fix for issue described in
https://github.com/ipfs/kubo/issues/10501
2024-10-08 17:16:02 +02:00
Marcin Rataj
00e1f812a2
chore: go-libp2p v0.36.5 (#10538)
Some checks failed
CodeQL / codeql (push) Has been cancelled
Docker Build / docker-build (push) Has been cancelled
Gateway Conformance / gateway-conformance (push) Has been cancelled
Gateway Conformance / gateway-conformance-libp2p-experiment (push) Has been cancelled
Go Build / go-build (push) Has been cancelled
Go Check / go-check (push) Has been cancelled
Go Lint / go-lint (push) Has been cancelled
Go Test / go-test (push) Has been cancelled
Interop / interop-prep (push) Has been cancelled
Sharness / sharness-test (push) Has been cancelled
Interop / helia-interop (push) Has been cancelled
Interop / ipfs-webui (push) Has been cancelled
https://github.com/libp2p/go-libp2p/releases/tag/v0.36.5
2024-10-04 16:32:21 +02:00
Andrew Gillis
52b00624cd
feat: pebbleds profile and plugin (#10530)
* include pebble as built-in plugin

Pebble provides a high-performance alternative to leveldb as the datastore, and will serve as a replacement for badger1.

There are a number of tuning parameters available for tuning pebble's performance to your specific needs. Default values are used for any that are not configured or are set to the parameter's zero-value.

Requires https://github.com/ipfs/go-ds-pebble/pull/39

Closes #10347

* docs: remove mention of ipfs-ds-convert. Rationale: https://github.com/ipfs/ipfs-ds-convert/issues/50
* docs: pebbleds profile
* test: meaningful t0025-datastores.sh
* Update config/init.go
* Update docs/config.md
* Do not hard-code zero values into pebble config
2024-10-03 13:58:14 -07:00
Marcin Rataj
1bc773fd8b
chore: dependency updates for 0.31 (#10511)
* chore: client_golang v1.20.4
* chore: go-libp2p-kbucket v0.6.4
* chore: go-libp2p v0.36.4
* chore: go-car/v2 v2.14
* chore: go-ipld-cbor v0.2.0
2024-10-03 22:03:58 +02:00
Andrew Gillis
e1955a8a5a
chore: boxo v0.24.0 and go-libp2p v0.36.4 (#10531)
* Upgrade to Boxo v0.24.0
* Update to boxo release v0.24.0
2024-10-03 21:50:34 +02:00
Andrew Gillis
9577527329
feat(bitswap): allow configuring WithWantHaveReplaceSize (#10512)
Allow configuration of the bitswap server's replace WantHave with WantBlock maximum block size using the Internal.Bitswap.WantHaveReplaceSize config item. This sets the maximum size of a block in bytes up to which we will replace a want-have with a want-block. Setting a size of 0 disables this replacement and means that block sizes are not read for WantHave requests.

See ipfs/boxo#672 for more details

Updated boxo to version with PR 672

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-09-27 20:37:41 -07:00
Marcin Rataj
6454bdb4ea
chore: boxo v0.23.0 and go-libp2p v0.36.3 (#10507)
https://github.com/libp2p/go-libp2p/releases/tag/v0.36.3
https://github.com/ipfs/boxo/releases/tag/v0.23.0
2024-09-05 23:52:19 +02:00
Marcin Rataj
23ca1ddab1
fix: switch back to go 1.22 (#10502)
Switching back until https://github.com/ipfs/kubo/issues/10501 is resolved.
2024-09-02 23:39:16 +02:00
Marcin Rataj
2260e35df2
chore: upgrade to go 1.23 (#10486)
* chore: upgrade to go 1.23

https://tip.golang.org/doc/go1.23

* refactor: golangci-lint v1.60.2
2024-08-28 18:56:45 +02:00
Andrew Gillis
add45cf34c
chore: update go-unixfsnode, cmds, and boxo (#10494)
* Update go-unixfsnode dependency
* Update go-ipfs-cmds
* chore: boxo@main with boxo#659

---------

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-08-28 02:41:45 +02:00
Marcin Rataj
ca95b637ab
chore: go-libp2p-kad-dht v0.26.1 (#10488)
* chore: go-libp2p-kad-dht v0.26.1
https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.26.1

* fix(ci): helia-interop from pr fix
https://github.com/ipfs/helia/pull/584
2024-08-21 23:56:55 +02:00
Marcin Rataj
330818582d
chore: update go-ipfs-cmds and boxo (#10485)
* chore: go-ipfs-cmds v0.12.0

https://github.com/ipfs/go-ipfs-cmds/releases/tag/v0.12.0

* chore: boxo main with boxo#649

https://github.com/ipfs/boxo/pull/649
2024-08-21 18:10:41 +02:00
Andrew Gillis
263edb251e
feat: Support storing UnixFS 1.5 Mode and ModTime (#10478)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-08-21 02:02:46 +02:00
Marcin Rataj
c8007dd242
fix: go-libp2p v0.36.2 (#10483)
https://github.com/libp2p/go-libp2p/releases/tag/v0.36.2
2024-08-19 14:43:49 +02:00
Marcin Rataj
fc31f9c211
chore: boxo v0.22.0 (#10469) 2024-08-07 01:14:26 +02:00
Marcin Rataj
feef0851bd
feat: go-libp2p 0.36 and /webrtc-direct listener (#10463)
Co-authored-by: Marco Munizaga <git@marcopolo.io>
2024-08-06 21:25:27 +02:00
Marcin Rataj
749a61bae2
chore: update dependencies (#10462)(#10466)
* chore: go get -u
* fix(gateway): return 404 in no-fetch contexts (#10466)

applies and tests fix from https://github.com/ipfs/boxo/pull/630
2024-07-30 16:42:18 +02:00
Marcin Rataj
f08d585a5a
chore: update deps incl. boxo v0.21.0 (#10444)
* chore: update dependencies
* refactor: go lint
* chore: boxo v0.21.0

https://github.com/ipfs/boxo/releases/tag/v0.21.0
2024-06-21 02:57:36 +02:00
Marco Munizaga
121c6023c3
chore: go-libp2p 0.35.1 (#10430)
https://github.com/libp2p/go-libp2p/releases/tag/v0.35.1

Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-06-14 21:33:00 +02:00
Henrique Dias
70d976267a
chore: boxo 0.20.0 (#10432) 2024-05-27 12:40:37 +02:00
Henrique Dias
b79cedec73
chore: libp2p 0.34.1 (#10429) 2024-05-27 10:16:13 +02:00
Henrique Dias
869f506327
chore: update dependencies (#10423) 2024-05-16 11:10:05 +02:00
Henrique Dias
ba3f7f39bd
chore: update dependencies (#10404) 2024-04-15 12:49:33 +02:00
Henrique Dias
eae612e884 chore: boxo v0.19.0 2024-04-09 12:21:20 +02:00
Henrique Dias
6f2a61e1df
core/node: prioritize announcing pin roots, and flat strategy (#10376)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-04-09 06:37:23 +00:00
hayden
b7b6137170
chore: upgrade go-libp2p v0.33.2 (#10381)
Signed-off-by: hfuss <hayden.fuss@kaleido.io>
Co-authored-by: Henrique Dias <mail@hacdias.com>
2024-04-03 07:38:56 +02:00
Henrique Dias
d60b7cd1b1
ci: upgrade to go 1.22 (#10355) 2024-03-05 08:37:34 +01:00
Henrique Dias
2b7a39074b chore: update dependencies 2024-03-04 13:34:37 +01:00
Henrique Dias
cd6d5c0828 chore: bump to go-libp2p 0.33 2024-02-27 10:06:32 +01:00
Henrique Dias
1d659ea08c
chore: boxo v0.18.0 (#10343) 2024-02-20 10:02:59 +01:00
Henrique Dias
dccbfcf6b5
refactor: superfluous namespace test redirects (#10322) 2024-02-06 09:23:16 +00:00
Jorropo
4d3cc96c1e chore: update go-multiaddr 0.12.2 2024-01-26 15:52:38 +01:00
Henrique Dias
0ea879b4a1
feat: add Ipns.MaxCacheTTL 2024-01-26 11:20:34 +01:00
Marcin Rataj
262151f2ed
fix(gw): negative entity-bytes beyond file size (#10320)
fix: https://github.com/ipfs/boxo/pull/523
tests: https://github.com/ipfs/gateway-conformance/releases/tag/v0.5.0
2024-01-25 18:53:10 +01:00
Henrique Dias
e166af9756
core/corehttp: wrap gateway with headers, deprecate gateway /api/v0 2024-01-24 09:33:23 +00:00
Henrique Dias
be9d87adb5 chore: update dependencies 2024-01-23 20:57:09 +01:00
Jorropo
982d8a92c0 chore: update boxo 2024-01-12 15:19:49 +01:00
dependabot[bot]
75f3c10832 chore(deps): bump github.com/ipfs-shipyard/nopfs
Bumps [github.com/ipfs-shipyard/nopfs](https://github.com/ipfs-shipyard/nopfs) from 0.0.12-0.20231027223058-cde3b5ba964c to 0.0.12.
- [Release notes](https://github.com/ipfs-shipyard/nopfs/releases)
- [Commits](https://github.com/ipfs-shipyard/nopfs/commits/v0.0.12)

---
updated-dependencies:
- dependency-name: github.com/ipfs-shipyard/nopfs
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-01-11 21:09:04 +01:00
Henrique Dias
02ea51872b chore: boxo v0.17.0 2024-01-10 16:52:26 +01:00
Henrique Dias
2905b59529 chore: update boxo 2024-01-10 16:33:09 +01:00
Henrique Dias
8a421868f0 feat(pinning): allow for overwriting pin name 2024-01-09 10:25:35 +01:00
Jorropo
b215d73e45 chore: update otlp
Tracks ipfs/boxo#532
2024-01-04 18:16:59 +01:00
Henrique Dias
a8a6bbe929
feat: support optional pin names (#10261) 2024-01-04 14:25:06 +01:00
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
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
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
93b36793d6 chore: update go-libp2p-routing-helpers 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
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
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
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
Jorropo
4cd49cfca8 chore: bump go-libp2p v0.29.1 2023-08-04 18:31:58 +02:00
Jorropo
5a0a9ede15 chore: bump boxo to v0.11.0 for release 2023-07-27 12:08:19 +02:00
Marco Munizaga
649283bb6c chore: update go-libp2p to v0.29.0 2023-07-26 14:48:19 +02:00
Marten Seemann
c08313f032 chore: update go-libp2p to v0.28.1
Co-authored-by: Jorropo <jorropo.pgm@gmail.com>
2023-07-26 14:48:19 +02:00
Jorropo
9c02eecad7
fix: mark all routers DoNotWaitForSearchValue (#10020)
* fix: mark ipns pubsub router DoNotWaitForSearchValue

That means if the DHT has finished searching and no one responded over pubsub *yet*, we will not spend 1 minute searching for no reason.

This also include other error handling bug fixes inside `go-libp2p-routing-helpers`.

Fixes: #9927

* routing: bring back the old IPNS behaviour

Stop making this configurable let everything race like it used to do.
2023-07-25 19:39:21 +02:00
Henrique Dias
a8c63537f2
feat(gateway): support for ipip-412 parameters 2023-07-24 11:09:09 +02:00
Henrique Dias
394d72db4c refactor: replace boxo/ipld/car by ipld/go-car 2023-06-29 16:10:49 +02:00
Henrique Dias
dae41836c0 chore: bump to boxo master 2023-06-29 13:05:08 +02:00
Marcin Rataj
3da4e5b409
fix(gateway): include CORS on subdomain redirects (#9994) 2023-06-27 11:11:21 +00:00
Henrique Dias
5156f21162
feat(ipns): records with V2-only signatures (#9932) 2023-06-20 14:24:31 +02:00
Jorropo
f3ca75947f chore: bump go-libp2p-kad-dht for deadlock fix 2023-06-20 07:56:19 +02:00
Henrique Dias
8bba03d8bf
chore: bump boxo to 0.10.1 (#9970) 2023-06-19 15:07:33 +02:00
Jorropo
44c5ec0505 chore: update dht and libp2p for identify stream block
Streams used to be blocked on ping IO because we didn't handled the DHT ping check asynchronously.

Include fixes from libp2p/go-libp2p-kad-dht#851
Fixes #9957
2023-06-15 12:57:54 +02:00
Jorropo
8138e00024 chore: last dependency update for v0.21-rc1 2023-06-12 15:26:05 +02:00
Henrique Dias
ad9e208ad6
chore: bump to boxo 0.10 (#9928) 2023-06-09 12:29:07 +02:00
Henrique Dias
2716cd987f
feat(gateway): support for IPIP-402 CAR params (#9914) 2023-06-08 17:32:18 +02:00