Skip to content
This repository was archived by the owner on Apr 24, 2023. It is now read-only.

Commit 914f006

Browse files
dryajovdaviddias
authored andcommitted
feat: skip p2p-circuit addresses (#15)
* feat: skip p2p-circuit addresses * test: use new aegir * misc: adding .aegir file
1 parent 2ff6898 commit 914f006

File tree

4 files changed

+51
-16
lines changed

4 files changed

+51
-16
lines changed

.aegir.js

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
'use strict'
2+
3+
const WebRTCDirect = require('./src')
4+
const pull = require('pull-stream')
5+
const multiaddr = require('multiaddr')
6+
7+
const ma = multiaddr('/ip4/127.0.0.1/tcp/12345/http/p2p-webrtc-direct')
8+
let listener
9+
10+
function boot (done) {
11+
const wd = new WebRTCDirect()
12+
listener = wd.createListener((conn) => pull(conn, conn))
13+
listener.listen(ma, done)
14+
listener.on('listening', () => {
15+
console.log('gulp listener started on:', ma.toString())
16+
})
17+
}
18+
19+
function shutdown (done) {
20+
listener.close(done)
21+
}
22+
23+
module.exports = {
24+
hooks: {
25+
pre: boot,
26+
post: shutdown
27+
}
28+
}

package.json

+15-15
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,16 @@
99
"request": "xhr"
1010
},
1111
"scripts": {
12-
"lint": "gulp lint",
13-
"build": "gulp build",
14-
"test": "gulp test --dom",
15-
"test:node": "gulp test:node",
16-
"test:browser": "gulp test:browser --dom",
17-
"release": "gulp release --dom",
18-
"release-minor": "gulp release --type minor --dom",
19-
"release-major": "gulp release --type major --dom",
20-
"coverage": "gulp coverage",
21-
"coverage-publish": "aegir-coverage publish"
12+
"lint": "aegir lint",
13+
"build": "aegir build",
14+
"test": "aegir test --target node --target browser",
15+
"test:node": "aegir test --target node",
16+
"test:browser": "aegir test --target browser",
17+
"release": "aegir test release --target node --target browser",
18+
"release-minor": "aegir release --type minor --target node --target browser",
19+
"release-major": "aegir release --type major --target node --target browser",
20+
"coverage": "aegir coverage",
21+
"coverage-publish": "aegir coverage --provider coveralls"
2222
},
2323
"pre-commit": [
2424
"lint",
@@ -44,19 +44,19 @@
4444
},
4545
"homepage": "https://github.com/libp2p/js-libp2p-webrtc-direct#readme",
4646
"devDependencies": {
47-
"aegir": "^11.0.2",
47+
"aegir": "^12.0.8",
4848
"chai": "^4.1.2",
4949
"dirty-chai": "^2.0.1",
5050
"gulp": "^3.9.1",
51+
"multiaddr": "^3.0.0",
5152
"pre-commit": "^1.2.2",
52-
"webrtcsupport": "^2.2.0",
53-
"multiaddr": "^3.0.0"
53+
"webrtcsupport": "^2.2.0"
5454
},
5555
"dependencies": {
5656
"concat-stream": "^1.6.0",
5757
"detect-node": "^2.0.3",
5858
"interface-connection": "~0.3.2",
59-
"mafmt": "^3.0.0",
59+
"mafmt": "^3.0.1",
6060
"multibase": "~0.3.4",
6161
"once": "^1.4.0",
6262
"request": "^2.81.0",
@@ -69,4 +69,4 @@
6969
"David Dias <daviddias.p@gmail.com>",
7070
"greenkeeper[bot] <greenkeeper[bot]@users.noreply.github.com>"
7171
]
72-
}
72+
}

src/index.js

+5
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,12 @@ class WebRTCDirect {
165165
if (!Array.isArray(multiaddrs)) {
166166
multiaddrs = [multiaddrs]
167167
}
168+
168169
return multiaddrs.filter((ma) => {
170+
if (ma.protoNames().indexOf('p2p-circuit') > -1) {
171+
return false
172+
}
173+
169174
return mafmt.WebRTCDirect.matches(ma)
170175
})
171176
}

test/filter.spec.js

+3-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ describe('filter', () => {
1616
multiaddr('/ip4/1.2.3.4/tcp/3456/http/p2p-webrtc-direct'),
1717
multiaddr('/ip4/127.0.0.1/tcp/9090/ws'),
1818
multiaddr('/ip4/127.0.0.1/tcp/9090/ws/p2p-webrtc-direct/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo2'),
19-
multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4')
19+
multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4'),
20+
multiaddr('/ip4/127.0.0.1/tcp/9090/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo4' +
21+
'/p2p-circuit/ipfs/QmcgpsyWgH8Y8ajJz1Cu72KnS5uo2Aa2LpzU7kinSoooo5')
2022
]
2123

2224
const filtered = wd.filter(maArr)

0 commit comments

Comments
 (0)