|
5 лет назад | |
---|---|---|
.github | 5 лет назад | |
bin | 6 лет назад | |
dist | 5 лет назад | |
src | 5 лет назад | |
test | 5 лет назад | |
.eslintignore | 5 лет назад | |
.eslintrc.json | 5 лет назад | |
.gitignore | 6 лет назад | |
.gitpod.yml | 5 лет назад | |
.travis.yml | 6 лет назад | |
Dockerfile | 5 лет назад | |
LICENSE | 12 лет назад | |
README.md | 5 лет назад | |
app.json | 10 лет назад | |
changelog.md | 5 лет назад | |
package-lock.json | 5 лет назад | |
package.json | 5 лет назад | |
tsconfig.json | 5 лет назад |
PeerServer helps broker connections between PeerJS clients. Data is not proxied through the server.
Run your own server on Gitpod!
npm install peer
git clone https://github.com/peers/peerjs-server.git#master
npm install
Run the server:
$> peerjs --port 9000 --key peerjs --path /myapp
Or, create a custom server:
$> npm install peerjs-server
import {PeerServer} from 'peerjs-server';
const server = PeerServer({port: 9000, path: '/myapp'});
<script>
const peer = new Peer('someid', {host: 'localhost', port: 9000, path: '/myapp'});
</script>
import fs from 'fs';
import {PeerServer} from 'peerjs-server';
const server = PeerServer({
port: 9000,
ssl: {
key: fs.readFileSync('/path/to/your/ssl/key/here.key'),
cert: fs.readFileSync('/path/to/your/ssl/certificate/here.crt')
}
});
Make sure to set the proxied
option, otherwise IP based limiting will fail.
The option is passed verbatim to the
expressjs trust proxy
setting
if it is truthy.
import {PeerServer} from 'peerjs-server';
const server = PeerServer({port: 9000, path: '/myapp', proxied: true});
You can specify a custom function to use to generate client IDs.
const genRandomId = () => {
// Original generation algorithm
return (Math.random().toString(36) + '0000000000000000000').substr(2, 16);
}
const server = PeerServer({port: 9000, path: '/myapp', proxied: true, genRandomId: genRandomId });
import express from 'express';
import {ExpressPeerServer} from 'peerjs-server';
const app = express();
app.get('/', (req, res, next) => { res.send('Hello world!'); });
// =======
const server = app.listen(9000);
const options = {
debug: true
}
const peerserver = ExpressPeerServer(server, options);
app.use('/api', peerserver);
// == OR ==
import http from 'http';
const server = http.createServer(app);
const peerserver = ExpressPeerServer(server, options);
app.use('/peerjs', peerserver);
server.listen(9000);
// ========
The 'connection'
event is emitted when a peer connects to the server.
peerserver.on('connection', (client) => { ... });
The 'disconnect'
event is emitted when a peer disconnects from the server or
when the peer can no longer be reached.
peerserver.on('disconnect', (client) => { ... });
npm test
You can build this image simply by calling:
docker build -t peerjs https://github.com/peers/peerjs-server.git
To run the image execute this:
docker run -p 9000:9000 -d peerjs
This will start a peerjs server on port 9000 exposed on port 9000.
Discuss PeerJS on our Telegram chat: https://t.me/joinchat/ENhPuhTvhm8WlIxTjQf7Og
Please post any bugs as a Github issue.