Skip to main content

SCP/SFTP helper for openZIM uploads to our dropbox

Project description

uploader

Dedicated container/script to upload files to openzim/kiwix warehouses and S3

Files are uploaded via SFTP (pubkey authentication) or SCP using OpenSSH.

Usage

  • Specify file to upload with --file.
  • Mount the RSA private key onto /etc/ssh/keys/id_rsa or use --private_key
  • Use an scp:// or sftp:// URI to specify target.
  • Specify a full path (with filename) to upload to a specific name or end with a / for uploading inside a folder
docker run \
    -v ~/.ssh/id_rsa:/etc/ssh/keys/id_rsa:ro \
    -v /path/:/path:rw \
    openzim/uploader \
    uploader \
    --file /path/my_file.zim \
    --upload-uri sftp://uploader@warehouse.farm.openzim.org/zim/ \
    --move \
    --delete

Parameters

  • --username: if your URI has no username, you can specify it here.
  • --move: upload to a temporary filename (<fname>.tmp) and rename it upon completion. Note that SCP is not able to do it so it uploads an <fname>.complete file upon completion instead.
  • --delete: delete source file once uploaded successfuly.
  • --compress: enable transfer compression.
  • --bandwidth: enable bandwidth limit. Set it in Kbps.
  • --cipher: change default cipher (aes128-ctr).
  • --resume: resume partially uploaded file (SFTP only)

Python

PyPI version shields.io

pip3 install openzim_uploader[all]
openzim-uploader --help
from openzim_uploader import check_and_upload_file

check_and_upload_file(
    src_path="/path/my_file.zim",
    upload_uri="sftp://uploader@warehouse.farm.openzim.org/zim/",
    private_key="~/.ssh/id_rsa",
)

Note: check_and_upload_file returns an unix-like returncode (0 on success)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

openzim_uploader-1.2.tar.gz (9.6 kB view hashes)

Uploaded Source

Built Distribution

openzim_uploader-1.2-py3-none-any.whl (9.3 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page