Skip to content

Commit 4b082ce

Browse files
committed
add readme
1 parent 94a4b8a commit 4b082ce

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# EaglerRelayJS
2+
3+
Eaglercraft relay server implementation written in TypeScript
4+
5+
> [!NOTE]
6+
> **Most of the code was ported directly from the original java implementation, so there will probably be some bugs I missed.**
7+
8+
## Features:
9+
- [x] Base relay server
10+
- [x] IP forwarding
11+
- [x] Origin whitelist
12+
- [x] Join code customization
13+
- [x] STUN / TURN server support
14+
- ~~[] Rate limiting~~
15+
16+
## Usage:
17+
18+
### Standalone
19+
```sh
20+
$ npm install -g eaglerrelayjs
21+
$ mkdir -p relay
22+
$ cd relay
23+
$ eaglerrelayjs --port 8080
24+
```
25+
26+
### Existing App
27+
```js
28+
const http = require('http');
29+
const express = require('express');
30+
const { EaglerSPRelay } = require('eaglerrelayjs');
31+
32+
const app = express();
33+
const server = http.createServer(app);
34+
const relay = new EaglerSPRelay({ debug: true });
35+
36+
app.use((_req, res) => {
37+
res.set('Content-Type', 'text/plain');
38+
res.status(426).end('Upgrade Required');
39+
});
40+
41+
server.on('upgrade', (req, socket, head) => relay.handleUpgrade(req, socket, head));
42+
server.listen(8080);
43+
```
44+
45+
## Contributing:
46+
Contributions are welcome, but please keep the code style consistent.

0 commit comments

Comments
 (0)