CLI tool for images compressing

This tool uses tinypng.com API endpoint for compressing your local jpg/png images (it supports parallel jobs):

API key can be passed in environment variable named TINYPNG_API_KEY

Recursive (deep) directories walking is not supported

:computer: Installing

Download latest binary file from [releases page][https://github.com/tarampampam/tinifier/releases] or use [docker image][https://hub.docker.com/r/tarampampam/tinifier/].

:fire: Usage example

[tinypng.com][tinypng.com] API key is required. You can get own API key by pressing link "login" on service main page.

Compress single image:

$ tinifier compress -k 'YOUR-API-KEY-GOES-HERE' ./image.png

Compress all png images in some directory and 2 another images:

$ tinifier compress -k 'YOUR-API-KEY-GOES-HERE' -e png ./images-directory ./image-1.png ./image-2.png

Compress all images in some directory using 20 threads:

$ tinifier compress -k 'YOUR-API-KEY-GOES-HERE' -e png -e jpg -e PNG,JPG -t 20 ./images-directory

:whale: Using docker

Compress all images in current directory:

$ docker run --rm -ti \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/rootfs:rw" \    
    -w /rootfs \
    tarampampam/tinifier compress -k 'YOUR-API-KEY-GOES-HERE' .

or

$ docker run --rm -ti \
    -u "$(id -u):$(id -g)" \
    -v "$(pwd):/rootfs:rw" \
    -w /rootfs \
    -e 'TINYPNG_API_KEY=YOUR-API-KEY-GOES-HERE' \
    tarampampam/tinifier compress .

Testing

For application testing and building we use built-in golang testing feature and docker-ce + docker-compose as develop environment. So, just write into your terminal after repository cloning:

$ make test

Or build binary file:

$ make build

GitHub