1
0
mirror of https://github.com/ipfs/kubo.git synced 2025-08-06 19:44:01 +08:00

15292 Commits

Author SHA1 Message Date
4c23919a20 chore: 0.33.0-rc3 v0.33.0-rc3 2025-01-23 19:44:43 +01:00
033de22e3b fix: quic-go v0.49.0 (#10673)
https://github.com/quic-go/quic-go/releases/tag/v0.49.0
(cherry picked from commit 82945a939298dd1f1067c04f974997dcb7191349)
2025-01-23 19:11:59 +01:00
62ff2e6d37 Upgrade to Boxo v0.27.2 (#10672)
* Upgrade to Boxo v0.27.2

(cherry picked from commit a26aee1a11c31b047703a6692c996dc1746617cc)
2025-01-23 16:49:36 +01:00
6426e191bc chore: 0.33.0-rc2 v0.33.0-rc2 2025-01-22 22:43:44 +01:00
5fdd87c850 Upgrade to Boxo v0.27.1 (#10671)
* Upgrade to Boxo v0.27.1
* update changelog
* use tagged release of boxo

(cherry picked from commit fcfdbfb32eef1d809fc34bbfdb79be2c5a8a0d3a)
2025-01-22 22:32:22 +01:00
00cb38865f fix(autotls): renewal and AutoTLS.ShortAddrs (#10669)
* fix(autotls): renewal and AutoTLS.ShortAddrs

updates to p2p-forge/client with fix from
https://github.com/ipshipyard/p2p-forge/pull/42

we also add AutoTLS.ShortAddrs flag and enable it by default
to benefit from shorter addrs discusses in
https://github.com/ipshipyard/p2p-forge/pull/40

* test: fix flaky NewRandPort

reducing chance of bind: address already in use

(cherry picked from commit 256a739e3b0e24ae6f3b89ccc47de3bb4df04c3d)
2025-01-22 17:41:03 +01:00
c51d7cd684 update changelog for boxo and go-libp2p (#10668)
(cherry picked from commit d0bc598e05cb408f71d54a537893626214af77e8)
2025-01-22 17:40:45 +01:00
7d878bb5c9 Upgrade to go-ds-pebble v0.4.2 (#10667)
Upgrade pebble to v1.1.4

(cherry picked from commit 22466fa0514ea6bc4f78c62b5049df771f0e7b8c)
2025-01-22 17:40:35 +01:00
3dd1232637 Upgrade to Boxo v0.27.0 (#10665)
* Upgrade to Boxo v0.27.0

(cherry picked from commit 332a9484eb64841c4de4b85fef7f32aa25ccb080)
2025-01-22 17:39:57 +01:00
2e15a20c1c update dependencies (#10664)
(cherry picked from commit 104b661134913656698d51e8f8ccef205d4b86b9)
2025-01-22 17:39:44 +01:00
6aa7d99fe4 fix(dns): update default DNSLink resolvers (#10655)
* fix(dns): update default DNSLink resolvers

Depends on
- https://github.com/ipfs/boxo/pull/781
- https://github.com/ipfs/boxo/pull/782

* chore: latest boxo main and go-doh-resolver v0.5.0

makes error message better, informing which URL failled

* chore: p2p-forge v0.2.1+

this removes acmez/v2 and fixes go vet

* chore: latest boxo with DoH fixes

commit from main branch that includes:
https://github.com/ipfs/boxo/pull/645
https://github.com/ipfs/boxo/pull/782
https://github.com/ipfs/boxo/pull/781

(cherry picked from commit b021a00bf69d4f852e860b13a93cd2cd29161db3)
2025-01-14 22:24:04 +01:00
89c6e7eb89 chore: p2p-forge v0.2.2 + go-libp2p-kad-dht v0.28.2 (#10663)
* chore: p2p-forge v0.2.2

https://github.com/ipshipyard/p2p-forge/releases/tag/v0.2.2

* chore: go-libp2p-kad-dht v0.28.2

https://github.com/libp2p/go-libp2p-kad-dht/releases/tag/v0.28.2
(cherry picked from commit 5f8dd91c3c2f8f25c8ebf3da85e78937a186ec17)
2025-01-14 01:57:03 +01:00
9386fdcdfb fix(cli): support HTTPS in ipfs --api (#10659)
* fix(cli): support HTTPS in ipfs --api

Closes #10539

* chore: go-ipfs-cmds v0.14.1

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

* docs: ipfs --api example

* test(cli): https rpc support

makes sure we dont have regression where HTTPS endpoint
starts getting cleartext requests

(cherry picked from commit 3b098b969af9aa7e9904ec1e6428dd96384e6fa6)
2025-01-13 18:58:03 +01:00
a0c57cba22 chore: fix typos and comment formatting (#10653)
* fix typos and comment formatting

(cherry picked from commit 7383e1ecbb41d91c3ac14e681d560c3a2702ebd2)
2025-01-13 18:56:53 +01:00
5e1bacc2a8 fix/gateway: escape directory redirect url (#10649)
* fix/gateway: escape directory redirect URLs

When a director gets redirected to a URL with a treailing slash, special chars in the directory name must be escaped in the redirect URL. This upgrades to a version of box that has that fix.

Closes #10536

* Fix sharness test for new redirect URLs
* Update to latest boxo
* Use latest gateway-conformance

(cherry picked from commit b7cc47aef5ee95ff1a45aedc76a176d5f6008a71)
2025-01-13 18:56:20 +01:00
258c5e487d Add example of setting array to config command help
Closes #10645

(cherry picked from commit a4d13e3f6bf418e48bd3870e60be2ceb932f6c0c)
2025-01-13 18:55:24 +01:00
53792003bd collection of typo fixes (#10647)
(cherry picked from commit 942542111447bbc076c9d20bc11ddb17fb410ea0)
2025-01-13 18:55:10 +01:00
1b5aa0bfac chore: 0.33.0-rc1 v0.33.0-rc1 2024-12-20 19:30:17 +01:00
9282f08188 fix: ipfs-webui v4.4.2 (#10635)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.2
2024-12-20 19:24:21 +01:00
397c346ae0 feat(libp2p): shared TCP listeners and AutoTLS.AutoWSS (#10565)
* feat(libp2p): enable shared TCP listeners

* docs: switch mentions of /ws to /tcp/4001

* feat: AutoTLS.AutoWSS

This adds AutoTLS.AutoWSS flag that is set to true by default.

It will check if Addresses.Swarm contain explicit /ws listener,
and if not found, it will append one per every /tcp listener

This way existing TCP ports are reused without any extra configuration,
but we don't break user's who have custom / explicit /ws listener
already.

I also moved logger around, to include Addresses.Swarm inspection
results in `autotls` logger.

* chore: go-libp2p v0.38.1

https://github.com/libp2p/go-libp2p/releases/tag/v0.38.0
https://github.com/libp2p/go-libp2p/releases/tag/v0.38.1

* docs: AutoTLS.AutoWSS and go-libp2p v0.38.x

* chore: p2p-forge/client v0.2.0

https://github.com/ipshipyard/p2p-forge/releases/tag/v0.2.0

* fix: disable libp2p.ShareTCPListener() in PNET

* chore(ci): timeout sharness after 15m

average successful run is  <9 minutes, no need to wait for 20
https://github.com/ipfs/kubo/actions/workflows/sharness.yml?query=is%3Asuccess

---------

Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-12-20 18:41:25 +01:00
f2c190535c feat(flatfs): default to sync=false (#10632) 2024-12-19 16:14:45 -08:00
4e91ea3220 Minor spelling and wording changes (#10634)
*Update readme

Closes #10627
2024-12-19 16:06:56 -08:00
295fd96bd0 docs: clarify Swarm.ResourceMgr.MaxMemory (#10622)
related to ux problem described in #10621
2024-12-20 00:48:21 +01:00
519ae27dce feat: expose BlockKeyCacheSize and enable WriteThrough datastore options (#10614)
* feat: expose BlockKeyCacheSize and enable WriteThrough when bloom filter disabled
* import/config: add BatchMaxSize and BatchMaxNodes
* config: make BlockKeyCacheSize an OptionalInteger
* config: add and wire datastore.WriteThrough option
* config: omitempty on BlockKeyCacheSize
* changelog: rewrite entry about new options for the datastore
* config: add docs for BatchMaxNodes and BatchMaxSize
* config: make WriteThrough an optional Flag
* changelog: improve description of new datastore/import options
* refactor: DefaultWriteThrough as bool
* chore: boxo v0.26.0
* docs: config and changelog fixes
2024-12-19 23:12:05 +00:00
ecb25581c6 cmd/files: flush parent folders (#10630)
* cmd/files: flush parent folders

This is a mitigation to increased MFS memory usage in the course of many writes operations.

The underlying issue is the unbounded growth of the mfs directory cache in
boxo. In the latest boxo version, this cache can be cleared by calling Flush()
on the folder. In order to trigger that, we call Flush() on the parent folder
of the file/folder where the write-operations are happening.

To flushing the parent folder allows it to grow unbounded. Then, any read
operation to that folder or parents (i.e. stat), will trigger a sync-operation to match
the cache to the underlying unixfs structure (and obtain the correct node-cid).

This sync operation must visit every item in the cache. When the cache has grown too much,
and the underlying unixfs-folder has switched into a HAMT, the operation can take minutes.

Thus, we should clear the cache often and the Flush flag is a good indicator
that we can let it go. Users can always run with --flush=false and flush at
regular intervals during their MFS writes if they want to extract some performance.

Fixes #8694, #10588.

* cmd/files: docs and changelog for --flush changes
2024-12-19 14:07:17 -08:00
7c49860061 Upgrade to Boxo v0.26.0 (#10631)
* Upgrade to Boxo v0.26.0
* Update docs/changelogs/v0.33.md
2024-12-19 13:54:02 -08:00
898f024f3c [skip changelog] pinmfs: mitigate slow mfs writes when it triggers (#10623)
* pinmfs: mitigate slow mfs writes when it triggers

This mitigates slow mfs writes when the pinmfs daemon calls mfs.RootNode()

When writing lots of files to MFS, this call triggers a mfs directory cache
sync operations. The cache grows forever and is unbounded. The more files
added to a directory, the longer it takes. In the meantime, writing to mfs is
locked.

The pinmfs, even when no remote pinning services are configured, will trigger
this issue. When RootNode() takes more than 30 seconds, the issue will be triggered
continuously causing a write-deadlock onto MFS.

This commit does not fix the fact that if you write 1M items into an MFS
directory, the first time that the directory is traversed it will still have
to sync those 1M items. It does at least prevent writes from stalling after
about ~6000 items.

* pinmfs: fix test
2024-12-17 12:59:12 -08:00
07b8742177 Merge pull request #10625 from ipfs/update-nopfs
[skip changelog] deps: update nopfs
2024-12-13 15:46:45 +01:00
335a27820d Merge branch 'master' into update-nopfs 2024-12-13 02:16:57 -10:00
09d5789946 mod tidy examples 2024-12-13 02:16:38 -10:00
b42eb5a8f9 Update deps (#10624) 2024-12-13 04:12:55 -08:00
53af049cb5 deps: update nopfs 2024-12-13 11:28:57 +01:00
c797fbc95c chore(deps): bump codecov/codecov-action from 5.0.7 to 5.1.1 (#10620)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.0.7 to 5.1.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](015f24e681...7f8b4b4bde)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Andrew Gillis <11790789+gammazero@users.noreply.github.com>
2024-12-12 23:07:16 -08:00
642e58ef3b chore: use errors.New to replace fmt.Errorf with no parameters (#10617) 2024-12-10 13:50:35 -08:00
19dc712498 chore: boxo v0.25.0 (#10619)
https://github.com/ipfs/boxo/releases/tag/v0.25.0
2024-12-09 23:25:44 +01:00
433444b609 fix(cmds/add): disallow --wrap with --to-files (#10612)
Close #10611
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-12-03 21:49:18 +01:00
224d6a3ba4 refactor(cmds): do not return errors embedded in result type (#10527)
incl. https://github.com/ipfs/boxo/pull/738
2024-12-03 20:15:33 +01:00
53e793afdd fix: ipfs-webui v4.4.1 (#10608)
https://github.com/ipfs/ipfs-webui/releases/tag/v4.4.1
2024-12-03 20:11:34 +01:00
8654538cce chore: fix broken url in comment (#10606)
Signed-off-by: hishope <csqiye@126.com>
2024-11-29 20:23:13 +01:00
778a418952 refactor(rcmgr): use default libp2p rcmgr metrics (#9947)
Co-authored-by: Marcin Rataj <lidel@lidel.org>
2024-11-27 20:50:43 +01:00
fa769f7544 chore(deps): bump codecov/codecov-action from 4.6.0 to 5.0.7 (#10597)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4.6.0 to 5.0.7.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](b9fd7d16f6...015f24e681)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-27 19:41:55 +01:00
9433105a85 docs(changelog/v0.33): bitswap reprovide changes (#10604) 2024-11-27 19:40:16 +01:00
02995d5d7d tests(cli/harness): use unused Verbose flag to pipe daemon outputs (#10601)
Obtain actual daemon output on the screen while
debugging tests. 
Might be useful in the future even though it needs to
manually set verbose somewhere.
2024-11-27 19:35:15 +01:00
3b2c2698e7 chore: p2p-forge/client v0.1.0 (#10605) 2024-11-27 19:28:11 +01:00
23ef1d70e7 fix: go-libp2p v0.37.2 (#10603)
* chore: go-libp2p v0.37.1

https://github.com/libp2p/go-libp2p/releases/tag/v0.37.1

* chore: go-libp2p v0.37.2

https://github.com/libp2p/go-libp2p/releases/tag/v0.37.2
2024-11-26 19:49:02 +01:00
466f72f518 docs: typos (#10602) 2024-11-26 19:19:48 +01:00
fb58b0ae85 tests/cli: fix flapping tests (#10600)
The issue is that for dht providing to work correctly, at least two nodes must
have dht routing.

Before, dht providing in the test always failed, but the test succeeded when
the tested-CID was the one that the failure happened with (the first in the
list for ProvideMany).
2024-11-26 19:19:07 +01:00
37c5060742 Update to boxo with refactored providerQueryManager. (#10595) 2024-11-26 03:34:06 -08:00
ef58568964 fix some typos in docs (#10598) 2024-11-25 15:15:43 -08:00
0bd0edc782 feat(bootstrap): add JS-based va1.bootstrap.libp2p.io (#10575)
* feat(bootstrap): /dnsaddr/va1.bootstrap.libp2p.io

this adds
https://github.com/libp2p/js-libp2p-amino-dht-bootstrapper
instance at /dnsaddr/va1.bootstrap.libp2p.io
to ensure Kubo does not depend on single language stack
for initial bootstrap

* docs: document where defaults live

* test: updated bootstrappers
2024-11-25 09:04:53 -08:00