mirror of
https://github.com/hzrd149/nostrudel.git
synced 2025-04-09 12:28:26 +02:00
add default STUN and TURN servers
This commit is contained in:
parent
11c0ac2ca6
commit
8827c018b5
@ -18,6 +18,7 @@ export default class NostrWebRtcBroker extends EventEmitter<EventMap> {
|
||||
signer: Signer;
|
||||
pool: Pool;
|
||||
defaultRelays: string[];
|
||||
iceServers: RTCIceServer[] = [];
|
||||
|
||||
peers = new Map<string, NostrWebRTCPeer>();
|
||||
signers = new Map<string, Signer>();
|
||||
@ -53,7 +54,12 @@ export default class NostrWebRtcBroker extends EventEmitter<EventMap> {
|
||||
if (relays.length > 0) this.relays.set(pubkey, relays);
|
||||
else this.relays.set(pubkey, this.defaultRelays);
|
||||
|
||||
const peer = new NostrWebRTCPeer(signer, this.pool, relays.length > 0 ? relays : this.defaultRelays);
|
||||
const peer = new NostrWebRTCPeer(
|
||||
signer,
|
||||
this.pool,
|
||||
relays.length > 0 ? relays : this.defaultRelays,
|
||||
this.iceServers,
|
||||
);
|
||||
this.peers.set(pubkey, peer);
|
||||
await peer.makeCall(pubkey);
|
||||
|
||||
|
14
src/const.ts
14
src/const.ts
@ -12,3 +12,17 @@ export const COMMON_CONTACT_RELAY = safeRelayUrl("wss://purplepag.es") as string
|
||||
export const COMMON_CONTACT_RELAYS = [COMMON_CONTACT_RELAY];
|
||||
|
||||
export const DEFAULT_SIGNAL_RELAYS = safeRelayUrls(["wss://nostrue.com/", "wss://relay.damus.io"]);
|
||||
|
||||
export const DEFAULT_ICE_SERVERS: RTCIceServer[] = [
|
||||
{
|
||||
urls: ["stun:freeturn.net:3479"],
|
||||
},
|
||||
{
|
||||
urls: ["turn:freeturn.net:3479"],
|
||||
username: "free",
|
||||
credential: "free",
|
||||
},
|
||||
{
|
||||
urls: ["stun:stun.l.google.com:19302"],
|
||||
},
|
||||
];
|
||||
|
@ -10,6 +10,7 @@ import SimpleSigner from "../classes/simple-signer";
|
||||
import { localRelay } from "./local-relay";
|
||||
import localSettings from "./local-settings";
|
||||
import NostrWebRTCPeer from "../classes/nostr-webrtc-peer";
|
||||
import { DEFAULT_ICE_SERVERS } from "../const";
|
||||
|
||||
class WebRtcRelaysService {
|
||||
log = logger.extend("NostrWebRtcBroker");
|
||||
@ -126,11 +127,10 @@ class WebRtcRelaysService {
|
||||
}
|
||||
|
||||
const signer = new SimpleSigner(localSettings.webRtcLocalIdentity.value);
|
||||
const broker = new NostrWebRtcBroker(signer, new SimplePool(), ["wss://nos.lol", "wss://nostrue.com"]);
|
||||
broker.iceServers = DEFAULT_ICE_SERVERS;
|
||||
|
||||
const webRtcRelaysService = new WebRtcRelaysService(
|
||||
new NostrWebRtcBroker(signer, new SimplePool(), ["wss://nos.lol", "wss://nostrue.com"]),
|
||||
localRelay as AbstractRelay | null,
|
||||
);
|
||||
const webRtcRelaysService = new WebRtcRelaysService(broker, localRelay as AbstractRelay | null);
|
||||
|
||||
webRtcRelaysService.start();
|
||||
|
||||
|
@ -1,5 +1,16 @@
|
||||
import { useEffect } from "react";
|
||||
import { Alert, AlertIcon, Button, Flex, Heading, Input, Text, useForceUpdate, useInterval } from "@chakra-ui/react";
|
||||
import {
|
||||
Alert,
|
||||
AlertIcon,
|
||||
Button,
|
||||
CloseButton,
|
||||
Flex,
|
||||
Heading,
|
||||
Input,
|
||||
Text,
|
||||
useForceUpdate,
|
||||
useInterval,
|
||||
} from "@chakra-ui/react";
|
||||
import { useForm } from "react-hook-form";
|
||||
|
||||
import BackButton from "../../../components/router/back-button";
|
||||
@ -78,6 +89,13 @@ export default function WebRtcConnectView() {
|
||||
>
|
||||
Connect
|
||||
</Button>
|
||||
<CloseButton
|
||||
onClick={() =>
|
||||
localSettings.webRtcRecentConnections.next(
|
||||
localSettings.webRtcRecentConnections.value.filter((u) => u !== uri),
|
||||
)
|
||||
}
|
||||
/>
|
||||
</Flex>
|
||||
))}
|
||||
</>
|
||||
|
Loading…
x
Reference in New Issue
Block a user