1
0
mirror of https://github.com/spacebarchat/server.git synced 2024-11-06 10:52:31 +01:00
Go to file
2022-06-02 16:29:56 +10:00
.docker Revert "fix: make API dockerfile use correct setup steps" 2021-10-18 14:36:57 +02:00
.github Update documents 2022-01-04 20:51:04 +03:00
api Respect register_dateOfBirth_required = false 2022-05-30 23:29:35 +10:00
bundle Merge branch 'master' into maddyrtc 2022-06-02 16:29:56 +10:00
cdn Do stuff for npm workspace 2022-04-26 22:47:35 +03:00
dashboard Do stuff for npm workspace 2022-04-26 22:47:35 +03:00
gateway Merge branch 'master' into maddyrtc 2022-06-02 16:29:56 +10:00
rtc Do stuff for npm workspace 2022-04-26 22:47:35 +03:00
util Merge branch 'master' into maddyrtc 2022-06-02 16:29:56 +10:00
webrtc Merge branch 'master' into maddyrtc 2022-06-02 16:29:56 +10:00
.dockerignore prettier formatted and simplified README links 2021-10-20 08:45:42 +09:00
.editorconfig add editor config 2021-09-02 20:18:57 +02:00
.gitignore Restore package locks 2021-12-26 16:41:22 +01:00
.prettierrc Global prettierrc, format build.js 2021-11-11 22:24:44 +01:00
COPYING Add licence file into fosscord-server repository 2021-09-14 23:50:45 +03:00
crowdin.yml prettier formatted and simplified README links 2021-10-20 08:45:42 +09:00
docker-compose.yml refactor(Docker): add working docker scripts (#671) 2022-03-08 18:10:06 +03:00
Dockerfile refactor(Docker): add working docker scripts (#671) 2022-03-08 18:10:06 +03:00
fosscord-server.code-workspace prettier formatted and simplified README links 2021-10-20 08:45:42 +09:00
nginx.conf Improvements + dummy API configs 2021-12-18 15:19:07 +03:00
package.json Hotfix for workspace (#739) 2022-04-27 23:09:01 +03:00
README.md Added README, added more UDP decryption stuff 2022-04-22 15:02:40 +10:00

Fosscord Server

Install

Setup fosscord-server as normal ( existing installations are fine, if you run voice on the same server on port 3004 you don't need to edit the regions_available_0_endpoint record of config )

Note: currently everything about webrtc is commented out ( because I was lazy ) If you want to test that, you're gonna have to do some fiddling, shouldn't be toooo difficult ( check SelectProtocols.ts, Identify.ts and theres probably smth in Server.ts I forgot about ). Also also make sure you set the listenIps in Identify.ts properly because otherwise the transport won't start

cd webrtc
ts-node src/start.ts # don't think the build script works lol

Current problems / setup / etc:

  • Webrtc DTLS fails to properly connect with browser voice. The handshake completes and is labeled completed by chrome://webrtc-internals, however mediasoup drops all RTP packets as the 'handshake is not completed' yet.

  • After the desktop client updates it's VoiceState to join a voice channel, upon leaving the VoiceState will not update to match, and the client is prevented from joining any new voice channels. The client also continuously plays the voice disconnected notification sound. Video demo

  • Desktop client cannot properly connect to voice/media servers due to the above, but also because somewhere in my signalling there is a problem. I haven't looked much into it.

  • When the client does magically decide to try to connect, it connects to signalling but then throws an error client-side about this.conn.setSelfMute not being a function

  • I have instead been testing voice using a fork of the reverse engineered client from this article, with some slight modifications ( I think it was just changing the email field the client uses to login from email -> login. Todo: these could be aliases in fosscord-server? )

  • This client can join a channel, connect to signalling, and does send packets to the UDP server. However, I can't seem to get decrpytion to work. As far as I know, I'm using the same key I'm sending. It turns out the client converts the secret_key: Number[] received into a string, but doing the same on the server-side before passing to the decrpyt method still just complains about a key mismatch.

Resources: