SkillAgentSearch skills...

FileBender

HTTP File upload & sharing. Django clone prototype of FileSender

Install / Use

/learn @gijzelaerr/FileBender
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

INTRODUCTION

This is filebender, the django clone of filesender. I use this for prototyping things that probably will be implemented into filesender.

BIG FAT DISCLAMER: This is no way production ready, and just a toy thingy.

FileSender and FileBender are client side software to share (large) files over HTTP using a browser only. It supports large files. FileBender also supports client side file encryption.

LICENSE

All code in this repo is released under the conditions of the Apache License 2.0 unless indicated infile otherwise.

REQUIREMENTS

server:

  • Django 1.3

for saml: * python-saml2 * https://code.launchpad.net/~lgs/pysaml2/main * http://code.google.com/p/django-saml2-sp/ * xmlsec1 * pip install httplib2 * pip install decorator

client:

  • Google Chrome 13+ OR
  • Mozilla Firefox 6+ OR
  • Safari 6+ (probably, not yet released)
  • Internet Explorer 10+ (probably, not yet released)

Not working:

  • Safari 5
  • Internet Explorer 9
  • Opera (11.52/11.60)
  • Firefox 8, somehow the webwokers stopped working.

notes:

  • Google Chrome 15 seems te be really slow while encrypting in a worker thread. This seems to be solved in the current dev version (17).
  • There is a memory leak in Firefox (probably) in FileReader that inflates memory usage while encrypting.
  • Safari 5 can't slice blobs
  • Internet Explorer lacks the complete File API
  • Opera misses the XMLHttpRequest FormData stuff (XMLRequest level 2)
  • Firefox 7 and 8 can't load a webworker from localhost, this is probably solved in ff9

CREDITS

This project uses:

  • Django
  • Stanford Javascript Crypto Library http://crypto.stanford.edu/sjcl/
  • Downloadify (https://github.com/dcneiner/Downloadify)

PERFORMANCE

Encryption speed at 5MB chunks with default crypt settings is about 1.8MB/s on a Intel 2500K met 16GB mem with Google Chrome. Upload doesn't require a lot of memory, but download does. This is because the file needs to be reconstructed in memory. Maybe LocalStorage Javascript can solve this in the future.

Related Skills

View on GitHub
GitHub Stars4
CategoryDevelopment
Updated4y ago
Forks0

Languages

CSS

Security Score

55/100

Audited on May 21, 2021

No findings