summary refs log tree commit diff
path: root/webrtc/src
diff options
context:
space:
mode:
Diffstat (limited to 'webrtc/src')
-rw-r--r--webrtc/src/Server.ts43
-rw-r--r--webrtc/src/index.ts0
-rw-r--r--webrtc/src/start.ts3
-rw-r--r--webrtc/src/test.ts8
4 files changed, 54 insertions, 0 deletions
diff --git a/webrtc/src/Server.ts b/webrtc/src/Server.ts
new file mode 100644
index 00000000..bb82e659
--- /dev/null
+++ b/webrtc/src/Server.ts
@@ -0,0 +1,43 @@
+import { Server as WebSocketServer } from "ws";
+import { Config, db } from "@fosscord/server-util";
+import mediasoup from "mediasoup"
+
+var port = Number(process.env.PORT);
+if (isNaN(port)) port = 3004;
+
+export class Server {
+	public ws: WebSocketServer;
+	public turn: any;
+
+	constructor() {
+		this.ws = new WebSocketServer({
+			port,
+			maxPayload: 4096,
+		});
+		this.ws.on("connection", (socket) => {
+			socket.on("message", (message) => {
+				socket.emit(
+					JSON.stringify({
+						op: 2,
+						d: {
+							ssrc: 1,
+							ip: "127.0.0.1",
+							port: 3004,
+							modes: ["xsalsa20_poly1305", "xsalsa20_poly1305_suffix", "xsalsa20_poly1305_lite"],
+							heartbeat_interval: 1,
+						},
+					})
+				);
+			});
+		});
+
+	}
+
+	async listen(): Promise<void> {
+		// @ts-ignore
+		await (db as Promise<Connection>);
+		await Config.init();
+		console.log("[DB] connected");
+		console.log(`[WebRTC] online on 0.0.0.0:${port}`);
+	}
+}
diff --git a/webrtc/src/index.ts b/webrtc/src/index.ts
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/webrtc/src/index.ts
diff --git a/webrtc/src/start.ts b/webrtc/src/start.ts
new file mode 100644
index 00000000..68867a2c
--- /dev/null
+++ b/webrtc/src/start.ts
@@ -0,0 +1,3 @@
+import { Server } from "./Server";
+
+const server = new Server();
diff --git a/webrtc/src/test.ts b/webrtc/src/test.ts
new file mode 100644
index 00000000..df407b56
--- /dev/null
+++ b/webrtc/src/test.ts
@@ -0,0 +1,8 @@
+import { getSupportedRtpCapabilities } from "mediasoup";
+
+async function test() {
+	console.log(getSupportedRtpCapabilities());
+}
+setTimeout(() => {}, 1000000);
+
+test();