SiaShare (part 2)

Introduction

Project Name: SiaShare

Name of the organization or individual submitting the proposal: @mjmay08

Describe your project

SiaShare is an end-to-end encrypted file sharing service that uses the Sia decentralized storage network to store files. SiaShare was originally worked on as part of a previous grant: Grant Proposal: SiaShare

Much of the functionality required to use SiaShare is in place and members of the foundation and the community have indicated that they are using SiaShare successfully. However, not all desired functionality was able to be completed during the timeline of the previous grant.

How does the projected outcome serve the Foundation’s mission of user-owned data?

SiaShare enables users to share files without any privacy concerns. Files are encrypted before leaving the user’s browser and can only be downloaded using the generated link.

Grant Specifics

Amount of money requested and justification with a reasonable breakdown of expenses:

I am requesting $5000 as the part-time salary for myself for a duration of 3 months.

What are the goals of this small grant?

Add the following features to SiaShare as well as address any feedback from the community:

  • Implement file expiration (removal from Sia, invalidate the sharable link, etc)

  • Cleanup of temporary file cache. Right now uploads are cached in a directory while they are being uploaded to Sia. Need to clean them up. Maybe make this configurable as having them cached on the filesystem speeds up downloads as we don’t have to go to Sia.

  • Add support for screen, webcam, and audio capture directly in SiaShare

  • Add support for individual file size and total file size upload restrictions

  • Add support for requiring a password to upload. This would allow running SiaShare as a self-hosted sharing service where others could download but not upload

Potential risks that will affect the outcome of the project:

No risks to call out at this time.

Development Information

Will all of your project’s code be open-source?

Yes

Leave a link where code will be accessible for review.

Do you agree to submit monthly progress reports?

Yes

Contact info

Email:

Already provided to the foundation

Any other preferred contact methods:

Sia discord: @mjmay08

Is it planned that SiaShare will exist as a website like wormhole.app? People could find the required setup complicated (reverse proxy, SSL certificate, etc). What is the final goal?

Hey @mjmay08,

Thanks for this proposal!

Congratulations, the committee has voted to approve your grant proposal. We’ll reach out soon via email to complete some documents.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee

Progress Report (November)

What progress was made on your grant this month?

  • Shared files are actually cleaned up now after a configurable period. Files are removed from filesystem cache, removed from the Sia network, cleared from the SiaShare database, and the shareable link is therefore no longer valid.

  • Added the ability to capture screen recording, webcam, and audio right within the SiaShare uploader interface making it even easier to share content with others (screen capture only supported on desktop browsers).

  • Added eslint and prettier to clean up the code.

Links to repos worked on this month:

What will you be working on this month?

I plan to work on adding an optional password requirement for uploading.

Progress Report (December)

What progress was made on your grant this month?

  • Added an optional password requirement for uploading files. This allows you to run SiaShare in a way that only you can upload files and others can only download.

  • Added the ability to enforce file size and number of file restrictions for uploads.

  • Added bucket support. Before all SiaShare files would be placed in a directory underneath the “default” bucket. Now you can configure which bucket should be used.

Links to repos worked on this month:

What will you be working on this month?

  • This completes the feature additions I was hoping to accomplish with this second grant. For my final month I think I will work on improving error handling, improving the UI when uploading to give a better indication of progress, and possibly adding the ability to view previously created links similar to the way wormhole keeps track of them for you.

Progress Report (January)

What progress was made on your grant this month?

  • Added a recent uploads section to the main page. Links for files you’ve shared in the past 24 hours will be saved in IndexedDB and shown next to the upload screen. This can be useful in case the user forgets to copy a link after uploading.

  • Improved download experience. Shows progress and prevents accidentally downloading multiple times.

  • Fixed issue with uploading more than just a few files at once. Improved the upload experience by more accurately showing what stage the upload is in (encrypting, seeding, uploading, etc).

Links to repos worked on this month:

What will you be working on this month?

This concludes the SiaShare grant. At this point I have implemented all features I was hoping to and I have also resolved all requests for improvement that I have received.

Hello @mjmay08,

Thank you for your progress report and congrats on completing your grant! We will reach out to you about the wind-down of your grant soon.

Regards,
Kino on behalf of the Sia Foundation and Grants Committee