| Crates.io | website-screenshot |
| lib.rs | website-screenshot |
| version | 1.0.0 |
| created_at | 2022-04-25 16:25:44.778147+00 |
| updated_at | 2022-05-04 04:26:43.239167+00 |
| description | 📸 website screenshots as a service |
| homepage | |
| repository | https://github.com/devtomio/website-screenshot |
| max_upload_size | |
| id | 573988 |
| size | 111,463 |
📸 website screenshots as a service
PORT - the port that the application will run (optional, defaults to 3000)REDIS_URL - the address of your redis database (required)FULLSCREEN_SCREENSHOT - if set, it will screenshot the whole website (optional)To change the provider in railway:
fleet build --release --no-default-features --features <your_provider>.⚠️- You can't change the provider when using the pre-built binaries.
curl -fsSL https://raw.githubusercontent.com/devtomio/website-screenshot/main/install.sh
See the Releases page of this repository and download the appropriate binary.
⚠️- You can't change the provider when using the docker image.
A dockerized version of this application is available here.
Installing website-screenshot as a crate.
cargo install website-screenshot
git clone https://github.com/devtomio/website-screenshotcargo build --releaseAuthentication will be enabled if the AUTH_TOKEN variable is set.
It will check if the Authorization header sent by the user is equal to the AUTH_TOKEN that you set.
📝 - This is the default provider.
cargo build --release
📝 - You must make an unsigned upload preset.
CLOUDINARY_API_KEY - your api key (required)CLOUDINARY_UPLOAD_PRESET - the name of your unsigned upload preset (required)CLOUDINARY_CLOUD_NAME - the cloud name that you set during registration (required)cargo build --release --no-default-features --features cloudinary_provider
⚠️ - This is untested. If you encounter a bug please don't hesitate to open an issue.
S3_BUCKET_NAME - the name of your s3 bucket (required)S3_REGION - the region of your s3 bucket (required, only optional if using self-hosted s3)S3_ACCESS_KEY - your access key (required)S3_SECRET_KEY - your secret key (required)S3_SECURITY_TOKEN - your security token (optional)S3_SESSION_TOKEN - your session token (optional)To use a self-hosted S3 Storage, set the S3_ENDPOINT_URL environment variable to the endpoint url.
cargo build --release --no-default-features --features s3_provider
TIXTE_UPLOAD_KEY - your upload key, can be found on the integrations tab (required)TIXTE_DOMAIN_CONFIG - whether to use random domains or a specific domain (required, can only be standard, or random)TIXTE_CUSTOM_DOMAIN - the specific domain to use (only required when TIXTE_DOMAIN_CONFIG is set to standard)cargo build --release --no-default-features --features tixte_provider
SLED_PATH - the path to provide when opening the sled database (optional, defaults to .website-screenshot)cargo build --release --no-default-features --features sled_provider
/Hello, world!
Example Response:
Hello, world!
/screenshotCreates a screenshot.
JSON payload with the url key.
Example Payload:
{
"url": "https://rust-lang.org"
}
Example Response
{
"slug": "abcdefghijk",
"path": "/s/abcdefghijk",
"metadata": {
"url": "https://rust-lang.org"
}
}
/s/:slugGets the screenshot that is corresponding to the slug.
Example URL
http://localhost:3000/s/abcdefghijk
Example Response

Licensed under either of
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Thanks goes to these wonderful people (emoji key):
Tomio 💻 📖 🚇 🚧 |
This project follows the all-contributors specification. Contributions of any kind welcome!