FileBender
HTTP File upload & sharing. Django clone prototype of FileSender
Install / Use
/learn @gijzelaerr/FileBenderREADME
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
node-connect
354.2kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
112.2kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
354.2kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
354.2kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
