80 lines
7.3 KiB
Markdown
80 lines
7.3 KiB
Markdown
# Awesome JavaScript Network [](https://github.com/Kikobeats/awesome-network-js) [](https://travis-ci.org/Kikobeats/awesome-network-js) [](https://paypal.me/kikobeats)
|
||
|
||
> A 🎩 list of network layer resources written pure JS.
|
||
|
||
## High level
|
||
|
||
> Based, at least, in a CLI interface.
|
||
|
||
* [airpaste](https://github.com/mafintosh/airpaste) – 1-1 network pipe that auto discovers other peers using mdns.
|
||
* [blecat](https://github.com/mafintosh/blecat) – 1-1 pipe over bluetooth low energy.
|
||
* [deejay](https://github.com/mafintosh/deejay) – Music player that broadcasts to everyone on the same network.
|
||
* [dhtkv](https://github.com/maxogden/dhtkv) – CLI for storing arbitrary key/value data in the bittorrent mainline DHT.
|
||
* [gun](https://github.com/amark/gun) – A realtime, decentralized, offline-first, graph database engine.
|
||
* [hyperpipe](https://github.com/mafintosh/hyperpipe) – Distributed input/output pipe.
|
||
* [hypervision](https://github.com/mafintosh/hypervision) – P2P Television.
|
||
* [instant.io](https://github.com/webtorrent/instant.io) – Streaming file transfer over WebTorrent.
|
||
* [ipp-printer](https://github.com/watson/ipp-printer) – Create a printer on your network.
|
||
* [peercast](https://github.com/mafintosh/peercast) – Like peerflix but for Chromecast.
|
||
* [peerflix](https://github.com/mafintosh/peerflix) – Streaming torrent client.
|
||
* [peervisionary](https://github.com/mafintosh/peervisionary) – Stream p2p content over your local network.
|
||
* [peerwiki](https://github.com/mafintosh/peerwiki) – browse all of wikipedia using bittorrent.
|
||
* [screencat](https://github.com/maxogden/screencat) – WebRTC screensharing app.
|
||
* [signalhub](https://github.com/mafintosh/signalhub) – Simple signalling server that can be used to coordinate handshaking with webrtc or other fun stuff.
|
||
* [torrent-mount](https://github.com/mafintosh/torrent-mount) – Mount a torrent (or magnet link) as a filesystem in real time using torrent-stream and fuse.
|
||
* [webcat](https://github.com/mafintosh/webcat) – pipe across the web using WebRTC.
|
||
* [websocketd](https://github.com/joewalnes/websocketd) – Turn any program that uses stdin/stdout into a WebSocket server.
|
||
* [webtorrent](https://github.com/webtorrent/webtorrent) – BitTorrent over WebRTC.
|
||
* [wifi-triangulate](https://github.com/watson/wifi-triangulate) – Finds your current position on planet earth using the wifi access point.
|
||
|
||
## Modules
|
||
|
||
> Do one thing well.
|
||
|
||
* [airplay-server](https://github.com/watson/airplay-server) – A low level AirPlay server.
|
||
* [castnow](https://github.com/xat/chromecast-player) – simple chromecast player.
|
||
* [discovery-swarm](https://github.com/mafintosh/discovery-swarm) – A network swarm that uses [discovery-channel](https://github.com/maxogden/discovery-channel) to find peers. Also check [webrtc-swarm](https://github.com/mafintosh/webrtc-swarm).
|
||
* [dns-packet](https://github.com/mafintosh/dns-packet) – Abstract-encoding compliant module for encoding / decoding DNS packets. Also see [dns-socket](https://github.com/mafintosh/dns-socket).
|
||
* [etcdjs](https://github.com/mafintosh/etcdjs) – Low level etcd v2 client written in Javascript with failover support.
|
||
* [geocode-wifi](https://github.com/watson/geocode-wifi) – Get yours latitude/longitude based on your wifi access point.
|
||
* [hash-to-port](https://github.com/mafintosh/hash-to-port) – Hash a value to a valid port.
|
||
* [hyperdb](https://github.com/mafintosh/hyperdb) – Distributed scalable database.
|
||
* [ip-packet](https://github.com/mafintosh/ip-packet) – Encode/decode raw ip packets.
|
||
* [magnet-uri](https://github.com/webtorrent/magnet-uri) – Parse a magnet URI and return an object of keys/values.
|
||
* [mutex-server](https://github.com/samchon/mutex-server) - Critical section controllers, like mutex and semaphore, in the network level.
|
||
* [network-address](https://github.com/mafintosh/network-address) – Get the local network address of your machine.
|
||
* [network-simulator](https://github.com/substack/network-simulator) – Simulate a low-level computer network.
|
||
* [rtsp-stream](https://github.com/watson/rtsp-stream) - A transport agnostic RTSP serial multiplexer module for Node.
|
||
* [simple-peer](https://github.com/feross/simple-peer) – Simple WebRTC video/voice and data channels.
|
||
* [simple-websocket](https://github.com/feross/simple-websocket) – Simple, EventEmitter API for WebSockets.
|
||
* [torrent-discovery](https://github.com/webtorrent/torrent-discovery) – Discover BitTorrent and WebTorrent peers.
|
||
* [torrent-stream](https://github.com/mafintosh/torrent-stream) – The low level streaming torrent engine that peerflix uses.
|
||
* [udp-packet](https://github.com/substack/udp-packet) – Encode/decode raw udp packets.
|
||
* [rpc-websockets](https://github.com/elpheria/rpc-websockets) - JSON-RPC 2.0 implementation over WebSockets for Node.js and JavaScript.
|
||
|
||
## Protocols
|
||
|
||
> Implementation of protocols specs in pure javascript.
|
||
|
||
* [airswarm](https://github.com/mafintosh/airswarm) – Network swarm that automagically discovers other peers on the network using multicast dns.
|
||
* [bittorrent-dht](https://github.com/webtorrent/bittorrent-dht) – BitTorrent DHT protocol implementation.
|
||
* [bittorrent-protocol](https://github.com/webtorrent/bittorrent-protocol) – BitTorrent peer wire protocol implementation.
|
||
* [bittorrent-tracker](https://github.com/webtorrent/bittorrent-tracker) – BitTorrent tracker (client & server) implementation
|
||
* [bonjour](https://github.com/watson/bonjour) – A Bonjour/Zeroconf protocol implementation.
|
||
* [castv2](https://github.com/thibauts/node-castv2) – An implementation of the Chromecast CASTV2 protocol.
|
||
* [dht-rpc](https://github.com/mafintosh/dht-rpc) – Make RPC calls over a [Kademlia](https://pdos.csail.mit.edu/~petar/papers/maymounkov-kademlia-lncs.pdf) based DHT.
|
||
* [dns-discovery](https://github.com/mafintosh/dns-discovery) – Discovery peers in a distributed system using regular dns and multicast dns.
|
||
* [hypercore](https://github.com/mafintosh/hypercore) – A p2p network for distributing and replicating static feeds of binary data.
|
||
* [ipfs](https://github.com/ipfs/js-ipfs-api) – The InterPlanetary File System, a new peer-to-peer hypermedia protocol.
|
||
* [k-bucket](https://github.com/tristanls/k-bucket) – Kademlia DHT K-bucket implementation as a binary tree.
|
||
* [k-rpc](https://github.com/mafintosh/k-rpc) – Implementation of the k-rpc protocol used the BitTorrent DHT. Also see [k-rpc-socket](https://github.com/mafintosh/k-rpc-socket).
|
||
* [mdns](https://github.com/agnat/node_mdns) – mdns/zeroconf/bonjour service discovery.
|
||
* [multicast-dns](https://github.com/mafintosh/multicast-dns) – Low level multicast-dns implementation.
|
||
* [peervision](https://github.com/mafintosh/peervision) – Live p2p streaming protocol.
|
||
* [polo](https://github.com/mafintosh/polo) – A zero configuration service discovery module.
|
||
* [rtsp-server](https://github.com/watson/rtsp-server) – A low level module for creating RTSP servers.
|
||
* [utp-native](https://github.com/mafintosh/utp-native) – micro transport protocol, a network protocol similar to tcp that runs on top of udp.
|
||
|
||
[networkjs.md Github](https://github.com/Kikobeats/awesome-network-js
|
||
)
|