Giter Club home page Giter Club logo

ipfscloud-web's Introduction

We are working to restructure this project to make the platform sustainable and feasible. You can track the on-going work here. If you have any queries, then contact us here ;)

IpfsCloud: A Decentralized, Anonymous Cloud Storage Platform on IPFS. A project under ClusterLabs.

Made by ClusterLabs

Using IpfsCloud Locally.

  • Clone the repository: git clone https://github.com/vasa-develop/ipfscloud.git

  • For getting the latest development code: git pull origin development; git checkout development
    For getting the latest stable code: git pull origin production; git checkout production

  • Add the ipfscloud root folder to your webserver root folder.
    For eg. In Linux, apache webserver: /var/www/html/
    Add the folder: /var/www/html/ipfscloud

  • Open the application in browser: http://localhost/ipfscloud

Developer APIs

You can find developer APIs here: Developer Docs

IpfsCloud Upload Button Widget

Using this you can embed IpfsCloud button to your site. A user can click the widget, which will prompt the user to add a file to be uploaded. After choosing the file the upload will start and an on completion of the upload, an event will be fired which can be used to:

  • check the status of the upload("success" or "failed")
  • retrieve data related to the upload(file "hash" and "size")

How to use?

Here is a sample code to get started:

<!--CSS CDN link for IpfsCloud widget-->
<link href="https://cdn.jsdelivr.net/gh/vasa-develop/ipfscloud@f157536445863f27481d8ce5e3025f25264d1113/app/docs/v1/css/ipfscloud-uploader.min.css" rel="stylesheet">

<!--body-tag-starts-->
    <center>
        <!--this div element will form the button-->
        <div id="IpfsCloudUploader"></div>
    </center>
<!--body-tag-ends-->

<!--JQuery needed for functioning of the widget-->
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

<!--JS CDN link for IpfsCloud widget-->
<script src="https://cdn.jsdelivr.net/gh/vasa-develop/ipfscloud@bd23078768a5c708fc0f322a3e0e0cfb45b61f71/app/docs/v1/js/ipfscloud-uploader.min.js" ></script>

The above sample will display a button wherever you place the div tag with id IpfsCloudUploader.

Events are fired through the global element ipfscloud.

<script>
ipfscloud.addEventListener("icevent", function(event) {
    console.log(event.detail);
  });
</script>

The event icevent outputs the following when upload is completed or an error is encountered while uploading:

  • In case of successful upload:
{
    "status" : "success",
    "data": {
        "hash": "hash of the uploaded file",
        "path": "path of the uploaded file",
        "size": size of the file in bytes
    },
    "error": null
}
  • In case of error encountered while uploading a file:
{
    "status" : "failed",
    "data": null,
    "error": "some error"
}

NOTE that the UI is handled automatically after a successful upload or a failure.

Apps made using IpfsCloud

  • IpfsHost: Host your website in a minute for free(paid version with new features will be released soon). You can host websites/webapps (not server-side code) on IpfsHost. You can host in 2 simple steps:

    • Choose a name for your website/webapp: Visit IpfsHost and click "Host a Website" and typein a name of your choice(let's say "mywebapp.com"). Your website/webapp will be hosted at: https://yoursite.host/mywebapp.com.
    • Upload website zipped code: After selecting a name, you will have to upload ZIPPED file(here is an example ZIP file for reference). After uploading website code, click "Upload your website" and in few seconds to a minute(depending on your file size) your website will be live :) P.S. If you don't have website code, then you can use our free website builder. You can report a bug or suggest a feature here.
  • IpfsDocs: IpfsDocs is an decentralized alternative to Google Docs and Microsoft Word. You can:

    • Create documents
    • Edit documents
    • Share editable links for collaborative editing.
    • Share read-only links for read-only purposes. You can report a bug or suggest a feature here.

Demos Videos of all Apps

Contributing

  • Follow the Guidelines from Contribution.md to contribute. We love and support contributors and PRs :)

Reporting a Bug, Issues or Suggesting Features

  • You can report Bugs, Issues and suggest features here.

