Product
Introducing License Enforcement in Socket
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
multiaddr implementation (binary + string representation of network addresses)
[ ](https://travis-ci.org/diasdavid/js-multiaddr)
multiaddr implementation in JavaScript.
$ npm install --save multiaddr
var multiaddr = require('multiaddr')
Same as in Node.js, you just have to browserify the code before serving it. See the browserify repo for how to do that.
<script>
tagMake the multiaddr.min.js available through your server and load it using a normal <script>
tag, this will export the multiaddr
on the window
object, such that:
var multiaddr = window.multiaddr
You will need to use Node.js Buffer
API compatible, if you are running inside the browser, you can access it by multiaddr.Buffer
or you can install Feross's Buffer.
var multiaddr = require('multiaddr')
var addr = multiaddr("/ip4/127.0.0.1/udp/1234")
// <Multiaddr /ip4/127.0.0.1/udp/1234>
addr.buffer
// <Buffer >
addr.toString()
// /ip4/127.0.0.1/udp/1234
// construct with Buffer
addr = multiaddr(addr.buffer)
// <Multiaddr /ip4/127.0.0.1/udp/1234>
// get the multiaddr protocol codes
addr.protoCodes()
// [4, 6]
// get the multiaddr protocol string codes
addr.protoNames()
// ['ip4', 'tcp']
// get the multiaddr protocol description objects
addr.protos()
// [{code: 4, name: 'ip4', size: 32},
// {code: 17, name: 'udp', size: 16}]
// get a node friendly address object
addr.nodeAddress()
// {family: "IPv4", port:1234, address: "127.0.0.1"} - note no UDP :(
addr.fromNodeAddress({family: "IPv4", port:1234, address: "127.0.0.1"}, 'udp')
// /ip4/127.0.0.1/udp/1234
// handles the stupid string version too
addr = multiaddr.fromStupidString("udp4://127.0.0.1:1234")
// <Multiaddr /ip4/127.0.0.1/udp/1234>
addr.toStupidString(buf)
// udp4://127.0.0.1:1234
addr.encapsulate('/sctp/5678')
// <Multiaddr /ip4/127.0.0.1/udp/1234/sctp/5678>
addr.decapsulate('/udp') // up to + inc last occurrence of this subaddr
// <Multiaddr /ip4/127.0.0.1>
Multiaddr allows expressing tunnels very nicely.
var printer = multiaddr('/ip4/192.168.0.13/tcp/80')
var proxy = multiaddr('/ip4/10.20.30.40/tcp/443')
var printerOverProxy = proxy.encapsulate(printer)
// <Multiaddr /ip4/10.20.30.40/tcp/443/ip4/192.168.0.13/tcp/80>
var proxyAgain = printerOverProxy.decapsulate('/ip4')
// <Multiaddr /ip4/10.20.30.40/tcp/443>
FAQs
multiaddr implementation (binary + string representation of network addresses)
The npm package multiaddr receives a total of 65,874 weekly downloads. As such, multiaddr popularity was classified as popular.
We found that multiaddr demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 5 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Ensure open-source compliance with Socket’s License Enforcement Beta. Set up your License Policy and secure your software!
Product
We're launching a new set of license analysis and compliance features for analyzing, managing, and complying with licenses across a range of supported languages and ecosystems.
Product
We're excited to introduce Socket Optimize, a powerful CLI command to secure open source dependencies with tested, optimized package overrides.