Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release v0.34.0 #10745

Merged
merged 77 commits into from
Mar 20, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
77 commits
Select commit Hold shift + click to select a range
1fe8c69
chore: bump master to 0.34.0-dev
lidel Dec 20, 2024
9425421
collection of typo fixes (#10647)
gammazero Dec 30, 2024
a4d13e3
Add example of setting array to config command help
gammazero Jan 2, 2025
016c2a7
Merge pull request #10650 from ipfs/chore/config-cmd-help
hsanjuan Jan 3, 2025
b7cc47a
fix/gateway: escape directory redirect url (#10649)
gammazero Jan 4, 2025
7383e1e
chore: fix typos and comment formatting (#10653)
gammazero Jan 7, 2025
3b098b9
fix(cli): support HTTPS in ipfs --api (#10659)
lidel Jan 10, 2025
5f8dd91
chore: p2p-forge v0.2.2 + go-libp2p-kad-dht v0.28.2 (#10663)
lidel Jan 13, 2025
b021a00
fix(dns): update default DNSLink resolvers (#10655)
lidel Jan 14, 2025
1768204
docs(readme): add unofficial Fedora COPR (#10660)
vorburger Jan 15, 2025
f41b190
chore(deps): bump codecov/codecov-action from 5.1.1 to 5.1.2 (#10642)
dependabot[bot] Jan 16, 2025
104b661
update dependencies (#10664)
gammazero Jan 21, 2025
332a948
Upgrade to Boxo v0.27.0 (#10665)
gammazero Jan 21, 2025
22466fa
Upgrade to go-ds-pebble v0.4.2 (#10667)
gammazero Jan 22, 2025
d0bc598
update changelog for boxo and go-libp2p (#10668)
gammazero Jan 22, 2025
256a739
fix(autotls): renewal and AutoTLS.ShortAddrs (#10669)
lidel Jan 22, 2025
fcfdbfb
Upgrade to Boxo v0.27.1 (#10671)
gammazero Jan 22, 2025
a26aee1
Upgrade to Boxo v0.27.2 (#10672)
gammazero Jan 23, 2025
82945a9
fix: quic-go v0.49.0 (#10673)
lidel Jan 23, 2025
a323bbf
fix(ci): workaround for upload-rtifact@v3 depr.
lidel Jan 23, 2025
3c9cc3f
Revert "fix(ci): workaround for upload-rtifact@v3 depr."
lidel Jan 24, 2025
29bfcce
test: fix the socat tests after the ubuntu 24.04 upgrade (#10683)
galargh Jan 29, 2025
7edecb5
Merge branch 'master' into merge-release-v0.33.0
lidel Jan 29, 2025
8d19912
chore: changelog for 0.34
lidel Jan 29, 2025
dab91c8
Merge pull request #10684 from ipfs/merge-release-v0.33.0
lidel Jan 29, 2025
9adab29
feat: Add CI for Spell Checking (#10637)
youyyytrok Jan 30, 2025
42394af
chore(deps): bump codecov/codecov-action from 5.1.2 to 5.3.1 (#10678)
dependabot[bot] Jan 30, 2025
5d143a2
fix: config help (#10686)
guillaumemichel Jan 30, 2025
e08c7cb
docs: add webrtc-direct fixes to 0.33 release changelog (#10688)
2color Jan 31, 2025
b355559
feat: Better self-service commands for DHT providing (#10677)
gsergey418 Jan 31, 2025
6927f4f
docs: RELEASE_CHECKLIST.md update for 0.33 (#10674)
lidel Jan 31, 2025
4bd79bd
chore(deps): bump actions/checkout from 3 to 4 (#10691)
dependabot[bot] Feb 4, 2025
032ceaf
fix: Issue #9364 JSON config validation (#10679)
gsergey418 Feb 4, 2025
e727f09
fix: boxo v0.27.4 (#10692)
gammazero Feb 4, 2025
aa72a12
Merge branch 'master' into merge-release-v0.33.1
lidel Feb 4, 2025
580ce69
Merge pull request #10698 from ipfs/merge-release-v0.33.1
lidel Feb 4, 2025
ad81ead
docs: update min requirements (#10687)
lidel Feb 5, 2025
68c0879
docs(release): update RELEASE_CHECKLIST.md after v0.33.1 (#10697)
lidel Feb 5, 2025
b387530
chore: go-libp2p v0.39.0 (#10703)
lidel Feb 6, 2025
e77a484
fix(rpc): restore and reprecate `bitswap reprovide` (#10699)
lidel Feb 10, 2025
d137d7a
Remove unused TimeParts struct (#10708)
gammazero Feb 11, 2025
d53eb24
fix: go-libp2p v0.39.1 (#10711)
lidel Feb 13, 2025
b61dd6b
Merge remote-tracking branch 'origin/master' into merge-release-v0.33.2
lidel Feb 14, 2025
04982f3
Merge pull request #10713 from ipfs/merge-release-v0.33.2
lidel Feb 14, 2025
40a7a38
fix: switch away from IPFS_LOG_LEVEL (#10694)
SgtPooki Feb 14, 2025
e41dc12
Update pebble db to latest format by default (#10720)
gammazero Feb 17, 2025
eb53bbf
Update go-ds-badger to v0.3.1 (#10722)
gammazero Feb 18, 2025
f00e115
docs(readme): update docker section (#10716)
lidel Feb 18, 2025
9a4fffa
Upgrade to go-libp2p v0.40.0 (#10727)
gammazero Feb 21, 2025
56a0532
Update go-test and use new random-files generator (#10728)
gammazero Feb 21, 2025
96215c5
Update to new go-test (#10729)
gammazero Feb 22, 2025
2ca5637
Replace go-random with random-data from go-test package (#10731)
gammazero Feb 24, 2025
8f07460
Upgrade to go1.24 (#10726)
gammazero Feb 24, 2025
26bb4ca
Upgrade to Boxo v0.28.0 (#10725)
gammazero Feb 25, 2025
65a9b59
update kad-dht (#10732)
guillaumemichel Feb 25, 2025
d6a5bc0
feat(AutoTLS): enabled by default with 1h RegistrationDelay (#10724)
lidel Feb 25, 2025
c8cce59
Create FUNDING.json (#10734)
p-shahi Feb 25, 2025
652d94b
feat: ipfs-webui v4.5.0 (#10735)
lidel Feb 25, 2025
baa94fc
chore: update go-libp2p to v0.41.0 (#10733)
MarcoPolo Feb 25, 2025
855d59e
chore(deps): bump codecov/codecov-action from 5.3.1 to 5.4.0 (#10740)
dependabot[bot] Mar 4, 2025
4c29169
fix: deps (#10741)
guillaumemichel Mar 4, 2025
5a3ec3a
docs(config): add security considerations for rpc (#10739)
lidel Mar 4, 2025
8077dbe
use go-datastore without go-process (#10736)
gammazero Mar 5, 2025
86aee74
Upgrade to Boxo v0.29.0 (#10742)
gammazero Mar 5, 2025
e221e94
fix(mfs): basic UnixFS sanity checks in `files cp` (#10701)
PsychoPunkSage Mar 5, 2025
3a8320d
chore: 0.34.0-rc1
lidel Mar 5, 2025
4b8ed7f
deps: update boxo to main-branch commit
hsanjuan Mar 7, 2025
c953abb
provider: buffer pin providers.
hsanjuan Mar 6, 2025
8af7f13
Update docs/changelogs/v0.34.md
guillaumemichel Mar 7, 2025
e89d86b
Nonfunctional (#10753)
gammazero Mar 11, 2025
441c0f5
Upgrade to Boxo v0.29.1 (#10755)
gammazero Mar 13, 2025
f994d94
docs(readme): update min. requirements + cleanup (#10750)
lidel Mar 14, 2025
ca4b612
feat: ipfs-webui v4.6 (#10756)
lidel Mar 14, 2025
180f622
docs: ipns ttl change
lidel Mar 14, 2025
0fcc990
docs: mention Reprovider.Strategy config
lidel Mar 14, 2025
3d87596
chore: v0.34.0-rc2
lidel Mar 14, 2025
38f255e
chore: v0.34.0
lidel Mar 20, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .codespell-ignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
Adin
nd
Nd
afile
thirdparty
receivedFrom
origN
hel
TotalIn
childs
userA
AssignT
OT
AssignT
fo
recusive
raison
Boddy
ressource
achin
re-using
2 changes: 1 addition & 1 deletion .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x

# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ jobs:
steps:
- uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- uses: actions/checkout@v4
- run: docker build -t $IMAGE_NAME:$WIP_IMAGE_TAG .
- run: docker run --rm $IMAGE_NAME:$WIP_IMAGE_TAG --version
4 changes: 2 additions & 2 deletions .github/workflows/gateway-conformance.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- uses: protocol/cache-go-action@v1
with:
name: ${{ github.job }}
Expand Down Expand Up @@ -136,7 +136,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- uses: protocol/cache-go-action@v1
with:
name: ${{ github.job }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/gobuild.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ jobs:
steps:
- uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- uses: actions/checkout@v4
- run: make cmd/ipfs-try-build
env:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/golang-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ jobs:
submodules: recursive
- uses: actions/setup-go@v5
with:
go-version: "1.23.x"
go-version: "1.24.x"
- name: Check that go.mod is tidy
uses: protocol/[email protected]
with:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/golint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,6 @@ jobs:
steps:
- uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- uses: actions/checkout@v4
- run: make -O test_go_lint
4 changes: 2 additions & 2 deletions .github/workflows/gotest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ jobs:
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- name: Check out Kubo
uses: actions/checkout@v4
- name: Install missing tools
Expand All @@ -45,7 +45,7 @@ jobs:
make -j "$PARALLEL" test/unit/gotest.junit.xml &&
[[ ! $(jq -s -c 'map(select(.Action == "fail")) | .[]' test/unit/gotest.json) ]]
- name: Upload coverage to Codecov
uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0
if: failure() || success()
with:
name: unittests
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/interop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ on:
- 'master'

env:
GO_VERSION: 1.23.x
GO_VERSION: 1.24.x

concurrency:
group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.event_name == 'push' && github.sha || github.ref }}
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/sharness.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- name: Setup Go
uses: actions/setup-go@v5
with:
go-version: 1.23.x
go-version: 1.24.x
- name: Checkout Kubo
uses: actions/checkout@v4
with:
Expand Down Expand Up @@ -55,7 +55,7 @@ jobs:
# increasing parallelism beyond 10 doesn't speed up the tests much
PARALLEL: ${{ github.repository == 'ipfs/kubo' && 10 || 3 }}
- name: Upload coverage report
uses: codecov/codecov-action@7f8b4b4bde536c465e797be725718b88c5d95e0e # v5.1.1
uses: codecov/codecov-action@0565863a31f2c772f9f0395002a31e3f06189574 # v5.4.0
if: failure() || success()
with:
name: sharness
Expand Down
21 changes: 21 additions & 0 deletions .github/workflows/spellcheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
name: Spell Check

on: [push, pull_request]

jobs:
spellcheck:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Install Codespell
run: pip install codespell==2.4.0

- name: Run Codespell
uses: codespell-project/actions-codespell@v2
with:
only_warn: 1
ignore_words_file: .codespell-ignore
skip: "*.mod,*.sum,*.pdf,./docs/AUTHORS,./test/sharness/t0275-cid-security-data,./test/sharness/t0280-plugin-dag-jose-data,./bin"
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Kubo Changelogs

- [v0.34](docs/changelogs/v0.34.md)
- [v0.33](docs/changelogs/v0.33.md)
- [v0.32](docs/changelogs/v0.32.md)
- [v0.31](docs/changelogs/v0.31.md)
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.23 AS builder
FROM --platform=${BUILDPLATFORM:-linux/amd64} golang:1.24 AS builder

ARG TARGETOS TARGETARCH

Expand Down Expand Up @@ -93,7 +93,7 @@ RUN mkdir /container-init.d \
VOLUME $IPFS_PATH

# The default logging level
ENV IPFS_LOGGING ""
ENV GOLOG_LOG_LEVEL ""

# This just makes sure that:
# 1. There's an fs-repo, and initializes one if there isn't.
Expand Down
5 changes: 5 additions & 0 deletions FUNDING.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"opRetro": {
"projectId": "0x7f330267969cf845a983a9d4e7b7dbcca5c700a5191269af377836d109e0bb69"
}
}
58 changes: 35 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@
<a href="https://ipfs.tech"><img src="https://img.shields.io/badge/project-IPFS-blue.svg?style=flat-square" alt="Official Part of IPFS Project"></a>
<a href="https://discuss.ipfs.tech"><img alt="Discourse Forum" src="https://img.shields.io/discourse/posts?server=https%3A%2F%2Fdiscuss.ipfs.tech"></a>
<a href="https://matrix.to/#/#ipfs-space:ipfs.io"><img alt="Matrix" src="https://img.shields.io/matrix/ipfs-space%3Aipfs.io?server_fqdn=matrix.org"></a>
<a href="https://github.com/ipfs/kubo/actions"><img src="https://img.shields.io/github/actions/workflow/status/ipfs/kubo/build.yml?branch=master" alt="ci"></a>
<a href="https://github.com/ipfs/kubo/actions"><img src="https://img.shields.io/github/actions/workflow/status/ipfs/kubo/gobuild.yml?branch=master"></a>
<a href="https://github.com/ipfs/kubo/releases"><img alt="GitHub release" src="https://img.shields.io/github/v/release/ipfs/kubo?filter=!*rc*"></a>
<a href="https://godoc.org/github.com/ipfs/kubo"><img src="https://img.shields.io/badge/godoc-reference-5272B4.svg?style=flat-square" alt="godoc reference"></a>
</p>

<hr />

## What is Kubo?

Kubo was the first IPFS implementation and is the most widely used one today. Implementing the *Interplanetary Filesystem* - the Web3 standard for content-addressing, interoperable with HTTP. Thus powered by IPLD's data models and the libp2p for network communication. Kubo is written in Go.
Kubo was the first IPFS implementation and is the most widely used one today. Implementing the *Interplanetary Filesystem* - the standard for content-addressing on the Web, interoperable with HTTP. Thus powered by future-proof data models and the libp2p for network communication. Kubo is written in Go.

Featureset
- Runs an IPFS-Node as a network service that is part of LAN and WAN DHT
- Native support for UnixFS (most popular way to represent files and directories on IPFS)
- [HTTP Gateway](https://specs.ipfs.tech/http-gateways/) (`/ipfs` and `/ipns`) functionality for trusted and [trustless](https://docs.ipfs.tech/reference/http/gateway/#trustless-verifiable-retrieval) content retrieval
- [HTTP Routing V1](https://specs.ipfs.tech/routing/http-routing-v1/) (`/routing/v1`) client and server implementation for [delegated routing](./docs/delegated-routing.md) lookups
- [HTTP Kubo RPC API](https://docs.ipfs.tech/reference/kubo/rpc/) (`/api/v0`) to access and control the daemon
Expand Down Expand Up @@ -64,12 +64,11 @@ Before opening an issue, consider using one of the following locations to ensure
- [Next milestones](#next-milestones)
- [Table of Contents](#table-of-contents)
- [Security Issues](#security-issues)
- [Minimal System Requirements](#minimal-system-requirements)
- [Install](#install)
- [Minimal System Requirements](#minimal-system-requirements)
- [Docker](#docker)
- [Official prebuilt binaries](#official-prebuilt-binaries)
- [Updating](#updating)
- [Using ipfs-update](#using-ipfs-update)
- [Downloading builds using IPFS](#downloading-builds-using-ipfs)
- [Unofficial Linux packages](#unofficial-linux-packages)
- [ArchLinux](#arch-linux)
Expand All @@ -80,6 +79,7 @@ Before opening an issue, consider using one of the following locations to ensure
- [Guix](#guix)
- [Snap](#snap)
- [Ubuntu PPA](#ubuntu-ppa)
- [Fedora](#fedora-copr)
- [Unofficial Windows packages](#unofficial-windows-packages)
- [Chocolatey](#chocolatey)
- [Scoop](#scoop)
Expand Down Expand Up @@ -111,28 +111,41 @@ Before opening an issue, consider using one of the following locations to ensure

Please follow [`SECURITY.md`](SECURITY.md).

## Install

The canonical download instructions for IPFS are over at: https://docs.ipfs.tech/install/. It is **highly recommended** you follow those instructions if you are not interested in working on IPFS development.

For production use, Release Docker images (below) are recommended.

### Minimal System Requirements

IPFS can run on most Linux, macOS, and Windows systems. We recommend running it on a machine with at least 4 GB of RAM and 2 CPU cores (kubo is highly parallel). On systems with less memory, it may not be completely stable, and you run on your own risk.
Kubo runs on most Linux, macOS, and Windows systems. For optimal performance, we recommend at least 6 GB of RAM and 2 CPU cores (more is ideal, as Kubo is highly parallel).

## Install
> [!IMPORTANT]
> Larger pinsets require additional memory, with an estimated ~1 GiB of RAM per 20 million items for reproviding to the Amino DHT.

The canonical download instructions for IPFS are over at: https://docs.ipfs.tech/install/. It is **highly recommended** you follow those instructions if you are not interested in working on IPFS development.
> [!CAUTION]
> Systems with less than the recommended memory may experience instability, frequent OOM errors or restarts, and missing data announcement (reprovider window), which can make data fully or partially inaccessible to other peers. Running Kubo on underprovisioned hardware is at your own risk.

### Docker

Official images are published at https://hub.docker.com/r/ipfs/kubo/:
Official images are published at https://hub.docker.com/r/ipfs/kubo/: [![Docker Image Version (latest semver)](https://img.shields.io/docker/v/ipfs/kubo?color=blue&label=kubo%20docker%20image&logo=docker&sort=semver&style=flat-square&cacheSeconds=3600)](https://hub.docker.com/r/ipfs/kubo/)

[![Docker Image Version (latest semver)](https://img.shields.io/docker/v/ipfs/kubo?color=blue&label=kubo%20docker%20image&logo=docker&sort=semver&style=flat-square&cacheSeconds=3600)](https://hub.docker.com/r/ipfs/kubo/)
#### 🟢 Release Images
- These are production grade images. Use them.
- `latest` and [`release`](https://hub.docker.com/r/ipfs/kubo/tags?name=release) tags always point at [the latest stable release](https://github.com/ipfs/kubo/releases/latest). If you use this, remember to `docker pull` periodically to update.
- [`vN.N.N`](https://hub.docker.com/r/ipfs/kubo/tags?name=v) points at a specific [release tag](https://github.com/ipfs/kubo/releases)

- 🟢 Releases
- `latest` and `release` tags always point at [the latest stable release](https://github.com/ipfs/kubo/releases/latest)
- `vN.N.N` points at a specific [release tag](https://github.com/ipfs/kubo/releases)
- These are production grade images.
- 🟠 We also provide experimental developer builds
- `master-latest` always points at the `HEAD` of the `master` branch
- `master-YYYY-DD-MM-GITSHA` points at a specific commit from the `master` branch
#### 🟠 Developer Preview Images
- These tags are used by developers for internal testing, not intended for end users or production use.
- [`master-latest`](https://hub.docker.com/r/ipfs/kubo/tags?name=master-latest) always points at the `HEAD` of the [`master`](https://github.com/ipfs/kubo/commits/master/) branch
- [`master-YYYY-DD-MM-GITSHA`](https://hub.docker.com/r/ipfs/kubo/tags?name=master-2) points at a specific commit from the `master` branch

#### 🔴 Internal Staging Images
- We use `staging` for testing arbitrary commits and experimental patches.
- To build image for current HEAD, force push to `staging` via `git push origin HEAD:staging --force`)
- [`staging-latest`](https://hub.docker.com/r/ipfs/kubo/tags?name=staging-latest) always points at the `HEAD` of the [`staging`](https://github.com/ipfs/kubo/commits/staging/) branch
- [`staging-YYYY-DD-MM-GITSHA`](https://hub.docker.com/r/ipfs/kubo/tags?name=staging-2) points at a specific commit from the `staging` branch

```console
$ docker pull ipfs/kubo:latest
Expand Down Expand Up @@ -161,12 +174,6 @@ If you are unable to access [dist.ipfs.tech](https://dist.ipfs.tech#kubo), you c

#### Updating

##### Using ipfs-update

IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
not installed alongside IPFS in order to keep that logic independent of the main
codebase. To install `ipfs-update` tool, [download it here](https://dist.ipfs.tech/#ipfs-update).

##### Downloading builds using IPFS

List the available versions of Kubo (go-ipfs) implementation:
Expand Down Expand Up @@ -207,6 +214,7 @@ $ ipfs get /ipns/dist.ipfs.tech/kubo/$VERSION/kubo_$VERSION_windows-amd64.zip
- [Guix](#guix)
- [Snap](#snap)
- [Ubuntu PPA](#ubuntu-ppa)
- [Fedora](#fedora-copr)

#### Arch Linux

Expand Down Expand Up @@ -271,6 +279,10 @@ sudo apt update
sudo apt install ipfs-kubo
```

### Fedora COPR

[`taw00/ipfs-rpm`](https://github.com/taw00/ipfs-rpm)

##### Any Ubuntu version

```sh
Expand Down
22 changes: 14 additions & 8 deletions cmd/ipfs/kubo/daemon.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@ import (
"sync"
"time"

multierror "github.com/hashicorp/go-multierror"

cmds "github.com/ipfs/go-ipfs-cmds"
mprome "github.com/ipfs/go-metrics-prometheus"
version "github.com/ipfs/kubo"
Expand Down Expand Up @@ -47,6 +45,7 @@ import (
manet "github.com/multiformats/go-multiaddr/net"
prometheus "github.com/prometheus/client_golang/prometheus"
promauto "github.com/prometheus/client_golang/prometheus/promauto"
"go.uber.org/multierr"
)

const (
Expand Down Expand Up @@ -421,9 +420,16 @@ func daemonFunc(req *cmds.Request, re cmds.ResponseEmitter, env cmds.Environment
// Private setups should not use public AutoTLS infrastructure
// as it will leak their existence and PeerID identity to CA
// and they will show up at https://crt.sh/?q=libp2p.direct
// Below ensures we hard fail if someone tries to enable both
if cfg.AutoTLS.Enabled.WithDefault(config.DefaultAutoTLSEnabled) {
return errors.New("private networking (swarm.key / LIBP2P_FORCE_PNET) does not work with AutoTLS.Enabled=true, update config to remove this message")
enableAutoTLS := cfg.AutoTLS.Enabled.WithDefault(config.DefaultAutoTLSEnabled)
if enableAutoTLS {
if cfg.AutoTLS.Enabled != config.Default {
// hard fail if someone tries to explicitly enable both
return errors.New("private networking (swarm.key / LIBP2P_FORCE_PNET) does not work with AutoTLS.Enabled=true, update config to remove this message")
} else {
// print error and disable autotls if user runs on default settings
log.Error("private networking (swarm.key / LIBP2P_FORCE_PNET) is not compatible with AutoTLS. Set AutoTLS.Enabled=false in config to remove this message.")
cfg.AutoTLS.Enabled = config.False
}
}
}

Expand Down Expand Up @@ -678,7 +684,7 @@ take effect.
var errs error
for err := range merge(apiErrc, gwErrc, gcErrc, p2pGwErrc) {
if err != nil {
errs = multierror.Append(errs, err)
errs = multierr.Append(errs, err)
}
}

Expand Down Expand Up @@ -816,9 +822,9 @@ func rewriteMaddrToUseLocalhostIfItsAny(maddr ma.Multiaddr) ma.Multiaddr {
first, rest := ma.SplitFirst(maddr)

switch {
case first.Equal(manet.IP4Unspecified):
case first.Equal(&manet.IP4Unspecified[0]):
return manet.IP4Loopback.Encapsulate(rest)
case first.Equal(manet.IP6Unspecified):
case first.Equal(&manet.IP6Unspecified[0]):
return manet.IP6Loopback.Encapsulate(rest)
default:
return maddr // not ip
Expand Down
5 changes: 4 additions & 1 deletion cmd/ipfs/kubo/start.go
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,10 @@ func insideGUI() bool {
func checkDebug(req *cmds.Request) {
// check if user wants to debug. option OR env var.
debug, _ := req.Options["debug"].(bool)
if debug || os.Getenv("IPFS_LOGGING") == "debug" {
ipfsLogLevel, _ := logging.LevelFromString(os.Getenv("IPFS_LOGGING")) // IPFS_LOGGING is deprecated
goLogLevel, _ := logging.LevelFromString(os.Getenv("GOLOG_LOG_LEVEL"))

if debug || goLogLevel == logging.LevelDebug || ipfsLogLevel == logging.LevelDebug {
u.Debug = true
logging.SetDebugLogging()
}
Expand Down
Loading
Loading