draeder / easypeers Goto Github PK
View Code? Open in Web Editor NEWEasy serverless swarms of WebRTC peers over WebTorrent
License: MIT License
Easy serverless swarms of WebRTC peers over WebTorrent
License: MIT License
A peer that is long-lived without connections does not connect to new peers.
DAM is Gun DB's method for routing data to its known peers, which has a max limit of 6, but is unable to route data beyond that peer group. Easypeers could provide a transport to route data from DAM peer groups to the entire easypeers mesh instances.
It is an interesting idea for making hybrid p2p networks more robust.
Reviewing...
This might be a feature, because it creates a globally connected group of peers; but is unintended. Logging here to fix later.
Hi Draeder,
i asked "I am working on a True P2P project (without fixed signaling servers) Does anyone have experience with a combination from GunDB, webtorrent trackers and dyndns, maybe???" in the Gitter amark/gun chat.
Rococtz answered, that you have been trying something like that for a while now.
My definition of True P2P = "A swarm of P2P clients, independent of any dedicated servers, not even dedicated signaling servers"
If i did not super misunderstood this repo https://github.com/subins2000/p2pt, then it will make available the webrtc datachannel for your app, which are already established by webtorrent for file transfer purposes (i guess this is how they do it).
The webtorrents, websockets, bittorrents are free to use, so we are not talking about me, building a relay network, but using bittorrents relay network (75.000) for my p2p swarm, in the same time improving the bittorrent network (more nodes, better scale, better performance/reliability)
The further improvment is to have multiple such entrypoints (free signaling servers) like DHTs of free stun and turn servers, multiple dyndns trackers as fallback option and so on...
Anything wrong in my thinking? Maybe I cant use the trackers for free? I am really not sure, even though reading multiple blogs.
But if the trackers are free, it works out, right?
Is there any of your repos already doing this or in development to do so, coincidentally???
This is the repo i am working on:
https://github.com/worldpeaceenginelabs/CLOUD-ATLAS-TRUE-P2P
A rate limiter has been introduced, but is not ideal.
When trying to run easypeers inside node using the node-webrtc library (wrtc), segmentation faults destroy the node process. This is due to how node-webrtc handles RTCPeerConnection close events, based on my research into the issue. Since the node-webrtc library appears to be stale, I have resorted to using a headless instance of puppeteer for webrtc connections in node. This works perfectly, and I will probably not change it even if wrtc is updated to fix this issue.
Objects of type number
and object
fail to send. This is due to how the puppeteer library is processing the messages. Investigating.
Hi,
install failed inside of node:alpine and node:lts-alpine containers:
/ # npm i easypeers
npm ERR! Tracker "idealTree" already exists
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2023-07-17T18_36_13_919Z-debug-0.log
debug log
36 timing idealTree:userRequests Completed in 14ms
37 silly idealTree buildDeps
38 timing idealTree Completed in 31ms
39 timing command:i Completed in 276ms
40 verbose stack Error: Tracker "idealTree" already exists
40 verbose stack at [_onError] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/tracker.js:100:11)
40 verbose stack at Arborist.addTracker (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/tracker.js:27:21)
40 verbose stack at [buildDeps] (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:775:10)
40 verbose stack at Arborist.buildIdealTree (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js:207:29)
40 verbose stack at async Promise.all (index 1)
40 verbose stack at async Arborist.reify (/usr/local/lib/node_modules/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js:159:5)
40 verbose stack at async Install.exec (/usr/local/lib/node_modules/npm/lib/commands/install.js:146:5)
40 verbose stack at async module.exports (/usr/local/lib/node_modules/npm/lib/cli.js:134:5)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.