Code Monkey home page Code Monkey logo

Comments (14)

Chaphasilor avatar Chaphasilor commented on May 26, 2024 15

You are right and we are working on integrating an open-source TURN server to use with Zipcall :)

from decentralized-video-chat.

g0ne150 avatar g0ne150 commented on May 26, 2024 1

Hi, check out this #33

from decentralized-video-chat.

Chaphasilor avatar Chaphasilor commented on May 26, 2024 1

@JayWelsh this is because it is very common for WebRTC connections to fail because of firewall/NAT restrictions. A STUN server fixes this by resolving the IPs and relaying the traffic. Without it, many calls would fail to connect.

from decentralized-video-chat.

JayWelsh avatar JayWelsh commented on May 26, 2024 1

@Chaphasilor is the only reason why a centralised server is being used to conceal the IP address? Does the client-side application never gain knowledge of the IP address of the peer they are connecting to? If so, how is the data transfer decentralised or peer-to-peer? If the server ultimately returns the IP address of the peer to the frontend, then whether or not the IP address is in the shared link seems relatively inconsequential from a security perspective. I would like to think about how to increase the decentralisation of this application, perhaps using something like Ethereum, I appreciate you taking the time to respond. <3

from decentralized-video-chat.

ianramzy avatar ianramzy commented on May 26, 2024 1

from decentralized-video-chat.

JayWelsh avatar JayWelsh commented on May 26, 2024

Am I missing something, or does this video chat, by design, require a centralised server to handle things such as socket connections & message relaying? Is there a particular reason why it is that way? My apologies if this is a silly question.

from decentralized-video-chat.

JayWelsh avatar JayWelsh commented on May 26, 2024

@Chaphasilor Thanks for the reply, however, I am not talking about the STUN servers, I am talking about the server.js file which seems to be an additional centralised dependency beyond just the STUN servers (i.e. the clients do not seem to be handling the STUN server related activity directly, the server.js is doing significantly more than just delivering a JS bundle to the client). Am I missing something? :)

from decentralized-video-chat.

Chaphasilor avatar Chaphasilor commented on May 26, 2024

Ahh I see what you mean. This is so we can manage rooms. You couldn't find the other party without the server, because the stations simply don't know each other. And including a target IP or something similar in the shared link would be a security issue.

Normally, decentralized means that every station knows everything, or that you require access to all stations to know everything. Here the connection and data transfer is dezentralized, but connection management is handled by a central entity.

from decentralized-video-chat.

Chaphasilor avatar Chaphasilor commented on May 26, 2024

Honestly, those are questions for @ianramzy :)

from decentralized-video-chat.

ianramzy avatar ianramzy commented on May 26, 2024

@JayWelsh we could implement a lighterweight backend for just serving static files, but there needs to be what's called a 'signalling server' in the startup/connection of the two callers. I was thinking about using a firebase implementation as well. I have worked with blockchain in the past and its a pain to use, and there are a lot more mission-critical items to fix for now. :)

from decentralized-video-chat.

JayWelsh avatar JayWelsh commented on May 26, 2024

@ianramzy Thanks for the response, I am considering integrating this into a decentralised application which runs on the Ethereum Virtual Machine, but it would need to be decentralised in order for me to do that. The homepage of zipcall.io says "No Server Needed" but what is being said in this thread seems to be in contravention to that. I am happy to do the blockchain-related work, I don't find it to be a pain and am quite comfortable using Ethereum. Firebase would definitely not be the right direction to head in if one intends to call this decentralised. Is there any reason why the creator of the call can not also play the role of being the "signalling server" from within the browser? :)

from decentralized-video-chat.

JayWelsh avatar JayWelsh commented on May 26, 2024

Thanks @ianramzy , will take a look into it.

from decentralized-video-chat.

Chaphasilor avatar Chaphasilor commented on May 26, 2024

@JayWelsh any progress? :)
If yes, you could open a PR or a separate issue!

from decentralized-video-chat.

pj8912 avatar pj8912 commented on May 26, 2024

Decentralized webrtc p2p network using kademlia

http://www.scs.stanford.edu/20sp-cs244b/projects/WebRTC%20P2P%20network.pdf

There are already lots of implementation of kademlia which you use it for signaling on a p2p network according to this paper.

I don't think that is a big issue to be solved and does not contribute much in terms of decentralization.

There is always stun/turn servers that are heavily centralized which is the main part of webrtc based application used for address lookup and transfer of media.

from decentralized-video-chat.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.