Awesome JavaScript Network Awesome Build Status Donate

A 🎩 list of network layer resources written pure JS.

High level

Based, at least, in a CLI interface.

  • airpaste – 1-1 network pipe that auto discovers other peers using mdns.
  • blecat – 1-1 pipe over bluetooth low energy.
  • deejay – Music player that broadcasts to everyone on the same network.
  • dhtkv – CLI for storing arbitrary key/value data in the bittorrent mainline DHT.
  • gun – A realtime, decentralized, offline-first, graph database engine.
  • hyperpipe – Distributed input/output pipe.
  • hypervision – P2P Television.
  • instant.io – Streaming file transfer over WebTorrent.
  • ipp-printer – Create a printer on your network.
  • peercast – Like peerflix but for Chromecast.
  • peerflix – Streaming torrent client.
  • peervisionary – Stream p2p content over your local network.
  • peerwiki – browse all of wikipedia using bittorrent.
  • screencat – WebRTC screensharing app.
  • signalhub – Simple signalling server that can be used to coordinate handshaking with webrtc or other fun stuff.
  • torrent-mount – Mount a torrent (or magnet link) as a filesystem in real time using torrent-stream and fuse.
  • webcat – pipe across the web using WebRTC.
  • websocketd – Turn any program that uses stdin/stdout into a WebSocket server.
  • webtorrent – BitTorrent over WebRTC.
  • wifi-triangulate – Finds your current position on planet earth using the wifi access point.

Modules

Do one thing well.

  • airplay-server – A low level AirPlay server.
  • castnow – simple chromecast player.
  • discovery-swarm – A network swarm that uses discovery-channel to find peers. Also check webrtc-swarm.
  • dns-packet – Abstract-encoding compliant module for encoding / decoding DNS packets. Also see dns-socket.
  • etcdjs – Low level etcd v2 client written in Javascript with failover support.
  • geocode-wifi – Get yours latitude/longitude based on your wifi access point.
  • hash-to-port – Hash a value to a valid port.
  • hyperdb – Distributed scalable database.
  • ip-packet – Encode/decode raw ip packets.
  • magnet-uri – Parse a magnet URI and return an object of keys/values.
  • mutex-server - Critical section controllers, like mutex and semaphore, in the network level.
  • network-address – Get the local network address of your machine.
  • network-simulator – Simulate a low-level computer network.
  • rtsp-stream - A transport agnostic RTSP serial multiplexer module for Node.
  • simple-peer – Simple WebRTC video/voice and data channels.
  • simple-websocket – Simple, EventEmitter API for WebSockets.
  • torrent-discovery – Discover BitTorrent and WebTorrent peers.
  • torrent-stream – The low level streaming torrent engine that peerflix uses.
  • udp-packet – Encode/decode raw udp packets.
  • rpc-websockets - JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript.

Protocols

Implementation of protocols specs in pure javascript.

  • airswarm – Network swarm that automagically discovers other peers on the network using multicast dns.
  • bittorrent-dht – BitTorrent DHT protocol implementation.
  • bittorrent-protocol – BitTorrent peer wire protocol implementation.
  • bittorrent-tracker – BitTorrent tracker (client & server) implementation
  • bonjour – A Bonjour/Zeroconf protocol implementation.
  • castv2 – An implementation of the Chromecast CASTV2 protocol.
  • dht-rpc – Make RPC calls over a Kademlia based DHT.
  • dns-discovery – Discovery peers in a distributed system using regular dns and multicast dns.
  • hypercore – A p2p network for distributing and replicating static feeds of binary data.
  • ipfs – The InterPlanetary File System, a new peer-to-peer hypermedia protocol.
  • k-bucket – Kademlia DHT K-bucket implementation as a binary tree.
  • k-rpc – Implementation of the k-rpc protocol used the BitTorrent DHT. Also see k-rpc-socket.
  • mdns – mdns/zeroconf/bonjour service discovery.
  • multicast-dns – Low level multicast-dns implementation.
  • peervision – Live p2p streaming protocol.
  • polo – A zero configuration service discovery module.
  • rtsp-server – A low level module for creating RTSP servers.
  • utp-native – micro transport protocol, a network protocol similar to tcp that runs on top of udp.