63 Commits

Author SHA1 Message Date
059aba8a4d feat(encoder): add logging and support for AVIF and JXL image formats 2024-10-22 22:47:56 +08:00
2b11f38480 feat(webp-server): add memory usage monitoring 2024-10-22 17:30:02 +08:00
c9cb32b0da 尝试优化内存占用
feat(encoder): optimize prefetch images with worker pool and progress bar
refactor(handler): improve downloadFile function with error handling
refactor(helper): use streaming JSON encoder for metadata
chore(webp-server): update server config with write buffer size
2024-10-22 17:26:43 +08:00
Nova Kwok
89ea0affa3
Add MAX_CACHE_SIZE config (#344)
* Add MAX_CACHE_SIZE

* Bump actions version

* Optimize code

* Use Ticker to control GC loop
2024-06-29 16:42:00 +08:00
Nova Kwok
43c275e3ec
Adds JPEG XL support, max_height/max_width support (#321)
* WIP JXL

* Fix test

* Tries to fix autobuild

* Tries to fix autobuild

* Add setup go in codeql

* Bump actions version

* Do not print curl output in CI

* Do not print curl output in CI

* Remove Metadata on RAW image

* Update sample config

* better loop

* Prefetch should also respect AllowedType

* Better Export params and UA handle

* Only do conversion on supported formats

* CONVERT_TYPES default to webp only

* CONVERT_TYPES default to webp only

* Add GIF to AllowedTypes

* Update README
2024-03-22 15:12:09 +08:00
Nova Kwok
ca1050d3c7
Optimized Dockerfile, bump version (#318)
* Optimized Dockerfile, bump version

* Remove unused extraParams
2024-02-29 20:06:15 +08:00
Nova Kwok
cc26be0f1d
Add healthz endpoint (#296) 2023-11-23 15:40:29 +08:00
Nova Kwok
4f39a1c0b4
Unify ENV (#289) 2023-11-05 19:16:44 +08:00
Nova Kwok
655fb1dcca
Add env on startup (#283)
* Add READ_BUFFER_SIZE, CONCURRENCY,DISABLE_KEEPALIVE to ENV

* Add TestGuessSupportedFormat
2023-10-17 16:41:01 +02:00
Nova Kwok
5d265dce33
Parse flat before load config (#275)
* Parse flat before load config

* Bump version to 0.9.11
2023-09-15 14:13:30 +08:00
Nova Kwok
24b96a901b
ReductionEffort to 0 (#254) 2023-07-18 16:16:14 +08:00
Benny
a7b5992662
Metadata (#251)
* recover middleware

* simplify Atoi

* metadata data prototype

* InterestingAttention

* resize itself

* Bump version to 0.9.4
Added some comments
Removed String() for Extraparams

* Add metadata test

* Fix CI

* Remove unnecessary tests

* Update file count

* use t.Run to get test case

---------

Co-authored-by: n0vad3v <n0vad3v@riseup.net>
2023-07-11 19:08:32 +02:00
Benny
13281d929b
add some tests (#239)
* add some tests

* remove template

---------

Co-authored-by: n0vad3v <n0vad3v@riseup.net>
2023-07-03 17:01:13 +08:00
Benny
23bbed8ce6
Refactor review (#220)
* runnable

* convert is working

* some refactoring

* update go.mod

* fix some TODOs

* add TODO

* update go mod

* rebase onto master

* fix #234

2: 5.9s - 7.6MB
4: 26s - 6.9MB

* fix malloc tests

* fix malloc tests

* remote TODO

* add X-Real-IP #236

* Better localRawImagePath

* remove some wrong comments

* Bump version to 0.9.0

---------

Co-authored-by: n0vad3v <n0vad3v@riseup.net>
2023-06-27 15:43:43 +02:00
Nova Kwok
9268ada0b3
A better way to handle remote content-type, fix etag (#216)
* A better way to handle remote content-type, fix etag

* Check for err

* Optimize on fetchRemoteImage

* Write 600 permission

* Implement simple lock for write operation

* Removing typo

* Removing typo

* Setup cache

* Fix CI

* Fix retry and remove genEtag

* Fix error note

* remove duplicate Get

* WTF

* Fix tests

* remove broken test

* Fix broken tests
2023-05-29 19:41:39 +08:00
BugFest
c66fccfffd
Implement fiber etag middleware to replace etag generation (#218) 2023-05-29 14:55:11 +08:00
Nova Kwok
bfa8aae10c
Try using vips (#190)
* Try using vips

* No need libaom

* Update code and version

* update

* Fix CI

* Add sudo

* Fix CI

* Make CI happy

* we happy few

* Update README, fix CI

* Add --no-install-recommends

* Update code

* Add ca-certificates for proxymode

* Add pics/invalid.png for testing

* Update README

---------

Co-authored-by: Benny <benny.think@gmail.com>
2023-05-10 10:52:36 +08:00
Nova Kwok
77b5b6047c
Use debian as baseimage in Dockerfile (#176)
* Use debian as baseimage in Dockerfile to mitigate https://github.com/webp-sh/webp_server_go/issues/175

* Fix Dockerfile path
2023-02-22 15:19:27 +08:00
Nova Kwok
68cefb6740
A bunch of fixes (#161)
* Some updates

* Update Docs as well
2022-12-25 16:19:47 +08:00
BennyThink
e9543522ae
avif support is almost complete 2021-12-04 17:25:26 +08:00
Benny
9329ac65fe
fix runtime.GOOS=="windows, add more test cases, bump to newer version of fiber and libwebp (#68)
* fix runtime.GOOS=="windows, add some test cases

test cases are still limited for flag

* update to latest fiber v2.4.0 & libwebp v1.2.0

manually test confirmed
2021-02-01 16:14:23 +08:00
BennyThink
2a6492f0df
add logger middleware to show response time 2020-12-03 10:34:24 +08:00
Nova Kwok
9eda9ee799
Feature: Add Compression rate on header (#59)
* Add X-Compression-Rate on response header

* add test case for compression rate, change logging and other improvements

* move config to config.go, add header for safari and proxyMode, logging improvement

* update gitignore for remote-raw and coverage.txt

* Refine log level
2020-11-27 15:41:03 +08:00
BennyThink
a67de53ae6
url with non-ascii fix, bump version
This commit has fixed issue reported in PR 57, add test case
2020-11-24 22:25:10 +08:00
Benny
08c333f3cd
Fiber v2, code format, typo,test case, go 1.15 and more (#54)
* upgrade to fiber v2

* code format

* remove redundant variables
* remove useless exportable variables/functions

* go mod replace

use our own mirror now.

* add test case for converter, use deferInit to make test more simple

* remove useless file and fix typo

* Makefile change
* upgrade to go 1.15
* remove wrong go test comments

* complete test case, coverage, coverage badge

* Fix version typo

* config struct fix

* add banner, show version, add server header, remove fiber startup message

Co-authored-by: n0vad3v <n0vad3v@riseup.net>
2020-11-21 13:26:03 +08:00
Nova Kwok
2d2df5571d
Feature: WebP Proxy (#51)
* feat-webp-proxy

* Fix panic on clear Cache, modified output.

* Optimize etag fetch logic

* Update README for new docs website.

* Bump version to 0.2.0.
2020-08-06 14:55:20 +08:00
Nova Kwok
36eb669031
Update iOS render policy and test case, bump version to 0.1.5 (#50)
Update iOS render policy and test case, bump version to 0.1.5.
2020-07-14 17:56:16 +08:00
n0vad3v
6abbc14a84
Bump version 2020-07-01 21:51:11 +08:00
Benny~
6f8d978268
isSafari test case 2020-05-23 12:38:47 +08:00
n0vad3v
5cc9bf2588
Update README.
Bump to 0.1.2.
2020-03-20 13:20:02 +08:00
Benny~
ca8aacd73d
systemd service file update, close #27
* remove capabilities: older kernel doesn't support
* remove reload: we don't support.
2020-03-12 19:33:13 +08:00
Benny~
e2e39e0690
add check for invalid img path 2020-03-07 13:09:58 +08:00
n0vad3v
ff0ec84d82
optimize log 2020-03-07 13:09:32 +08:00
n0vad3v
7bdd0812f6
Added custom log level with -v.
Fix bug caused by hard code of exhaust path.
Bump version to 0.1.1.
2020-03-06 21:06:32 +08:00
n0vad3v
e861578606
Bump to 0.1.0.
Update README.
2020-03-05 21:12:09 +08:00
Benny~
d5f7977d97
merge incident 2020-03-05 20:05:05 +08:00
Benny~
3aa872e0ff
resolve conflict, close PR #21 2020-03-04 22:06:24 +08:00
Nova Kwok
e6ba6d4045
Merge pull request #19 from webp-sh/autoUpdate
auto update in background
2020-03-04 21:02:03 +08:00
Benny~
579be00b41
split functions to different files. Build and run, please use package mode, example:
`go run .`
`go build .`
`go run . --prefetch`
2020-03-04 20:14:45 +08:00
Benny~
f65a3ed70e
auto update 2020-03-04 19:51:55 +08:00
n0vad3v
9e6f648cc4
Push README.md
Bump version.
2020-03-03 20:52:42 +08:00
Benny~
04ea19331c
prefetch in background 2020-03-03 19:56:00 +08:00
Benny~
f4a1bad454
prefetch custom cores, -jobs=3 2020-03-03 19:50:06 +08:00
Benny~
c0f5368319
dump systemd and config.json
Param:
dump-config
dump-systemd
2020-03-03 19:37:57 +08:00
Benny~
102cba7f4f
add bmp and gif support.
gif support is not perfect, need animated webp
2020-03-03 19:26:48 +08:00
Benny~
954a55adbe
add backward compatibility to exhaust path 2020-03-02 21:38:55 +08:00
Nova Kwok
95183ab1c3
Added custom exhaust path. (#16)
* Added custom exhaust path.
Bump to 0.0.4.

* Fix typo
2020-03-02 21:17:44 +08:00
Benny~
590d02d2c1
755 for non-root 2020-03-01 19:33:18 +08:00
Benny~
062b9dcf69
safari & 644 perm 2020-03-01 16:15:19 +08:00
Benny~
a9dd261702
fix extension check 2020-03-01 15:33:54 +08:00