Comments (3)
I'm not suggesting a websocket proxy, it's still true bittorrent protocol, just over websocket not tcp or RTCPeerConnection. bittorrent-hybrid or any other clients that implemented bittorrent protocol over websocket can connect to it and working as true P2P.
I have already implemented the WebSocketPeer
stuff, but soon noticed I cannot announce the address. I planning announce peer id like ws://ip:port/
but find a lot of hard coded peer type detection. As a lot of hack is needed through multiple modules, I opened this issue.
Anyway, it is true that BT over websocket only work between bittorrent-hybrid peers and browser peers, if there is a reliable webrtc implementation, it is not needed. Maybe will come back some month later.
Thank you for your work again 👍
from webtorrent-hybrid.
Hi @binux, thanks for opening such a thoughtful issue.
I think this is out-of-scope for WebTorrent, unfortunately. I'm hoping that we'll soon have a reliable webrtc implementation on the server-side (this one looks promising) so we won't need hacks like using a websocket proxy server.
A solution using a websocket proxy server isn't true P2P, since you're running a server that sits between the browsers and the normal bittorrent peers. It's a temporary hack at best, and that's why I don't think it makes sense to put in the effort to support it. You're free to fork the code and implement it for your own uses though :)
Cheers!
from webtorrent-hybrid.
Thanks for explaining. You're right - you could use WebSockets as a new transport type. Let's see how WebRTC support in node.js develops in the coming months and come back to this issue :)
from webtorrent-hybrid.
Related Issues (20)
- No interoperability with instant.io HOT 1
- undefined symbol: napi_add_env_cleanup_hook HOT 1
- installation error HOT 3
- Error: Cannot read property 'catch' of null HOT 4
- Dependency Dashboard HOT 1
- installation fails HOT 1
- node-pre-gyp not found
- Unable to read event under a event. HOT 3
- cannot read property 'replace' of undefined
- Cannot import in expressjs HOT 5
- TypeScript support HOT 1
- Nodejs WebTorrent.WEBRTC_SUPPORT false, but expected true HOT 1
- Update for Fast Extensions? HOT 2
- WebRTC peer, not working the linux cli HOT 10
- `npm install webtorrent-hybrid -g` fails on Ubuntu 20LTS and Windows 10 HOT 9
- shouldn't this repository be invalid as webtorrent/webtorrent #143 was merged HOT 1
- Error: Cannot find module '../build/Release/wrtc.node' When using
- globalThis is not defined HOT 3
- Error about `node-gyp` or `node-pre-gyp` when install HOT 10
- `npm i -S webtorrent-hybrid` — error HOT 3
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 webtorrent-hybrid.