A thumbor server extension for DASH
Project description
thumbor_dash
A thumbor server extension for DASH
Setup
Requirements
- Python >= 3.9
- Pip >= 21.1
- Thumbor == 7.0.0a5
See the requirements for setting up thumbor
in the documentation
1. Install thumbor_dash
pip install thumbor_dash
Note: thumbor_dash, thumbor, and other required dependencies will be installed
2. Create a thumbor configuration file
thumbor-config > thumbor.conf
3. Add these lines to thumbor.conf
file
# Set allowed dimensions
MIN_WIDTH = 1
MIN_HEIGHT = 1
MAX_WIDTH = 1200
MAX_HEIGHT = 800
# Set security key
SECURITY_KEY = "0"
# Use custom Url signing method (sha256)
URL_SIGNER = 'thumbor_dash.url_signers.base64_hmac_sha256'
# Allow only signed URL
ALLOW_UNSAFE_URL = False
# Set user moderation rules
REQUEST_TIME_LIMIT = 1 # time between requests in minutes
USAGE_VIOLATION_LIMIT = 5 # total number of times a requester can violate the time limit before ban
BAN_DURATION = 10 # requester ban duration in minutes
# Use custom error handling
USE_CUSTOM_ERROR_HANDLING = True
ERROR_HANDLER_MODULE = 'thumbor_dash.error_handlers.sentry'
Usage
1. Start thumbor_dash server
thumbor_dash --conf=thumbor.conf
2. Sign image URL
thumbor_dash-url --key="<SECURITY_KEY>" --width=<width> --height=<height> --dashauth="requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<avatarUrl>):owner(<ownerId>):updatedAt(<updatedAt>)" --filters="<filters>" <imageURL>
output:
/<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
3. Thumbor_dash image retrieval URL
http://<thumbor_dash-server>/<signature>/<width>x<height>/dashauth:requester(<requesterId>):contract(<contractId>):document(<documentType>):field(<field>):owner(<ownerId>):updatedAt(<updatedAt>)/filters:format(<format>)/<encodedImageUrl>
Note: If running the server locally, <thumbor_dash-server>
should be localhost:8888
Example
This is a signed thumbor_dash url
. Simply run thumbor_dash
and paste this link in your browser.
http://localhost:8888/MXd8uDwHf1xqp6YG0RzlkrmtdBaq1ZyzznPLJft1rl4=/1200x800/dashauth:requester(26AxVi5bvYYaC94GmeTmqX21vzsSxar2a4imxSE8ULUQ):contract(D6tjxCZzZobDQztc4S1PK7EDwm4CegLARpiKZn6jQc1R):document(thumbnailField):field(avatarUrl):owner(26AxVi5bvYYaC94GmeTmqX21vzsSxar2a4imxSE8ULUQ):updatedAt(1627948894242)/filters:format(jpeg)/https%3A//github.com/thumbor/thumbor/raw/master/example.jpg
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
thumbor_dash-0.0.7.tar.gz
(16.6 kB
view details)
Built Distribution
File details
Details for the file thumbor_dash-0.0.7.tar.gz
.
File metadata
- Download URL: thumbor_dash-0.0.7.tar.gz
- Upload date:
- Size: 16.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 474769411d98a46c206ccf617531ef9223d7a46af1adf20067f5029c29dd6521 |
|
MD5 | 1609fa01c7532e13a6c139dd10e8a836 |
|
BLAKE2b-256 | 31418adb75bbe0092cba04d56baac4f1370867e9af6fa8c59edf689950c060e7 |
File details
Details for the file thumbor_dash-0.0.7-py3-none-any.whl
.
File metadata
- Download URL: thumbor_dash-0.0.7-py3-none-any.whl
- Upload date:
- Size: 20.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.4 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.1 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9efc749d91a2897f7cdb0b9b91ceb2a63c2772116a72b4ab84a84b3312113ed |
|
MD5 | 6743d1dbb1e00584f76b94f360717d94 |
|
BLAKE2b-256 | 005c5db772587851906d0e6b2065637444c442806ad8f2e3df2b998e667f2ede |