8 ms·
Peer-to-peer social networking with Rotonde and Beaker
- deleted 9y ago[deleted]
- jimpick 9y agoI set one up for myself here: dat://72671c5004d3b956791b6ffca7f05025d62309feaf99cde04c6f434189694291/ Nobody follows me yet though...
- hauget 9y agoGive us some time. We're still playing around with Beaker setups. Hell, I'm installing Ubuntu bash on my Windows box just to see if I can get this running today :) PS: I think this would pick up more steam if you changed the title to "Decentralized Twitter clone with Beaker and Dat Project"
- staticvar 9y agoSee the issue in BB issue queue around Windows build. That will help point you in the right direction https://github.com/beakerbrowser/beaker/issues/55 https://github.com/beakerbrowser/beaker/issues/55
- imartin2k 9y agoI do follow you now. Here is my feed: dat://73bf68c7e480d53f231d0f077e2865afa098d0b6b1bd3eb65364b9b7cb149d0c
- macawfish 9y agoFor some reason when I follow you, my feed doesn't load. Maybe there's a bug with offline dats? edit, a quote from @neauoire: >>> Good morning, I will fix up the client now. Make sure it catches the timeouts, and also make @ names clickeable by everyone. nice!
- quaz3l 9y agoJust followed you! Online now: dat://d9ab6634eda283a21c774fe3be8d2860ab9ce826a7d62d0dc33c3d152578efbc/
- macawfish 9y agoI added you! mine: dat://1d09fb13964569d6d03b90c9c2944f3f34bc5aebd1e5a02d3a259b347789c982/
- jimpick 9y agoAwesome, I added you back!
- royalharsh95 9y agoThis is cool!
- solnyshok 9y agoThis is working on top of Beaker Browser, and since BB is not available for Windows, Rotonde is not too. Since BB is a main platform for dat browsing, I am really interested in how secure it is. Poking around BB website I could not find if it is a fork of webkit or blink or something else? Another question, is it possible to enable dat protocol via extension for chrome/firefox?
- mtgx 9y agoIs Beaker based on Firefox?
- boramalper 9y ago> Is Beaker built entirely from scratch? > No, it’s a fork of the Chrome browser. https://beakerbrowser.com/docs/inside-beaker/faq.html#is-beaker-built-entirely-from-scratch https://beakerbrowser.com/docs/inside-beaker/faq.html#is-bea...
- mtgx 9y agoThanks. The UI seems to resemble Firefox more, though, which is strange.
- nerdponx 9y agoAs far as I understand, "the hard part" of a web browser is not the front end but the rendering engine. I imagine that's where most of the current code is.
- tbv 9y agoHey! I’m one of the creators of Beaker. Beaker is built with Electron, a wrapper around Chromium, and it doesn’t include any UI elements like tabs or the URL bar. We made those ourselves, and have taken inspiration from a number of browsers. What you see here is actually the “old” version of Beaker - a lot has changed in the upcoming release. Here are a few tweets with screenshots if you want to see a preview: https://twitter.com/taravancil/status/906583737789542400 https://twitter.com/taravancil/status/906583737789542400 https://twitter.com/pfrazee/status/910988429881675782 https://twitter.com/pfrazee/status/910988429881675782 https://twitter.com/taravancil/status/918232881641779201 https://twitter.com/taravancil/status/918232881641779201
- sull 9y agoYou are doing a great job on the aesthetics of the browser and exposing powerful network features in an elegant way.
- lachenmayer 9y agoReally awesome demo - the Beaker/Dat/Hypercore ecosystem is amazing. Real-time p2p sync of anything you can imagine. I was able to build a 'Slack clone' as a one-day hack, using Hypercore + Electron: https://github.com/lachenmayer/p2p-slack-clone-poc https://github.com/lachenmayer/p2p-slack-clone-poc I think we'll be seeing a lot of these kind of projects soon :)
- marknadal 9y agoHypercore has realtime sync, but is limited to log structured data. Dat can do diffs on data, but is meant for large datasets, not realtime changes. This sounds like it would be difficult (or not scalable) to build something like a Wiki, features in social networks, Trello, or other apps (i.e., anything with shared mutable state). How would you do this? The reason I ask is that me, Mafintosh, Juan at IPFS, Dominic with Scuttlebutt, Feross at WebTorrent, Substack, and others all met back in 2014 for our different P2P projects. All of us had slightly different approaches. Juan and others seemed mostly interested in hash addressing, which I think is great but doesn't solve the end problem of data sync. Seems like Dat deals with that fairly well, but not for highly mutable data (versus large scientific files). Meanwhile we ( https://github.com/amark/gun https://github.com/amark/gun ) tackled that problem first, because it seems like CRDTs are the most relevant for killing traditional centralized Facebook/Twitter/Reddit/gDocs like apps, and hashing is more applicable for killing centralized YouTube/imgur like apps. Both are necessary, but it certainly seems harder/easier based on which underlying P2P tools you use. You are one of the few people actually jumping in and building end apps (thanks for sharing your chat app!), and we need more people doing that (not just all of us who are trying to rebuild the underlying architecture). So I would be curious to hear your experience comparing the different use cases behind dat/IPFS/gun/WebTorrent/etc. it would make for an interesting and informative comparison article. Thoughts?
- maxogden 9y agoThe real-time syncing immutable, append-only log that hypercore provides can also be accessed randomly, allowing for lots of cool parallel/distributed log processing architectures (Kappa architecture), similar to Kafka (which is also based on immutable, append-only logs). We have just focused on syncing a filesystem at first because we had a strong use case there, but you could totally build a CRDT on top of an append only log.
- jlebrech 9y agois dat better than zeronet?
- TeddyDD 9y agoIt's hard to find comprehensive comparation. I think Dat is something like IPFS while Beaker is something like Zeronet but it uses Dat instead some custom transfer protocol. I don't get why Dat and IPFS are developed separately - it seems like unnecessary fragmentation and duplicated effort. I'd love to hear opinion on this.
- staticvar 9y agoFrom Dat's FAQ https://docs.datproject.org/faq https://docs.datproject.org/faq How is Dat different than IPFS? IPFS and Dat share a number of underlying similarities but address different problems. Both deduplicate content-addressed pieces of data and have a mechanism for searching for peers who have a specific piece of data. Both have implementations which work in modern Web browsers, as well as command line tools. The two systems also have a number of differences. Dat keeps a secure version log of changes to a dataset over time which allows Dat to act as a version control tool. The type of Merkle tree used by Dat lets peers compare which pieces of a specific version of a dataset they each have and efficiently exchange the deltas to complete a full sync. It is not possible to synchronize or version a dataset in this way in IPFS without implementing such functionality yourself, as IPFS provides a CDN and/or filesystem interface but not a synchronization mechanism. Dat has also prioritized efficiency and speed for the most basic use cases, especially when sharing large datasets. Dat does not make a duplicate of the data on the filesystem, unlike IPFS in which storage is duplicated upon import. Dat's pieces can also be easily decoupled for implementing lower-level object stores. See hypercore and hyperdb for more information. In order for IPFS to provide guarantees about interoperability, IPFS applications must use only the IPFS network stack. In contrast, Dat is only an application protocol and is agnostic to which network protocols (transports and naming systems) are used.
- amelius 9y ago> It is not possible to synchronize or version a dataset in this way in IPFS without implementing such functionality yourself But why not build version control on top of IPFS? It has been discussed here: [1]. It seems a matter of correctly working with immutable data structures (which IPFS provides storage for). And it seems a bit silly to rebuild that storage layer from scratch. [1] https://github.com/ipfs/faq/issues/83 https://github.com/ipfs/faq/issues/83
- jlebrech 9y agoI have an issue with Beaker, and it's that it's build on html/js/css the unholy trinity. edit: my bad, there's also markdown support. It also needs to have a wasm backed canvas.
- mosselman 9y agoAre there any networks like beaker that are not only distributed but also truly anonymous? There is no point in being peer to peer if you can't be anonymous as well. Well, there IS a point, like with the pro-catalonia websites, but it would be even more useful when you can be anonymous. Also, how secure is beaker? Are there any security audits?
- ianopolous 9y agoWe are working towards that with Peergos [1][2]. Your username is public, but the network can't see your social connections, or your physical location. Note that this isn't true yet though, as we haven't started using Tor hidden services. [1] https://github.com/peergos/peergos https://github.com/peergos/peergos [2] https://peergos.org https://peergos.org
- staticvar 9y agoHow is that different from Dat? https://docs.datproject.org/security https://docs.datproject.org/security
- ianopolous 9y ago* Peergos is based on IPFS * Everything is encrypted at rest * We have fine grained capability-based access control * If I share a file with two people, they can't see that I've shared it with the other person * Access revocation with key rotation (on the same fine grained level) * Peergos is resistant to quantum computer based attacks (unshared files are already safe, and shared ones will be) * Peergos doesn't rely on out of band sharing of keys (we use TOFU on a publicly auditable append only PKI)
- nerdponx 9y agoFreenet and I2P both fit these criteria.
- doublec 9y agoFreenet is anonymous and is similar to DAT/IPFS. ZeroNet can be anonymous if you configure the node to always use Tor. In that configuration the node will spawn Tor onion sites to seed the ZeroNet sites.
- axonic 9y agoI'm gonna be honest here, this is how this reads to me: Decentralize... with Google (Suprise! It's a Chrome fork). Funded by a couple of tiny science grants and the NSA/McClathyDC who owns Knight Ridder Foundation, earns 56.4% annual revenue from advertising in 2016 and 15% of careerbuilder.com, has been losing nearly $1B USD annually and has been in trouble for undermining counter-terrorism efforts - so easily controlled. They've got a fed with a clearance [GSA 18F] as an adviser, no matter how anti-gov his Twitter looks. Their 'partners' amount to the same few friends with the same logos, feds, academia, and former Mozilla hypocrites who now work on a technology powered by Google+GitHub [req. Chrome+Electron] to drive... decentralization? Specifically the Dat project as described by Max Ogden provides an alternative to GitHub, did they read that? But while looking suspect already, they're explicitly not building privacy, and citing 'a secret URL' as the key to encryption in the project pages. Underlying the project, is Dat. Dat appears to be where the real meat is, and it is geared for big data, government, and centralized decentralization. Man WTF, I'm sorry I wasted my time investigating. Give your research, data, and content to -big brother-, er... everyone! Set it free! lol Additionally they're node-obsessed.js v0.0.0.2a throughout and the only mention of security or authentication methods I found in the admin guide were a section on OpenStack integration (+1 for that at least, to use their Google-speak).
- staticvar 9y agoI believe the way Dat works is if you don't have the public key for a Dat Repository (AKA the Dat URL), then you'll never find it even if other people are sharing it because peers will only respond if they are asked for that specific public key. However, as soon as you have that public key, then you can see the IP addresses of everyone sharing it. This seems like a privacy problem with the Internet itself that the Tor network is attempting to at least help solve. - https://docs.datproject.org/security https://docs.datproject.org/security - https://blog.datproject.org/2016/12/12/reader-privacy-on-the-p2p-web/ https://blog.datproject.org/2016/12/12/reader-privacy-on-the...
- beardicus 9y agoYour wall of text would be more effective with some added clarity and organization. I feel like the "they" you refer to is vague and unclear throughout. If i had to, I'd guess you're referring to Google as "they" at first, then the Dat project, with some Github "they" mixed up in the middle. It's honestly hard to tell. I'm not sure why you think Dat is "centralized decentralization" and how using it would lead to "big brother" getting your research data. What part of Dat is centralized? This seemingly poorly informed hot-take on Dat leads me to question the other assertions in your screed as well.
- staticvar 9y agoFor those with an Android device that want to browse the Dat based P2P Web, there is an experimental Android browser called Bunsen Browser in development. And we could use your help :) https://github.com/bunsenbrowser/bunsen https://github.com/bunsenbrowser/bunsen
- lucid00 9y agoWhat kind of help is needed? Also is there any chance of switching to Janea Systems' NodeJS builds so that we get 32-bit and x86 Android support? http://www.janeasystems.com/blog/announcing-node-js-mobile-apps-true-node-js-runtime-android-ios/ http://www.janeasystems.com/blog/announcing-node-js-mobile-a...
- staticvar 9y agoHow is this Rotonde different from the RSS Reader client that Paul Frazee wrote? https://hashbase.io/pfrazee/rss-reader https://hashbase.io/pfrazee/rss-reader Also, is it really necessary to git clone the rotonde repository? Why not go to a starter Dat url and use Beaker to fork your own copy?
- haggy 9y agoI think you missed the initial sentence stating "This code is bleeding edge, so you need to install manually". Any POC project is going to start out with a highly manual install process.
- amatecha 9y agoYeah, I presume you could actually just fork someone's rotonde instance... Though, some files are ignored in the .datignore which implies to me that some important files will not get copied via a fork??
- sull 9y agoInterestingly, I once built a very similar project as Rotonde but all based on RSS/OPML files with some namespace extensions to add social communication layer. It was federated, not true p2p (circa 2010) but the concepts were the same. App layer did not matter, only constructing properly formatted feeds. I think even today it would be good to base this off RSS or at least have RSS be a tandem feed.
- fiatjaf 9y agoIs dat more-or-less in the same domain as IPFS? (I know the technology is different, but as I see they are being used mostly for the same purposes.) If so, which one is winning?
- detaro 9y agoat least strongly related domains, yes. I don't think you can decide "who is winning" right now. They both are still in development and both have strengths and weaknesses resulting from different development focus that do not have to remain as they are.
- pfraze 9y agoAgree on that. They are both BitTorrent variants. I liked Dat's design a little better, and it's more focused on mutable data streams which is better for Web content. IPFS is good though and may end up getting supported in Beaker again at some point. Dat's the protocol we chose to start with.
- pfraze 9y agoThis is cool. It's using a pattern called the 'self mutating site'. During setup, you git-clone the application code and put it into a dat site you create. The app code publishes by modifying files within its own dat. When you visit somebody's profile, you're actually visiting a new site, so there's no uniform software layer on the social network. A lot like indie Web software. There's a new 'application' pattern we're working on for the upcoming 0.8 release. In that pattern, the app dat and the data dat will be separated. This wont replace self-mutating sites, but it has some benefits as an alternative: apps will be able to update independently of the data, the browser will provide install and signin flows, and apps can provide persistent UIs. There's a lot of other ideas we're kicking around (intents) and some kind of out there experiments (the app scheme [1]) so we'll need lots of feedback, esp from folks like @neauoire. Pre-release of 0.8 should happen by the new year. 1. https://github.com/beakerbrowser/beaker/wiki/App-Scheme https://github.com/beakerbrowser/beaker/wiki/App-Scheme EDIT: updated for clarity EDIT EDIT: and brevity
- leggomylibro 9y agoIt's a neat idea. I don't use Facebook, but I'd be open to a sort of social network based around the idea of a local profile that each individual sets and controls. Why is it a single big brick of a service that everyone must connect to and publish through? Why not make profiles something modular that can be easily published and shared online, but also in a 'mesh network' setting where you publish and receive from devices within your general vicinity. The profile should be a bundle of data about the individual, published by the individual. More of a standard than a service. There could be 3rd-party services to scrape and store what pepople publish. There could be 3rd-party services to produce nice cookie-cutter profiles, like resume templates. Services for hosting, collating, searching, viewing profiles. And people could have loads of different profiles for different parts of their lives, and separate them as much or little as they feel like. But at the core of things, the profile would belong to the User.
- rakoo 9y agoCheck out scuttlebutt (https://www.scuttlebutt.nz/concepts/gossip.html https://www.scuttlebutt.nz/concepts/gossip.html), it really decouples the content from the device, and there are some services out there that will take all your content and help broadcast it, but the real flow of information is from friends to friends
- mempko 9y agoI'm happy seeing more P2P projects, and if Javascript is the conduit which gets people to invest time and money then I'm all for it. Software doesn't get investment because it is good, software gets good when it gets investment. And I don't mean just money. The greatest regret I have when building Firestr (http://firestr.com http://firestr.com) is not using electron. I'm only half joking.
- pwang 9y agoI think JS is critical infrastructure to this because the only way this stuff takes off is if users flock to it. And so the UX can't regress too much from what they're used to, and the modern web is what they're used to. In time, I think that a lot of backend plumbing around DAT and dex web stuff will not necessarily be JS, and if there are native mobile apps (if Google and App allow for them), those will be written in those native languages. But the front-end is almost certainly going to JS and modern web stack.
- Karrot_Kream 9y agoI'm not a big fan of the JS ecosystem or bloated browsers, but honestly, this is a perfect fit for JS. Distribute a static app which is a JS payload. The page knows how to join the distributed network and send/receive messages, which makes it trivial to allow you to build things like a social network on top. Just make sure the protocol doesn't depend on weirdness from JS land to allow other clients in and you're good to go.
- guest 9y agoIf this means what i think it means (?) it could means a large change to the current net. Could anyone tell me if im right or not (aka does what i think end up on the userside instead of at a large company or other formation) - aka is there a "real" privacy setting? Avoiding ... words ftw.
- NHQ 9y agoyay! the many nascent and forthcoming deX networks and protocols are gonna make the internet fun again
- deleted 9y ago[deleted]
- fredhampton 9y agohow it is similar and or different from the posting feature that is a part of Beaker 0.8 ?
- equalunique 9y agoSAFE Browser [0] is a lightly modified fork of the Beaker Browser for the SAFE Network [1]. It supports the same goals as the standard Beaker Browser but uses SafeCoin to incentivize app creation and hosting. It's also cool in that MaidSafe builds their core libraries with Rust. [0] https://github.com/maidsafe/safe_browser https://github.com/maidsafe/safe_browser [1] https://safenetwork.wiki/en/FAQ https://safenetwork.wiki/en/FAQ
- slackstation 9y agoIt looks good but, doesn't work on my work network and didn't work when I tried it through Tunnelbear VPN.