From 7ae89e6eaed8bfd2eaed2c7c6526a9115cb6b46f Mon Sep 17 00:00:00 2001 From: Marcin Rataj Date: Tue, 29 Sep 2020 20:25:19 +0200 Subject: [PATCH] fix(js-ipfs): enable webrtc for js-ipfs this enables webrtc-based signaling and delegates for experimental js-ipfs running in extension context (non-Brave) when no custom config is provided --- add-on/src/lib/ipfs-client/embedded.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/add-on/src/lib/ipfs-client/embedded.js b/add-on/src/lib/ipfs-client/embedded.js index f66e07894..cf786f47d 100644 --- a/add-on/src/lib/ipfs-client/embedded.js +++ b/add-on/src/lib/ipfs-client/embedded.js @@ -15,6 +15,22 @@ exports.init = async function init (opts) { const defaultOpts = JSON.parse(optionDefaults.ipfsNodeConfig) const userOpts = JSON.parse(opts.ipfsNodeConfig) const ipfsOpts = mergeOptions(defaultOpts, userOpts, { start: true }) + const missing = (array) => (!Array.isArray(array) || !array.length) + const { Addresses } = ipfsOpts.config + if (missing(Addresses.Swarm)) { + Addresses.Swarm = [ + '/dns4/wrtc-star1.par.dwebops.pub/tcp/443/wss/p2p-webrtc-star', + '/dns4/wrtc-star2.sjc.dwebops.pub/tcp/443/wss/p2p-webrtc-star' + ] + } + if (missing(ipfsOpts.Delegates)) { + Addresses.Delegates = [ + '/dns4/node0.delegate.ipfs.io/tcp/443/https', + '/dns4/node1.delegate.ipfs.io/tcp/443/https', + '/dns4/node2.delegate.ipfs.io/tcp/443/https', + '/dns4/node3.delegate.ipfs.io/tcp/443/https' + ] + } node = await Ipfs.create(ipfsOpts) return node }