Portable file server with accelerated resumable uploads, dedup, WebDAV, FTP, TFTP, zeroconf, media indexer, thumbnails++ all in one file, no deps
| .vscode | ||
| copyparty | ||
| docs | ||
| scripts | ||
| tests | ||
| .gitattributes | ||
| .gitignore | ||
| LICENSE | ||
| README.md | ||
| setup.py | ||
⇆🎉 copyparty
- http file sharing hub (py2/py3)
- MIT-Licensed, 2019-05-26, ed @ irc.rizon.net
summary
turn your phone or raspi into a portable file server with resumable uploads/downloads using IE6 or any other browser
- server runs on anything with
py2.7orpy3.2+ - resumable uploads need
firefox 12+/chrome 6+/safari 6+/IE 10+ - code standard:
black
status
- sanic multipart parser
- load balancer (multiprocessing)
- upload (plain multipart, ie6 support)
- upload (js, resumable, multithreaded)
- download
- browser
- media player
- thumbnails
- download as zip
- volumes
- accounts
summary: it works
dependencies
jinja2- pulls in
markupsafeas of v2.7; use jinja 2.6 on py3.2
- pulls in
optional, enables thumbnails:
Pillow(requires py2.7 or py3.5+)
install on android
install Termux (see ocv.me/termux) and then
apt install python
python3 -m venv ~/pe/ve.copyparty
. ~/pe/ve.copyparty/activate
pip install jinja2
# download copyparty somehow
python3 -m copyparty
for image thumbnails, install optional dependency Pillow:
apt install clang python-dev zlib-dev libjpeg-turbo-dev libcrypt-dev ndk-sysroot
CFLAGS=-I$HOME/../usr/include/ pip install Pillow
dev env setup
python3 -v venv .env
. .env/bin/activate
pip install jinja2 # mandatory deps
pip install Pillow # thumbnail deps
pip install black bandit pylint flake8 # vscode tooling
immediate todo
roughly sorted by priority
- http error handling (conn.status or handler-retval)
- last-modified header
- support pillow-simd