Coder Social home page Coder Social logo

pactcare / dweb.page Goto Github PK

View Code? Open in Web Editor NEW
247.0 8.0 25.0 3.73 MB

Your Gateway to the Distributed Web

Home Page: https://dweb.page/

License: MIT License

CSS 13.32% HTML 19.08% JavaScript 67.61%
ipfs iota dweb transfer search-engine javascript decentralized distributed

dweb.page's Introduction

standard-readme compliant

Your Gateway to the Distributed Web

Dweb.page (previously Pact.online) is an open source webpage that lets you share and search content on the distributed web based on IPFS. The webpage itself runs on any writable IPFS gateway (see Hosting below). It’s one of the first distributed websites, and it's completely running in your browser, meaning you are in control of your own data. Furthermore, the website uses the distributed ledger technology IOTA to store metadata of the publicly uploaded files. The decentralized search engine integrated into the website uses this metadata to index the uploaded content. Additionally, the transfer history based on IOTA provides a transparent logging system and allows you to claim the ownership of your data.

Click below to learn more about it in a short youtube video:

Dweb.page youtube


Table of Contents

Security

For a description of the security of Dweb.page see the first draft of the security whitepaper (Outdated draft needs to be changed after new signature + search engine implementation).

Install

This project uses node and npm. Go check them out if you don't have them locally installed. To create the index.html simply run:

npm run build

Usage

Dweb.page simply needs to be hosted on a writable IPFS gateway. You can easily run Dweb.page local by following the below tutorial. We think that not every single application should start their own IPFS gateway due to performance reasons. Rather you have only one IPFS gateway running on your local machine or browser. Additionally the current setup is much faster and in theory also works for example on the Internet Explorer (currently not supported).

You can also use Dweb.page to host your own distributed web project (see this tutorial).

Maintainer

David Hawig

Contributing

You can either support this project by setting up an IPFS Node, donating or by contributing to the code.

IPFS Node

If you wish to participate you can simply set up your own IPFS node with a writeable gateway. You need to allow a maximum upload size on your server of 1GB. Lastly, reach out to us at info[at]pact[dot]care or on our discord server so we then can integrate your side on our main page. Currently, we share the IOTA donations equally among all participants at the end of every month. For transparency, you can track all donations under the current IOTA donation address. In the future, we might set up an advertising model to make it more attractive for IPFS nodes to participate.

The most recent online version of Dweb.page has the following hash:

QmaG6gCPHBKEvQtCTG7ELa1J1fh9K7iitcCwrWponxFydy

List of participating nodes

Donate

IOTA Donation address

LRKZARMRXNBSUAOGYOMCRBAZAK9ZSVWTIXOVFTGTX9FRZVUNIM9NLBEZPPZIDD9MQHVCOFNELKGVCIYVWQGRWYZU9X

Code

If you want to help either join our discord server or you can open issues for bugs you've found or features you think are missing. You can also submit pull requests to this repository.

If editing the README, please conform to the standard-readme specification.

License

GNU General Public License v3.0 © PACT Care B.V.

dweb.page's People

Contributors

frankonly avatar noc2 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

dweb.page's Issues

Search doesn’t work in Firefox

Console error:

OpenFailedError: UnknownError The operation failed for reasons unrelated to the database itself and not covered by any other error code.
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://[::1]/ipfs/na. (Reason: CORS request did not succeed).

UI error:

You have entered an invalid filename!

Version: /ipfs/QmafJoUPkhmKJSKJHFvpkZ5Hb5eUbQN8UBhuwrLVsH6W2K

User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

IPFS: ipfs-go 0.4.18, ipfs-companion 2.6.3

Another Fatal Design Flaw

I notice that your security model is to encrypt a file, store it publicly on the IPFS network and then share the secret key. Please refer to the following discussion with the founder of IPFS and the recommendation to design a capability system instead:
ipfs/ipfs#86

Quote:
"Naive example: Encrypt some file with some secret, and share the secret with the people that have read permission"

Secondly, recommending people to share private keys via WhatsApp or Telegram as suggested in your security white paper is also very naive. Private keys are not intended to ever be transmitted over a channel - even encrypted.

fatal design flaw

This looks like a great project and I am glad you have been thinking about decentralization. I have some issues with this though (only one really). It is built on IOTA.

IOTA run by people (come_from_beyond and other questionable characters whose understanding of Math can best be summed up as "Numberwang"). People who think that collision resistance doesn't have to be a primary feature of a hash functions.

the IOTA guys have been ignorant towards any criticism from the cryptography experts (ask Matthew D. Green and many others). IOTA is a total clusterfuck. Don't use it. Or if you do please check at least twitter to see what people with an actual idea of cryptography are saying.

Please consider rewriting this or alternatively push your commits to /dev/null ... thanks.

https://twitter.com/peterktodd/status/938397135862714373

https://twitter.com/matthew_d_green/status/1027197175456034818

https://twitter.com/dionyziz/status/968088282457354240

PS: crypto means cryptography

Unable to use

Hello! I'm a newcomer to Dweb. I try to use dweb.page to upload a picture, but it shows that the current IPFS gateway you are using isn't writable.
I have 2 questions:
1.If I didn't install IPFS, could I upload files to dweb and search files?
2.Console shows that QmaG6gCPHBKEvQtCTG7ELa1J1fh9K7iitcCwrWponxFydy:21 The following IOTA node is unavailable. How can I solve the problem?

My English is not that good. I hope that you can understand what I mean.

Actually the new version is broken in a different way, If I try to enter something to the search box, doesn't show any results but downloads file called "undefined.undefined" with content "invalid ipfs path: selected encoding not supported"

Actually the new version is broken in a different way, If I try to enter something to the search box, doesn't show any results but downloads file called "undefined.undefined" with content "invalid ipfs path: selected encoding not supported"
(browser chrome, using private ipfs gateway running go-ipfs v0.4.18, ipfs companion v 2.6.3)

Originally posted by @pezinek in #5 (comment)

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.