ipfscloud-web's People

Contributors

josselinchevalay avatar vasa-develop 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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ipfscloud-web's Issues

ERC1155 support

MetaData / Media for ERC721 / 1155 token contracts URI can be specified using an {tokenId} placeholder.
This means that the URI has a predefined scheme.

OpenSea / Rarible are 2 of many platforms using this scheme.

Right now I have to setup my own routing service which maps the generic token URI to the IPFS hash scheme.
I would love to see support for translation scripting, where I can define my routing.

Example:

URI in our token contract: https://ipfscoud/[contract address]/[tokenId]
will route to ipfs://[hash of image].

I can 't upload file

Hi,
I have problem. I try upload test file but i see uploading file but this file not see.

hosting bug

The pinning for host's files on IPFS doesn't work anymore

can you propose the option disable it
and have the use take care of the pinning on his own with a warning message of course

Thanks
+Michel

How do I keep the filename when uploading to IPFSCloud?

I uploaded this delicious ice cream poutine a while back, and now I want to share it and save it. However, when I copy the link, I only have the direct hash of the file. This is bad because when I save it, the filename is literally its hash so my system doesn't recognize it as an image. That's not exactly user friendly, if you ask me.

When adding files to IPFS, you should wrap -w them!

How do I select a different public gateway when copying a file's link?

Advanced users probably don't need a piece of interface made for this, but it would be a good quality of life feature to have to be able to add a custom public gateway for sharing files on that node instead of IPFS' default one. The default node is quite slow because of all the traffic so offloading it to Cloudflare-IPFS can help things for everyone.

How to run ipfscloud locally

Hi, thanks for your great work. I love this project. When I try to run it locally, I mean open the index.html in google chrome. It say that "Not connected to MetaMask". How should I host it?

And another question is why you need MetaMask. In my understanding, it is a tool for running ethereum in browser.

Thanks.

GET file://platform.twitter.com/widgets.js net::ERR_FILE_NOT_FOUND
index.html:61 Uncaught ReferenceError: web3 is not defined
    at index.html:61
(anonymous) @ index.html:61
index.html:145 GET file://connect.facebook.net/en_US/sdk.js net::ERR_FILE_NOT_FOUND
(anonymous) @ index.html:145
(anonymous) @ index.html:146
bundle.js:120594 Not connected to MetaMask
bundle.js:120604 File Chosen!
bundle.js:120607 Buffering...
bundle.js:120611 Buffer:  Uint8Array(675116) [37, 80, 68, 70, 45, 49, 46, 53, 10, 37, 191, 247, 162, 254, 10, 54, 57, 54, 32, 48, 32, 111, 98, 106, 10, 60, 60, 32, 47, 76, 105, 110, 101, 97, 114, 105, 122, 101, 100, 32, 49, 32, 47, 76, 32, 54, 50, 57, 49, 52, 57, 32, 47, 72, 32, 91, 32, 51, 51, 55, 53, 32, 54, 53, 51, 32, 93, 32, 47, 79, 32, 55, 48, 48, 32, 47, 69, 32, 49, 50, 53, 52, 56, 48, 32, 47, 78, 32, 51, 54, 32, 47, 84, 32, 54, 50, 52, 55, 48, 49, …]
bundle.js:120617 Uploading...
bundle.js:120619 Uncaught TypeError: Cannot set property 'innerHTML' of null
    at ipfsUpload (bundle.js:120619)
    at FileReader.reader.onload (bundle.js:120612)
ipfsUpload @ bundle.js:120619
reader.onload @ bundle.js:120612
load (async)
handleFiles @ bundle.js:120608

IPFS CLOUD

Hi
I'm new to Git hub and IPFS Cloud.
Can anyone help. I opened an IPFS cloud account and started uploading files which appeared in my documents folder. all looked well then suddenly any new files I added stopped showing in the folder ?
Is there a problem . or am I doing something wrong.
Thanks

Button upload no longer works?

Good afternoon!

Im trying to upload this snippet of code on my website:

