POC : Introducing SafeShare, a file sharing and pasting webapp

As proposed a few weeks ago by @happybeing, I am very glad :slight_smile: to introduce here a first version for a file sharing and document pasting web application for the Safe Network :

You canshould soon be able to check a live proof of concept on : http://safeshare.safenet

Please note that you will need the 0.8.0 Safe Network launcher to be able to access this version.

The UI and main functionality is derived from Up1 ( which also powers https://share.riseup.net btw ) - and the Safe Network facing part is Safenet by @eblanshey .

*** EDIT 08-18-2016 - I should be able to put safeshare back in a working state once safenet.js is updated to v0.5 api - otherwise I may try to use a more recent library if I can find one that does the job - until then, I set a work in progess warning. ***

The source is available here : GitHub - wrnice/safeshare

This is a web application, and lives inside the browser. You do not need to install anything, just point your browser to the link, and grant the web app authorization from the launcher. Javascript must be enabled, and for some reason that needs to be found, some people report that they have to turn off noscript in Firefox to have it connect to the launcher.

The main purpose of the application is to easily produce safe links to uploaded material, just as you would do in pastebin, imagebin or the like, and have the data live secure, permanent and encrypted in the Safe Network. Then you can share these links with your friends, collegues, developers matesā€¦ using existing communication means such as regular email, chat, websitesā€¦ or inside safe using upcoming tools such as Decorum or Ghost in the Safe , or a much anticipated native Safe messaging tool !

My hope is that it can demonstrate how a well designed UI can combine with the Safe launcherā€™s handyness into a painless point and click experience of secure encrypted communication, specially aimed at people without technical background. Hopefully it can be attractive for newcomers and become one of many showcase applications to advertise the Safe Network.

Please note that this is a work in progress, and that it comes with limitations and known issues :

  • It lives in regular clearnet browsers, that are DESIGNED to LEAK and REPORT your personal information. As long as we donā€™t have a proper Safe Browser that ignores privacy breach methods to access these apps , DO NOT CONSIDER YOU ARE SAFE.
  • It lives on a alpha state network. As such, the data is neither really safe and secure, nor is it permanent. Please DO NOT USE IT FOR SENSIBLE OR IMPORTANT DATA. IT WILL BE LOST.
  • For the same reason, posts are limited to 500 per client.
  • As a workaround until we have working Structured Data, it uses a dirty hack and creates a service for each file uploaded. This is certainly not very sexy, but does the job for a proof of concept.
  • Deleting is not yet supported. Once you publish something, you cannot take it off the network. Iā€™ll work on it soon.
  • It is rather big, as the code is still quite commented and made easy to read and work on. Once things get more polished I plan to minify it into a light single js. So for now, allow it some time to load.
    * It has no branding, I need to figure a logo or a background image to make it representative of the Safe network.
    * It lacks a proper progress indication - For now you think the upload is done in less than a second, but the actual upload to the Safe network takes longer, depending on the file size. The link is created and a cached local version is displayed instantly, which may lead to the wrong sentiment that the upload is finished.
  • A progress bar with percents of completed upload would be nice. I need to figure out a way to get this information from safenet.js

Future plans are to make it an autonomous application, to circumvent the current privacy browser issues, and to adress the above mentioned limitations.

I am working on this on my own time, and am putting quite some efforts into this, with the hope to give good visibility for the Safe Netywork and help provide secure and safe communication tools for all of us. I have included a donation button and link for btc or Maid, so if you feel this work is useful for you, or that it can be beneficial for us all, please do not hesitate to help with any amount that you feel is justice. Any penny or beer counts :beers:

41 Likes

Nice job man! Just tried it out, went really fast and easy! :smiley:

Uploaded a small mp3: http://safe.share.safenet/#AVtL7Y8ZP7hNsQRvKZCwrA

6 Likes

This. Good work, but I personally will not use this (or the other recent webapp posted) because they require me to run the launcher in an incredibly insecure mode which is a bad bad thing. I look forward to the source.

5 Likes

Great work!

http://safe.share.safenet/#sj-83RegnjRiwFLiEZHjLA

3 Likes

THIS IS SOOOO AWESOME @nice you are my hero!!! :heart_eyes: this is ā€¦ so Wow! Amazing! And it is not realy a POC xD it is a shiny app my friend!

you even can edit your pastes afterwards oO Wow! This is Huge!

5 Likes

Awesome work!..

1 Like

I just pushed the source to GitHub - wrnice/safeshare
Thank you for your input about the browser mode,I do share your concerns and will personnaly only use all these only for testing and learning the Safe mechanisms. I do agree that this is really not for ā€˜productionā€™ or real case use. I really hope someone comes with a dedicated browser for this, such as the one you started. I will work at making it autonomous in the coming weeks.

4 Likes

Awesome! This is like a dream coming true. Thank you for writing it!

Donā€™t know if itā€™s helpful but hereā€™s my links from learning about related web technologies for my University project using webrtc (although maidsafe, practically makes webrtc redundant!). Anyway, I had a real hard time handling large files with js in a performant way within the constraints of a sandboxed environment. So some of those links might be helpful. Totally share your hopes for a dedicated browser for such things.

Note: Iā€™ve shamefully only recently discovered safenetwork and what a worthwhile initiative it is, very exciting indeed. Canā€™t help but feel late to hearing about such an important project :slight_smile:

5 Likes

@chrisjsimpson Seshi is also an awesome piece of work from reading your article. Very well done in all respects, much better than my final year (physics) project which was a colour LCD TVā€¦ well it did happen I guess :slight_smile:

But thisā€¦!

although maidsafe, practically makes webrtc redundant!

Hmm if you arenā€™t totally sick to the back teeth of it, how about implementing the SAFE protocol in the browser and WebRTC? There could be life in it yet! Users able to run vaults, earn Safecoin, support the network, on any connected machine/device they happen to be using just with Web App!!! No installation, no device admin rights needed.

I might be taking out of my hat here admittedly, but in my defence this is not my idea :slight_smile: There is even a video presentation (from 2014?) where someone dug into the SAFE protocols and examined how this might be achieved. So who knows - pigs might fly, and Donald Trump could be President of the USA. Interested? It might help save the world :joy:

[My apologies @cretz if I made you spit coffee all over your keyboard. Sorry man - I know not what I do :slight_smile: - but Iā€™m sure something good will come of it. I really am.]

8 Likes

I havenā€™t tried it, but great to see more apps being worked on. It seems like there is a new one announced every day or so at the moment! :sunglasses:

2 Likes

@nice work :slight_smile:

Small issue I encountered: currently I cannot make the app work if I use the ublock origin configuration detailed here by @lightyear: the authentication popup from the launcher never triggers,

As soon as I disable it though things work fine.

Could this mean that your app contains some links to clearnet ? and if so do you have plans to remove them ?

Edit: My bad it works with this ublock origin config:

||$domain=safenet
@@||safenet^$domain=safenet
@@||localhost:8100$other
@@||127.0.0.1:8100$other

The one I used before was blocking http://localhost:8100/auth which caused my issue. All good !

3 Likes

Not even the shadow of it !

Glad you sorted it out. I also adopted ublock and the same config.

3 Likes

I have been working on SafeShare and added a delete functionnality. The delete button only appears if you are the originator of the upload, and if you didnā€™t clear your browser history ( this uses localstorage to check if the visitor is the uploader ).

Unfortunately while uploading these updates, I hit the 100 put limit and screwed my test account.

So I uploaded the updated version on a new account, it is now accessible on :

http://safeshare.safenet

The old link ( safe.share.safenet ) is broken , but the links you created are still accessible by changing the left part to the new adress : safeshare.safenet

eg : http://safe.share.safenet/#AVtL7Y8ZP7hNsQRvKZCwrA is screwed and becomes :
http://safeshare.safenet/#AVtL7Y8ZP7hNsQRvKZCwrA

Next steps will be giving the UI some specific branding, and implementing a working progress meter.

Many thanks to everyone for the support and the very much appreciated feedback !

10 Likes

I just uploaded a new version of Safeshare to the Test 4 network here : http://safeshare.safenet

This needs the 0.4.6 launcher available at : Release SAFE Launcher v0.4.6 Ā· maidsafe-archive/safe_launcher Ā· GitHub

This version has a branded upload button, and clearly identifiable service names when seen from the demo app.

Enjoy and share stuff !

5 Likes

I got as far as the legalese, clicked ā€œcancelā€ (since I chose not to agree to anything) and now it says to wait (forever). Clearly a bug.

More an oversight to handle this case on the UI, thank you for spotting it!
It is corrected now.

1 Like

Does it upload the files to safenet? Iā€™m pretty sure it doesnā€™t, maybe itā€™s mentioned somewhere. Uploading a 5mb MP3 literally took just 2 seconds :smile:

It does.

The link is created in less than seconds. Then the upload takes as much time as needed, probably several minutes for a 5mb file. If you check the console you will see a message telling ā€˜File uploadedā€™ once the upload is really effective. You can check by trying the download link on another machine or after clearing your cache , before and after the console message.

What you see after 2 seconds is a local, cached version of the file for your display only.
I need to implement a working progress meter to avoid this wrong feeling of completion, this will hopefully be done ā€¦ at some point :slight_smile:

4 Likes

Okay that makes sense :slight_smile:

Perhaps just not show the local cached version of the file, but just a progress bar or something. Most of the time people wonā€™t be uploading files to look at them straight away, but to share once upload has been completed.

ok, a new version is live with a clear message to state an upload is pending, then only when it is completed the cached version is displayed. Enjoy !

http://safeshare.safenet

4 Likes