Random webrtc crap
This commit is contained in:
parent
8bfdc58277
commit
ebbb2653ee
@ -1,6 +1,6 @@
|
|||||||
import { CLOSECODES, Payload, Send, WebSocket } from "@fosscord/gateway";
|
import { CLOSECODES, Payload, Send, WebSocket } from "@fosscord/gateway";
|
||||||
import { validateSchema, VoiceIdentifySchema, VoiceState } from "@fosscord/util";
|
import { validateSchema, VoiceIdentifySchema, VoiceState } from "@fosscord/util";
|
||||||
import { endpoint, getClients, VoiceOPCodes } from "@fosscord/webrtc";
|
import { endpoint, getClients, VoiceOPCodes, PublicIP } from "@fosscord/webrtc";
|
||||||
import SemanticSDP from "semantic-sdp";
|
import SemanticSDP from "semantic-sdp";
|
||||||
const defaultSDP = require("./sdp.json");
|
const defaultSDP = require("./sdp.json");
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ export async function onIdentify(this: WebSocket, data: Payload) {
|
|||||||
clearTimeout(this.readyTimeout);
|
clearTimeout(this.readyTimeout);
|
||||||
const { server_id, user_id, session_id, token, streams, video } = validateSchema("VoiceIdentifySchema", data.d) as VoiceIdentifySchema;
|
const { server_id, user_id, session_id, token, streams, video } = validateSchema("VoiceIdentifySchema", data.d) as VoiceIdentifySchema;
|
||||||
|
|
||||||
const voiceState = await VoiceState.findOne({ guild_id: server_id, user_id, token, session_id });
|
const voiceState = await VoiceState.findOne({ where: { guild_id: server_id, user_id, token, session_id } });
|
||||||
if (!voiceState) return this.close(CLOSECODES.Authentication_failed);
|
if (!voiceState) return this.close(CLOSECODES.Authentication_failed);
|
||||||
|
|
||||||
this.user_id = user_id;
|
this.user_id = user_id;
|
||||||
@ -53,7 +53,7 @@ export async function onIdentify(this: WebSocket, data: Payload) {
|
|||||||
"xsalsa20_poly1305_suffix",
|
"xsalsa20_poly1305_suffix",
|
||||||
"xsalsa20_poly1305"
|
"xsalsa20_poly1305"
|
||||||
],
|
],
|
||||||
ip: "127.0.0.1",
|
ip: PublicIP,
|
||||||
experiments: []
|
experiments: []
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
import { Payload, Send, WebSocket } from "@fosscord/gateway";
|
import { Payload, Send, WebSocket } from "@fosscord/gateway";
|
||||||
import { SelectProtocolSchema, validateSchema } from "@fosscord/util";
|
import { SelectProtocolSchema, validateSchema } from "@fosscord/util";
|
||||||
import { endpoint, PublicIP, VoiceOPCodes } from "@fosscord/webrtc";
|
import { endpoint, PublicIP, VoiceOPCodes } from "@fosscord/webrtc";
|
||||||
import SemanticSDP from "semantic-sdp";
|
import SemanticSDP, { MediaInfo, SDPInfo } from "semantic-sdp";
|
||||||
|
|
||||||
export async function onSelectProtocol(this: WebSocket, payload: Payload) {
|
export async function onSelectProtocol(this: WebSocket, payload: Payload) {
|
||||||
if (!this.client) return;
|
if (!this.client) return;
|
||||||
@ -24,15 +24,15 @@ export async function onSelectProtocol(this: WebSocket, payload: Payload) {
|
|||||||
const candidates = transport.getLocalCandidates();
|
const candidates = transport.getLocalCandidates();
|
||||||
const candidate = candidates[0];
|
const candidate = candidates[0];
|
||||||
|
|
||||||
const answer = `m=audio ${port} ICE/SDP
|
const answer =
|
||||||
a=fingerprint:${fingerprint}
|
`m=audio ${port} ICE/SDP`
|
||||||
c=IN IP4 ${PublicIP}
|
+ `a=fingerprint:${fingerprint}`
|
||||||
a=rtcp:${port}
|
+ `c=IN IP4 ${PublicIP}`
|
||||||
a=ice-ufrag:${ice.getUfrag()}
|
+ `a=rtcp:${port}`
|
||||||
a=ice-pwd:${ice.getPwd()}
|
+ `a=ice-ufrag:${ice.getUfrag()}`
|
||||||
a=fingerprint:${fingerprint}
|
+ `a=ice-pwd:${ice.getPwd()}`
|
||||||
a=candidate:1 1 ${candidate.getTransport()} ${candidate.getFoundation()} ${candidate.getAddress()} ${candidate.getPort()} typ host
|
+ `a=fingerprint:${fingerprint}`
|
||||||
`;
|
+ `a=candidate:1 1 ${candidate.getTransport()} ${candidate.getFoundation()} ${candidate.getAddress()} ${candidate.getPort()} typ host`;
|
||||||
|
|
||||||
await Send(this, {
|
await Send(this, {
|
||||||
op: VoiceOPCodes.SELECT_PROTOCOL_ACK,
|
op: VoiceOPCodes.SELECT_PROTOCOL_ACK,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user