Commit Graph

86 Commits

Author SHA1 Message Date
Victor Sokolov
2d9ad5c250 IMG-49: Introduced instance (#1512)
* Introduced instance

* Makefile changes
2025-09-09 15:11:37 +02:00
DarthSim
e11afc18a8 Merge branch 'master' into version/4 2025-09-08 22:09:34 +03:00
DarthSim
7da78ef191 Add IMGPROXY_GRACEFUL_STOP_TIMEOUT config 2025-09-08 20:32:23 +03:00
Victor Sokolov
c6a95facbb headerwriter in processing_handler.go (#1507)
* headerwriter in processing_handler.go

* Remove not required etag tests

* ETagEnabled, LastModifiedEnabled true by default

* Changed Passthrough signature

* Removed etag package

* Merge writeDebugHeaders*
2025-08-27 15:20:10 +02:00
DarthSim
f3c78a028a Remove forgotten debug log 2025-07-05 20:56:32 +03:00
DarthSim
1799ac7eb7 Add support for %current_version variable in IMGPROXY_USER_AGENT 2025-07-05 20:53:17 +03:00
DarthSim
7948ffa31b Fix "Webp effort can't be greater than..." error 2025-06-30 18:35:43 +03:00
DarthSim
91abc6f385 Merge branch 'feature/webp-effort-preset' 2025-06-30 18:31:19 +03:00
DarthSim
92a281f834 Simplify WebP preset config 2025-06-30 18:28:31 +03:00
DarthSim
3c4a75a709 Remove the IMGPROXY_SVG_FIX_UNSUPPORTED config. The problem it was solving is now fixed in librsvg 2025-06-11 16:45:25 +03:00
DarthSim
2864bab12d Add IMGPROXY_ALLOWED_PROCESSING_OPTIONS config 2025-06-09 18:15:24 +03:00
hossein
4d684fab0a feat(): Add libvips's equivalent options for configuring libwebp's effort and preset. 2025-06-08 23:34:12 +03:30
DarthSim
a5a587eb39 Add IMGPROXY_MAX_RESULT_DIMENSION config and max_result_dimension processing option 2025-06-06 19:29:39 +03:00
DarthSim
10285240a9 Remove the IMGPROXY_S3_MULTI_REGION config. imgproxy now always work in multi-regional S3 mode 2025-03-23 18:26:42 +03:00
DarthSim
204cfa3648 Add IMGPROXY_COOKIE_PASSTHROUGH_ALL config 2025-02-12 22:34:31 +03:00
DarthSim
0f37d62fd8 Add IMGPROXY_BASE64_URL_INCLUDES_FILENAME config 2025-01-16 20:52:45 +03:00
DarthSim
bf8a39821b Add IMGPROXY_SOURCE_URL_QUERY_SEPARATOR config 2025-01-07 20:48:05 +03:00
DarthSim
181fffee5b Change IMGPROXY_AVIF_SPEED and IMGPROXY_FORMAT_QUALITY default values 2024-12-08 20:23:46 +03:00
DarthSim
90e5f19a6e Rename IMGPROXY_ENABLE_*_DETECTION configs to IMGPROXY_AUTO_* 2024-12-08 19:26:58 +03:00
DarthSim
3f4edb91f7 JPEG XL (JXL) support 2024-12-08 19:02:08 +03:00
Xie Wu
43af46b48b Add IMGPROXY_S3_ENDPOINT_USE_PATH_STYLE control UsePathStyle (#1314) 2024-08-29 19:24:54 +06:00
DarthSim
dbfe0eb52e Allow 0 as IMGPROXY_FALLBACK_IMAGE_HTTP_CODE value 2024-08-20 17:21:43 +03:00
DarthSim
23baf1cae0 Add IMGPROXY_ARGUMENTS_SEPARATOR and IMGPROXY_PRESETS_SEPARATOR configs 2024-07-06 22:36:21 +03:00
Koen Punt
fed87524a0 fix spelling of "project" in airbrake config keys (#1291) 2024-06-12 21:14:16 +06:00
DarthSim
cb32e71788 Rename IMGPROXY_WRITE_TIMEOUT to IMGPROXY_TIMEOUT and IMGPROXY_READ_TIMEOUT to IMGPROXY_READ_REQUEST_TIMEOUT 2024-06-03 20:36:32 +03:00
DarthSim
e867d0f10a Add write response timeout 2024-06-03 20:26:10 +03:00
Riyadh Al Nur
259b66e5e9 Add support for passing in an external ID when using S3 assume role (#1290) 2024-05-26 01:26:21 +06:00
DarthSim
13d311fd1a Reset config at the start of config.Configure() 2024-04-30 17:04:12 +03:00
DarthSim
e0ea0ba6e1 Bump version 2024-04-29 18:16:06 +03:00
DarthSim
c56e9e64b9 Add IMGPROXY_PNG_UNLIMITED and IMGPROXY_SVG_UNLIMITED configs 2024-04-15 20:28:05 +03:00
Frezyy
923b32a1b4 feat: Implement AlwaysRasterizeSvg (#1257)
Implement AlwaysRasterizeSvg
Add sanitize to skip processing
Add tests
Refactoring skipProcessing
2024-03-25 20:53:43 +06:00
DarthSim
8f95063e16 Increase IMGPROXY_MAX_SRC_RESOLUTION default value to 50 2024-03-07 17:43:04 +03:00
DarthSim
5d7fe36a67 Revise OpenTelemetry configuration: use standard OTel env vars when possible 2024-02-25 00:40:52 +03:00
DarthSim
73c54abd4e Add IMGPROXY_TRUSTED_SIGNATURES config 2024-02-22 17:33:52 +03:00
DarthSim
54313eb207 Add AWS Lambda adapter to the Docker image; Set workers and vips concurrency when running in AWS Lambda 2024-01-22 18:47:48 +03:00
DarthSim
79e6b32c9c Allow IMGPROXY_TTL to be zero 2023-12-04 19:42:07 +03:00
Garen J. Torikian
b384e2bb7f Add client-side decryption support to S3 2023-11-05 23:10:51 +03:00
DarthSim
07e34a45f2 Rename concurrency to workers 2023-08-15 21:05:55 +03:00
DarthSim
3557fa2c4e Add S3 multi-region mode 2023-08-02 21:32:51 +03:00
DarthSim
9175c66fee Update maximum and default AVIF speed 2023-06-29 20:05:24 +03:00
DarthSim
a246eda065 Ensure URL replacements are executed in the specified order 2023-05-28 19:59:51 +03:00
DarthSim
aaaf1c706d Normalize IMGPROXY_PATH_PREFIX and IMGPROXY_HEALTH_CHECK_PATH 2023-05-17 17:55:12 +03:00
DarthSim
bc5ca9a344 Add URL replacements 2023-05-15 20:15:12 +03:00
Adomas Kizogian
e8952edbf7 allow acquiring s3 access credentials through role assumption (#1152)
* allow acquiring s3 access credentials through role assumption

* improve cross-account access docs

* Update docs/serving_files_from_s3.md

Co-authored-by: Sergey Alexandrovich <DarthSim@users.noreply.github.com>

---------

Co-authored-by: Sergey Alexandrovich <DarthSim@users.noreply.github.com>
2023-05-09 20:50:02 +06:00
Ewan Higgs
4944dfab30 Support Last-Modified response header and support If-Modified-Since request header. (#1147)
* Always return Last-Modified and support If-Modified-Since.

* IMGPROXY_USE_LAST_MODIFIED config setting.

IMGPROXY_USE_LAST_MODIFIED  (default false) when enabled will return the
Last-Modified time of the upstream image and also allow the support of
the If-Modified-Since request header (returning a 304 if the image
hasn't been modified).

If-Modified-Since allows If-None-Match to take precedence.

* Fixes based on DarthSim's feedback.

1. Don't worry about nil maps.
2. Fix a test now that we use the config.LastModifiedEnabled (and move
   it's location it he test file to a more sane place).
3. Update GCS transport code based on the refactoring of DarthSim.

In this iteration, we pull the Updated time from the GCS object attributes
and format them as a string. We then parse it in the notmodified module.
Seems a bit silly to do it this way. If we agree on the approach here,
then AWS and Azure can follow.

* Support azure, fs, s3, and swift.

* Grab the headers for If-Modified-Since and Last-Modified before parsing them.

* Add tests for last-modified for fs.

* Support Last-Modified being passed when streaming an upstream file.

* Tests for Last-Modified for GCS and Azure

* Support s3 and swift tests. Sadly fakes3 doesn't support Last-Modified

* Test against forked gofakes3
2023-05-03 21:21:46 +06:00
DarthSim
1a9768a2c6 Prohibit connecting to loopback, link-local multicast, and link-local unicast IP addresses by default 2023-03-22 20:25:51 +03:00
DarthSim
9416168575 Security processing options 2023-02-23 21:11:44 +03:00
Sasha Melentyev
4685e4e222 chore: Changing fmt.Errorf to errors.New when there is no formatting required (#1044)
Co-authored-by: Sergey Alexandrovich <DarthSim@users.noreply.github.com>
2022-12-15 21:03:08 +06:00
DarthSim
79e473798d Add CloudWatch metrics 2022-12-04 21:01:37 +06:00
DarthSim
bf472d3df9 Use runtime.GOMAXPROCS to calc default concurrency 2022-12-01 01:42:47 +06:00