<!--CSS CDN link for IpfsCloud widget-->
<link href="https://cdn.jsdelivr.net/gh/vasa-develop/ipfscloud@f157536445863f27481d8ce5e3025f25264d1113/app/docs/v1/css/ipfscloud-uploader.min.css" rel="stylesheet">

<!--body-tag-starts-->
    <center>
        <!--this div element will form the button-->
        <div id="IpfsCloudUploader"></div>
    </center>
<!--body-tag-ends-->

<!--JQuery needed for functioning of the widget-->
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>

<!--JS CDN link for IpfsCloud widget-->
<script src="https://cdn.jsdelivr.net/gh/vasa-develop/ipfscloud@bd23078768a5c708fc0f322a3e0e0cfb45b61f71/app/docs/v1/js/ipfscloud-uploader.min.js" ></script>

But when I select the file to upload it goes onto error. Does this no longer work or is unmaintained?

Thanks in advance....

Can't login on Firefox on Linux using Google account

I previously created an account using my phone, and now I want to access it on my computer. It works with Chrome, but not with Firefox.

Basically, when I click on "Continue using Google", there's a pop-up that opens then immediately closes.

image

image

Questions about this project

Hi,

I just finished watching all four videos on your official YouTube channel. This project looks really cool and I'm excited to learn more about this.

I have few questions here:

  1. What is the business model behind this project? I mean, how much developers need to pay if we want to use this IPFS Cloud project in our project?

  2. Do you have upload widget and API for developers to put in their project? Something like this and this.

    Use case - I'm planning to build a membership site and I want to let the members to upload files to IPFS Cloud. Would be really nice if you have upload widget that do the magic for us so that we can integrate it faster with less configurations/errors.

    As developer, I'm expecting a callback containing the file hash after the file is successfully uploaded to IPFS. This can be from back-end (IPFS Cloud server) or from the upload widget JavaScript itself.

  3. How do you handle access token? From one of your video, seems like there is no token or signature to access uploaded file.

    Use case - I want the uploaded file is only valid for X amount of time i.e. 1 hour. At the same time, I also want only specific people can download the files.

    If there is no token or signature, technically everyone can access the file by using IPFS Gateway.

    Possible to have something like this? ipfs.io/ipfs/HASH/?signature=SIGNATURE-GENERATED-BY-MY-BACK-END-OR-IPFS-CLOUD

  4. What does Video Streaming means inside your roadmap? Does it mean I can build decentralized Netflix using this project?

Thank you.

Leaked credentials

Hi! I stumbled across this repository from Medium. While browsing the source code, I found a lot of production credentials. I would suggest to clean those up and invalidate the tokens

POST https://api.ipfscloud.store/file net::ERR_EMPTY_RESPONSE

It was working for a moment.

The next moment it fails? 🤔

data: null
error: ""
status: "failed"

Super simple code sample

<!-- code from: https://github.com/cluster-labs/ipfscloud-web#how-to-use -->

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>IpfsCloud demo</title>

	<link href="https://cdn.jsdelivr.net/gh/vasa-develop/ipfscloud@f157536445863f27481d8ce5e3025f25264d1113/app/docs/v1/css/ipfscloud-uploader.min.css" rel="stylesheet">

  </head>
  <body>

    <center>
        <div id="IpfsCloudUploader"></div>
        <div id="IpfsGatewayUploadedLink"></div>
    </center>

	<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=" crossorigin="anonymous"></script>
	<script src="https://cdn.jsdelivr.net/gh/vasa-develop/ipfscloud@bd23078768a5c708fc0f322a3e0e0cfb45b61f71/app/docs/v1/js/ipfscloud-uploader.min.js" ></script>

	<script>
	ipfscloud.addEventListener("icevent", function(event) {
		if (event.detail.status === "success") {
			let ipfsLink = "https://gateway.ipfs.io/ipfs/" + event.data.path;
			document.getElementById("IpfsGatewayUploadedLink").innerHTML = ipfsLink;

		} else {
			console.log(event.detail);
			alert("something happened, check console");
		}
	});
	</script>
  
  </body>
</html>

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.