Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
0a807c1
packages, node-version, api changes libp2p v3
giurgiur99 Dec 17, 2025
4526d5d
lint fix
giurgiur99 Dec 17, 2025
41c138a
fix peer id key generation
giurgiur99 Dec 17, 2025
67c9be9
fix crypt
giurgiur99 Dec 17, 2025
cf42c04
fix integration assert
giurgiur99 Dec 17, 2025
1979209
use v20 for system tests
giurgiur99 Dec 17, 2025
40c1fc2
back to 22.5.1 ci
giurgiur99 Dec 17, 2025
5a24f4d
try force reload config
giurgiur99 Dec 18, 2025
915927c
Revert "try force reload config"
giurgiur99 Dec 18, 2025
334798e
equal check
giurgiur99 Dec 18, 2025
bdf9f2f
log ddo
giurgiur99 Dec 18, 2025
1f8d2c8
run all tests
giurgiur99 Dec 18, 2025
7768c7b
new instantce
giurgiur99 Dec 18, 2025
add6445
Revert "new instantce"
giurgiur99 Dec 18, 2025
bb377b2
log test
giurgiur99 Dec 18, 2025
1eff4bc
logs
giurgiur99 Dec 18, 2025
3d82d28
use correct ddo
giurgiur99 Dec 18, 2025
285dc08
revert changes
giurgiur99 Dec 18, 2025
f7dfe2c
force refresh config
giurgiur99 Dec 18, 2025
3a308e0
change order
giurgiur99 Dec 19, 2025
d08d638
remove logs
giurgiur99 Dec 19, 2025
5282ca6
tear down envs after tests
giurgiur99 Dec 19, 2025
953c65f
tear down
giurgiur99 Dec 19, 2025
4a25e77
new instance
giurgiur99 Dec 19, 2025
865f324
restart indexer
giurgiur99 Jan 5, 2026
193d365
skip db checks
giurgiur99 Jan 5, 2026
6d19c81
global check threads
giurgiur99 Jan 5, 2026
30098e9
cleanup
giurgiur99 Jan 5, 2026
79f1f67
revert p2p changes
giurgiur99 Jan 5, 2026
a701ce4
Revert "revert p2p changes"
giurgiur99 Jan 5, 2026
9555c61
Merge branch 'main' into p2p-v3
giurgiur99 Jan 6, 2026
afb8e09
custom dial logic
giurgiur99 Jan 6, 2026
65e01bd
Merge branch 'main' into p2p-v3
giurgiur99 Jan 6, 2026
9574285
event target and close connection
giurgiur99 Jan 6, 2026
c3c71f7
remove sinks
giurgiur99 Jan 7, 2026
f0f88f1
fix local node command
giurgiur99 Jan 7, 2026
fa27096
Merge branch 'main' into p2p-v3
giurgiur99 Jan 7, 2026
09afd5e
use peerstore if valid
giurgiur99 Jan 7, 2026
7acf2b7
dial multiaddrs instead of peerid
giurgiur99 Jan 8, 2026
076f885
use helper
giurgiur99 Jan 8, 2026
0efd727
streaming instead of buffering
giurgiur99 Jan 8, 2026
9a1a626
map chunk to buffer
giurgiur99 Jan 8, 2026
f2b2bff
lint fix
giurgiur99 Jan 8, 2026
0ec1b6f
no await on mapchunk
giurgiur99 Jan 8, 2026
0187a89
Merge branch 'main' into p2p-v3
giurgiur99 Jan 9, 2026
b0de415
pause the stream
giurgiur99 Jan 12, 2026
86dd427
resume stream on error
giurgiur99 Jan 12, 2026
b951d18
Merge branch 'main' into p2p-v3
giurgiur99 Jan 13, 2026
6f5215f
add datastore (#1161)
alexcos20 Jan 19, 2026
bc15ca7
Merge branch 'main' into p2p-v3
giurgiur99 Jan 22, 2026
210d3f1
fix sqlite3 lock
giurgiur99 Jan 22, 2026
5ee5f34
fix use raw key after past refactor commit
giurgiur99 Jan 22, 2026
7eec09c
auto tls (#1148)
giurgiur99 Jan 26, 2026
99b1a1f
Merge branch 'main' into p2p-v3
giurgiur99 Jan 26, 2026
0a7eb8e
Merge branch 'main' into p2p-v3
giurgiur99 Jan 26, 2026
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
1 change: 1 addition & 0 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ ENV ARWEAVE_GATEWAY='https://arweave.net/'

FROM base AS builder
COPY package*.json /usr/src/app/
COPY scripts/ /usr/src/app/scripts/
WORKDIR /usr/src/app/
RUN npm ci --maxsockets 1

Expand Down
6 changes: 6 additions & 0 deletions docs/env.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,7 @@ Environmental variables are also tracked in `ENVIRONMENT_VARIABLES` within `src/
- `UNSAFE_URLS`: Array or regular expression URLs to be excluded from access.Example: ["^.*(169.254.169.254).*","^.*(127.0.0.1).*"]

## HTTP

- `HTTP_API_PORT`: Port number for the HTTP API. Example: `8000`
- `HTTP_CERT_PATH`: Absolute path to the TLS certificate file. If provided along with `HTTP_KEY_PATH`, the node will start an HTTPS server. Example: `"/etc/letsencrypt/live/example.com/fullchain.pem"`
- `HTTP_KEY_PATH`: Absolute path to the TLS private key file. If provided along with `HTTP_CERT_PATH`, the node will start an HTTPS server. Example: `"/etc/letsencrypt/live/example.com/privkey.pem"`
Expand All @@ -78,6 +79,11 @@ Environmental variables are also tracked in `ENVIRONMENT_VARIABLES` within `src/
- `P2P_ipV6BindTcpPort`: Port used on IPv6 TCP connections. Defaults to `0` (Use whatever port is free. When running as docker, please set it explicitly). Example: `0`
- `P2P_ipV6BindWsPort`: Port used on IPv6 WS connections. Defaults to `0` (Use whatever port is free. When running as docker, please set it explicitly). Example: `0`
- `P2P_ANNOUNCE_ADDRESSES`: List of addresses to announce to the network. Example: `"[\"/ip4/1.2.3.4/tcp/8000\"]"`

To enable SNI (Server Name Indication) with autoTLS, include `/tls/ws` or `/tls/wss` addresses:
- `"["/ip4/<your-ip-addr>/tcp/9001/tls/ws"]"` - TLS WebSocket
- `"["/ip4/<your-ip-addr>/tcp/9005/tls/wss"]"` - TLS WebSocket Secure

- `P2P_ANNOUNCE_PRIVATE`: Announce private IPs. Default: `True`
- `P2P_pubsubPeerDiscoveryInterval`: Interval (in ms) for discovery using pubsub. Defaults to `10000` (three seconds). Example: `10000`
- `P2P_dhtMaxInboundStreams`: Maximum number of DHT inbound streams. Defaults to `500`. Example: `500`
Expand Down
39 changes: 39 additions & 0 deletions docs/networking.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,45 @@ To quickly start your node, you can keep all of the default values,but most like
- if you have a private ip and you can forward external ports from your gateway, use P2P_ANNOUNCE_ADDRESSES and let other nodes know your external IP/port.
- if you cannot forward ports on your gateway, the only choice is to use a circuit relay server (then all traffic will go through that node and it will proxy)

## TLS and SNI (Server Name Indication)

AutoTLS is used to provision TLS certificates for your node in order to allow P2P node-to-browser communication.
To enable SNI with Ocean Node's autoTLS feature, include `/tls/ws` or `/tls/wss` addresses in `P2P_ANNOUNCE_ADDRESSES`:

Add to .env file

```bash
export P2P_ANNOUNCE_ADDRESSES='[
"/ip4/<your-ip-addr>/tcp/9000",
"/ip4/<your-ip-addr>/tcp/9001/tls/ws",
"/ip4/<your-ip-addr>/tcp/9005/tls/wss",
]'
```

Or in config.json file:

```json
{
"p2pConfig": {
"announceAddresses": [
"/ip4/<your-ip-addr>/tcp/9000",
"/ip4/<your-ip-addr>/tcp/9001/tls/ws",
"/ip4/<your-ip-addr>/tcp/9005/tls/wss"
]
}
}
```

When TLS certificates are provisioned, you should see logs like:

```
----- A TLS certificate was provisioned -----
----- TLS addresses: -----
/ip4/<your-ip-addr>/tcp/9001/sni/...
/ip4/<your-ip-addr>/tcp/9005/sni/...
----- End of TLS addresses -----
```

In order to check connectivity, you can do the following:

### On your node, check and observe how your node sees itself:
Expand Down
Loading
Loading