{"id":22792160,"url":"https://github.com/craiggleso/empireengine","last_synced_at":"2026-06-08T16:06:07.807Z","repository":{"id":57224916,"uuid":"79038158","full_name":"CraigglesO/EmpireEngine","owner":"CraigglesO","description":"Let's build a connected world together","archived":false,"fork":false,"pushed_at":"2019-08-16T18:37:59.000Z","size":16055,"stargazers_count":2,"open_issues_count":14,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-05T20:35:56.168Z","etag":null,"topics":["empire","engine","p2p","webrtc","websocket"],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"isc","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CraigglesO.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-01-15T14:37:30.000Z","updated_at":"2021-02-16T06:51:15.000Z","dependencies_parsed_at":"2022-08-24T11:01:05.168Z","dependency_job_id":null,"html_url":"https://github.com/CraigglesO/EmpireEngine","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraigglesO%2FEmpireEngine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraigglesO%2FEmpireEngine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraigglesO%2FEmpireEngine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CraigglesO%2FEmpireEngine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CraigglesO","download_url":"https://codeload.github.com/CraigglesO/EmpireEngine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246351016,"owners_count":20763232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["empire","engine","p2p","webrtc","websocket"],"created_at":"2024-12-12T03:09:56.582Z","updated_at":"2026-06-08T16:06:07.769Z","avatar_url":"https://github.com/CraigglesO.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Empire Engine [![travis][travis-image]][travis-url] [![npm][npm-image]][npm-url]  [![downloads][downloads-image]][downloads-url] [![Greenkeeper badge](https://badges.greenkeeper.io/CraigglesO/EmpireEngine.svg)](https://greenkeeper.io/)\n\n[travis-image]: https://travis-ci.org/CraigglesO/EmpireEngine.svg?branch=master\n[travis-url]: https://travis-ci.org/CraigglesO/EmpireEngine\n[npm-image]: https://img.shields.io/npm/v/empire-engine.svg\n[npm-url]: https://npmjs.org/package/empire-engine\n[downloads-image]: https://img.shields.io/npm/dm/empire-engine.svg\n[downloads-url]: https://npmjs.org/package/empire-engine\n\n### Let's build a connected world together\n\nThis is the underlining engine that fuels our P2P connections.\n\n## Install\n\n``` javascript\nnpm install empire-engine\n```\n\n## Usage\n``` javascript\nconst Empire = require(\"empire-engine\").default; // CommonJS\n\n\nlet E = new Empire();\n\n```\n\n\n\n\n#### Modules\n\nThese are the main modules that make up Empire:\n\n| module | tests | version | description |\n|---|---|---|---|\n| **[EmpireEngine][EmpireEngine]** | [![][EmpireEngine-ti]][EmpireEngine-tu] | [![][empireengine-ni]][empireengine-nu] | **Torrent Client Engine (this module)**\n| [peer-tracker][peer-tracker] | [![][peer-tracker-ti]][peer-tracker-tu] | [![][peer-tracker-ni]][peer-tracker-nu] | The first persistent Bittorent Tracker\n| [bittorrent-wire][bittorrent-wire] | [![][bittorrent-wire-ti]][bittorrent-wire-tu] | [![][bittorrent-wire-ni]][bittorrent-wire-nu] | stream ready Bittorrent Protocol\n| [webRTC-Socket][webRTC-Socket] | [![][webRTC-Socket-ti]][webRTC-Socket-tu] | [![][webRTC-Socket-ni]][webRTC-Socket-nu] | Send WebRTC data to and from users\n| [ut-extensions][ut-extensions] | [![][ut-extensions-ti]][ut-extensions-tu] | [![][ut-extensions-ni]][ut-extensions-nu] | Extensions for The Bittorent Protocol\n| [torrent-piece-handler][torrent-piece-handler] | [![][torrent-piece-handler-ti]][torrent-piece-handler-tu] | [![][torrent-piece-handler-ni]][torrent-piece-handler-nu] | Quickly prep for downloads without polluting your code.\n| [binary-bitfield][binary-bitfield] | [![][binary-bitfield-ti]][binary-bitfield-tu] | [![][binary-bitfield-ni]][binary-bitfield-nu] | Track the blocks downloaded\n| [torrent-parser][torrent-parser] | [![][torrent-parser-ti]][torrent-parser-tu] | [![][torrent-parser-ni]][torrent-parser-nu] | Parse torrents and create torrent files\n| [parse-magnet-uri][parse-magnet-uri] | [![][parse-magnet-uri-ti]][parse-magnet-uri-tu] | [![][parse-magnet-uri-ni]][parse-magnet-uri-nu] | Parse a magnet link to something useful for a Bittorent app\n\n[EmpireEngine]:    https://github.com/CraigglesO/EmpireEngine\n[EmpireEngine-ti]: https://img.shields.io/travis/CraigglesO/EmpireEngine/master.svg\n[EmpireEngine-tu]: https://travis-ci.org/CraigglesO/EmpireEngine\n[empireengine-ni]: https://img.shields.io/npm/v/empireengine.svg\n[empireengine-nu]: https://www.npmjs.com/package/empireengine\n\n[peer-tracker]:    https://github.com/CraigglesO/peer-tracker\n[peer-tracker-ti]: https://travis-ci.org/CraigglesO/peer-tracker.svg?branch=master\n[peer-tracker-tu]: https://travis-ci.org/CraigglesO/peer-tracker\n[peer-tracker-ni]: https://img.shields.io/npm/v/peer-tracker.svg\n[peer-tracker-nu]: https://npmjs.org/package/peer-tracker\n\n[bittorrent-wire]:    https://github.com/CraigglesO/bittorrent-wire\n[bittorrent-wire-ti]: https://travis-ci.org/CraigglesO/bittorrent-wire.svg?branch=master\n[bittorrent-wire-tu]: https://travis-ci.org/CraigglesO/bittorrent-wire\n[bittorrent-wire-ni]: https://img.shields.io/npm/v/bittorrent-wire.svg\n[bittorrent-wire-nu]: https://npmjs.org/package/bittorrent-wire\n\n[webRTC-Socket]:    https://github.com/CraigglesO/webRTC-Socket\n[webRTC-Socket-ti]: https://travis-ci.org/CraigglesO/webRTC-Socket.svg?branch=master\n[webRTC-Socket-tu]: https://travis-ci.org/CraigglesO/webRTC-Socket\n[webRTC-Socket-ni]: https://img.shields.io/npm/v/webrtc-socket.svg\n[webRTC-Socket-nu]: https://npmjs.org/package/webrtc-socket\n\n[ut-extensions]:    https://github.com/CraigglesO/ut-extensions\n[ut-extensions-ti]: https://travis-ci.org/CraigglesO/ut-extensions.svg?branch=master\n[ut-extensions-tu]: https://travis-ci.org/CraigglesO/ut-extensions\n[ut-extensions-ni]: https://img.shields.io/npm/v/ut-extensions.svg\n[ut-extensions-nu]: https://npmjs.org/package/ut-extensions\n\n[torrent-piece-handler]:    https://github.com/CraigglesO/torrent-piece-handler\n[torrent-piece-handler-ti]: https://travis-ci.org/CraigglesO/torrent-piece-handler.svg?branch=master\n[torrent-piece-handler-tu]: https://travis-ci.org/CraigglesO/torrent-piece-handler\n[torrent-piece-handler-ni]: https://img.shields.io/npm/v/torrent-piece-handler.svg\n[torrent-piece-handler-nu]: https://npmjs.org/package/torrent-piece-handler\n\n[binary-bitfield]:    https://github.com/CraigglesO/binary-bitfield\n[binary-bitfield-ti]: https://travis-ci.org/CraigglesO/binary-bitfield.svg?branch=master\n[binary-bitfield-tu]: https://travis-ci.org/CraigglesO/binary-bitfield\n[binary-bitfield-ni]: https://img.shields.io/npm/v/binary-bitfield.svg\n[binary-bitfield-nu]: https://npmjs.org/package/binary-bitfield\n\n[torrent-parser]:    https://github.com/CraigglesO/torrent-parser\n[torrent-parser-ti]: https://travis-ci.org/CraigglesO/torrent-parser.svg?branch=master\n[torrent-parser-tu]: https://travis-ci.org/CraigglesO/torrent-parser\n[torrent-parser-ni]: https://img.shields.io/npm/v/torrent-parser.svg\n[torrent-parser-nu]: https://npmjs.org/package/torrent-parser\n\n[parse-magnet-uri]:    https://github.com/CraigglesO/parse-magnet-uri\n[parse-magnet-uri-ti]: https://travis-ci.org/CraigglesO/parse-magnet-uri.svg?branch=master\n[parse-magnet-uri-tu]: https://travis-ci.org/CraigglesO/parse-magnet-uri\n[parse-magnet-uri-ni]: https://img.shields.io/npm/v/parse-magnet-uri.svg\n[parse-magnet-uri-nu]: https://npmjs.org/package/parse-magnet-uri\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraiggleso%2Fempireengine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcraiggleso%2Fempireengine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcraiggleso%2Fempireengine/lists"}