Comments (19)
@lgrahl is the demo server already using the latest protocol version?
from saltyrtc-client-java.
Yes I checked that 0.8.2 (running v0 protocol is working fine with demo server). I have some difficult in setting the demo server on windows, hence would like to use the demo server for the time being.
NOTE: How to connect Initiator and Receiver from different IPs?
from saltyrtc-client-java.
@dbrgn Nope. Updated it just now, thanks for the reminder. :) Probably incompatible with the demo until its being updated.
@sibirchakraborty The demo worked because it uses v0. The current master of this repository however does already use v1. I upgraded the server to v1 now. Try again.
By the way, there shouldn't be any issues running the server on windows, so let us know if there are any issues (in the server repo).
I don't understand your last question. The IPs of the clients do not matter at all, they find each other by the public key of the initiator.
from saltyrtc-client-java.
from saltyrtc-client-java.
Nope. We had no need for that so far.
from saltyrtc-client-java.
Is this issue resolved or do you still have problems with the sub-protocol?
from saltyrtc-client-java.
from saltyrtc-client-java.
Yes, that's possible. Simply don't provide a certificate and a key and the server will tell you what you need to do.
saltyrtc-server serve
It is REQUIRED to provide a SSL certificate and a server permanent key unless the environment variable 'SALTYRTC_SAFETY_OFF' is set to 'yes-and-i-know-what-im-doing'
You can ask further questions to the server in its respository. :)
from saltyrtc-client-java.
from saltyrtc-client-java.
I think you have to override the protocol
attribute of the Signaling
class. It's intentionally hard to prevent insecure usage. @dbrgn can tell you more.
from saltyrtc-client-java.
@sibirchakraborty right now the saltyrtc-client-java does not support connection to a server without TLS.
What would be the reason why you don't want TLS? For testing? If that's the case, I've planned to add documentation on how to generate a self-signed certificate for testing. You could also take a look at the testing setup that generates a self-signed certificate and adds it to a Java KeyStore: https://github.com/saltyrtc/saltyrtc-client-java/blob/master/.travis.yml#L25-L28 The same JKS file could be used in the client, see here. (Yes it's a bit complicated, but that's Java 🙄)
Regarding the demo app, I'll update it soon to use the latest protocol version.
from saltyrtc-client-java.
The demo (https://github.com/saltyrtc/saltyrtc-demo) is now updated to the latest version. We still have quite some documenting to do :)
from saltyrtc-client-java.
from saltyrtc-client-java.
@sibirchakraborty group messaging is not currently supported by the protocol, SaltyRTC is intended for point-to-point connections. As far as I know, the same counts for WebRTC, a DataChannel is always between two peers.
You could designate one of the users as "admin" though. The admin has connections to all people in the chatroom and relays messages for them.
from saltyrtc-client-java.
from saltyrtc-client-java.
Technically possible, yes. But not currently supported by SaltyRTC.
Please open an issue here https://github.com/saltyrtc/saltyrtc-server-python/issues if you want to know more.
from saltyrtc-client-java.
You can do whatever you want on top of SaltyRTC. To establish a group chat using WebRTC data channels, you have to connect every peer with every other peer (or have a master peer that relays all data). The first one is quite finicky (but so is peer-to-peer group communication). The second one is easy:
- Master peer acting as initiator generates a key for the upcoming responder.
- Responder connects to the master peer using SaltyRTC.
- Data channel messages are relayed from the master peer to each other peer.
- (Optionally establish a connection to each other peer now.)
Only the key management will become easier and the amount of initial WebSocket connection will be less once we add group communication. Fully meshed peer-to-peer group communication will remain complex.
PeerJS will require exactly the same management but with PeerJS there will be no end-to-end encryption during the signalling phase, thus it's a much easier protocol.
from saltyrtc-client-java.
from saltyrtc-client-java.
Maybe. It definitely has low priority though. The tracking issue is here: saltyrtc/saltyrtc-meta#83
I'll close this issue for now. If you have further questions, feel free to open a new issue in the respective project.
from saltyrtc-client-java.
Related Issues (20)
- Handshake attempts after 'task' state trigger a protocol error
- Initiator should send drop-responder to the server, not the peer
- Is this client thread-safe? HOT 2
- Fix synchronisation HOT 3
- Question about source code HOT 3
- Question: Allow Kotlin? HOT 1
- Dependency version specifiers
- Dropping old responder doesn't work if we have a trusted receiver public permanent key. HOT 1
- The "No shared task" case isn't handled correctly ("close" msg & channel termination). HOT 2
- Cookie of c2c handshake is set late. HOT 5
- Client accepts CSN which are incremented by more than one. HOT 1
- com.fasterxml.jackson:jackson-bom:2.13.2.1. gradle build failed
- Migrate to CircleCI HOT 1
- Websocket: onBinaryMessage can happen before onConnected
- Add support for 'disconnected' messages
- Precalculate shared key
- Switch to Java 8
- Create CryptoProvider interface
- Reduce copying and consistently use ByteBuffer
- Wrong send-error validation
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from saltyrtc-client-java.