wolfgang1219 / webp_server_go

Go version of WebP Server. A tool that will serve your JPG/PNGs as WebP format with compression, on-the-fly.

Home Page:https://webp.sh/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

codecov

Documentation | Website

This is a Server based on Golang, which allows you to serve WebP images on the fly. It will convert jpg,jpeg,png files by default, this can be customized by editing the config.json..

  • currently supported image format: JPEG, PNG, BMP, GIF(static image for now)

e.g When you visit https://your.website/pics/tsuki.jpg,it will serve as image/webp format without changing the URL.

For Safari and Opera users, the original image will be used. We've now support Safari/Chrome/Firefox on iOS 14/iPadOS 14

Simple Usage Steps

1. Download or build the binary

Download the webp-server from release page.

2. Dump config file

./webp-server -dump-config > config.json

The default config.json may look like this.

{
	"HOST": "127.0.0.1",
	"PORT": "3333",
	"QUALITY": "80",
	"IMG_PATH": "/path/to/pics",
	"EXHAUST_PATH": "/path/to/exhaust",
	"ALLOWED_TYPES": ["jpg","png","jpeg"]
}

Config Example

In the following example, the image path and website URL.

Image Path Website Path
/var/www/img.webp.sh/path/tsuki.jpg https://img.webp.sh/path/tsuki.jpg

The config.json should be like:

IMG_PATH
/var/www/img.webp.sh

EXHAUST_PATH is cache folder for output webp images, with EXHAUST_PATH set to /var/cache/webp in the example above, your webp image will be saved at /var/cache/webp/pics/tsuki.jpg.1582558990.webp.

3. Run

./webp-server --config=/path/to/config.json

4. Nginx proxy_pass

Let Nginx to proxy_pass http://localhost:3333/;, and your webp-server is on-the-fly.

Advanced Usage

For supervisor, Docker sections, please read our documentation at https://docs.webp.sh/

License

WebP Server is under the GPLv3. See the LICENSE file for details.

About

Go version of WebP Server. A tool that will serve your JPG/PNGs as WebP format with compression, on-the-fly.

https://webp.sh/

License:GNU General Public License v3.0


Languages

Language:Go 96.5%Language:Dockerfile 1.5%Language:Makefile 1.0%Language:Shell 1.0%