Commit graph

94 commits

Author SHA1 Message Date
sl
fe35d19c3e add "valid until" option to limit lifetime of signed requests
Closes #222

Co-authored-by: Will Norris <will@willnorris.com>
2025-06-29 15:09:08 -07:00
Matthew Beatty
2254a1f2ff add support for URL encoding remote URL
Updates #250
Updates #290
Fixes #447

Co-authored-by: Will Norris <will@willnorris.com>
2025-06-05 20:02:53 -07:00
Will Norris
d04e37fc14 README: add basic docs for using imageproxy with Caddy 2025-06-04 21:53:22 -07:00
Will Norris
80bc48388b README: standardize code block style 2025-06-04 21:39:46 -07:00
Will Norris
ddf11c9817 README: add hugo partial under clients 2025-06-04 21:34:32 -07:00
Will Norris
1ceba2538c add -forceCache flag to override no-store and private directives
The httpcache package is intended only to be used in private caches, so
it will cache responses marked `private` like normal.  However,
imageproxy is a shared cache, so these response should not be cached
under normal circumstances.  This change introduces a potentially
breaking change to start respecting the `private` cache directive in
responses.

This also adds a new `-forceCache` flag to ignore the `private` and
`no-store` directives, and cache all responses regardless.
2025-05-01 02:54:36 -07:00
Will Norris
8170536e41 README,docs: format and update URLs
Format docs with prettier. Update godoc.org URLs to pkg.go.dev.
2025-04-30 23:32:32 -07:00
Will Norris
7502adde1c allow overriding cache directives in responses
Add a new `-minCacheDuration` flag to specify a minimum duration to
cache images for.

Updates #28
Updates #144
Fixes #207
Fixes #208
2025-04-30 01:33:37 -07:00
Will Norris
0da52d1e25 allow base64 encoding the remote URL
Updates #431
Updates #447
2025-04-30 01:22:35 -07:00
Will Norris
9708b430f5 README.md: format file
I'm honestly not sure which formatter this is using. Probably something
from the markdown LSP server I'm using. Maybe something built in to
neovim or that ships with LazyVim?
2023-08-02 08:44:32 -07:00
Will Norris
84960fc8a0 bump go version to 1.18 and update deps 2023-08-02 08:44:32 -07:00
Will Norris
5afd9081d8 README: update URL of my personal imageproxy instance 2023-05-09 11:19:23 -07:00
Amirhosein Zlf
7295bec995 added clients section to README 2023-05-08 21:42:19 -07:00
Will Norris
d95da8f749 README: update URL for test images 2023-01-15 15:26:37 -08:00
Will Norris
4121c064ee readme: update minimum working go version 2022-11-14 20:34:06 -08:00
Will Norris
2174b956f3 docs: point out env var config option for docker 2021-10-13 08:44:00 -07:00
Will Norris
3f2e270fb2 docs: update install instructions for both go and docker 2021-10-12 21:03:22 -07:00
dependabot[bot]
5f85069fde
Bump github.com/aws/aws-sdk-go from 1.38.64 to 1.40.42 (#306)
* Bump github.com/aws/aws-sdk-go from 1.38.64 to 1.40.42

Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.38.64 to 1.40.42.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Changelog](https://github.com/aws/aws-sdk-go/blob/main/CHANGELOG.md)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.38.64...v1.40.42)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* bump minimum go version to 1.13

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Will Norris <will@willnorris.com>
2021-09-14 07:59:29 -07:00
Will Norris
7ba3f124eb cleanup license headers and contributing docs
- switch to "project authors" style copyright.  Instead of an AUTHORS
  file (https://opensource.google/docs/releasing/authors/), I just list
  Google as a major copyright holder in the README.
- use SPDX style license headers in source files
- remove CLA requirement from contributing docs
2021-03-10 12:24:13 -08:00
Will Norris
c34c3dd593 readme: add statement about supported go versions 2021-02-11 15:01:55 -08:00
Alexandre Testu
5bb32547c9 updated heroku instructons / added eb instructions 2021-01-24 12:32:17 -08:00
Will Norris
5600290c82 simplify shields.io URL 2020-06-23 23:52:41 +00:00
Will Norris
bfb3289bd5 update default branch to master
- fix URL for CI badge in README
- add actions workflow to push 'main' branch to 'latest' docker image
2020-06-21 17:50:32 +00:00
Blake Stoddard
f91e9cb508
Allow allowing/blocks hosts by IP range (#236) 2020-06-19 17:30:49 -07:00
Thom Wright
3c7d08f311 Fix dockerhub link
The current link goes to a blank page for me.
2020-05-05 07:51:15 -07:00
Will Norris
2eb6dfcd05 remove my personal config from example systemd file 2020-02-24 00:20:43 +00:00
Will Norris
edd9dbac2d allow space-separated list of signature keys
This is necessary when specifying options as environment variables.
Also add documentation for using multiple signature keys.
2020-02-02 18:45:39 +00:00
Will Norris
176e818df9 use pkg.go.dev for documentation 2020-01-26 18:50:43 +00:00
Will Norris
5c76261bfd github actions: cache go modules; disable travis
This is mostly an experiment, but I think it will work well.  GitHub
Actions provides MacOS and Windows builds (though I'm only adding in
Windows at the moment), and cleaner integration.  Builds also seem to be
completing faster than Travis.
2019-11-02 11:39:05 -07:00
Will Norris
fb937ccd1b readme: add note about docker bind-mounts
when we changed the container to run as a non-root user, it broke some
imageproxy instances that were relying on the default docker user and
file permissions.  Users running dockerized imageproxy with a
bind-mounted on-disk cache now need to make sure the user and file
permissions line up.

fixes #198
2019-09-13 12:40:48 +00:00
Simon Ramsay
4935eff835 updated docker entrypoint path to bin (#183)
path to bin was changed in v0.9.0
2019-06-12 09:19:01 -07:00
Will Norris
1569bfda30 add CII best practices badge 2019-06-10 01:00:19 +00:00
Will Norris
be4555a867 document caching on Digital Ocean spaces
I briefly tested this, and it seems to work fine.

Fixes #159
2019-06-09 23:37:59 +00:00
Will Norris
53916943e5 update URL for my imageproxy instance 2019-06-09 23:03:42 +00:00
Will Norris
fe437a0b8c allow specifying multiple cache with spaces
this is necessary for the new environment variable support for config
values.  I don't love that allowHosts is comma separated and cache is
space separated :(
2019-06-09 22:09:55 +00:00
Will Norris
50e0d1104d allow using environment vars for configuration
fixes #151
2019-06-09 21:11:01 +00:00
Will Norris
30534fb6d4 readme: suggest a simpler nginx config
the old nginx config was designed to prevent url canonicalization, which
is no longer a concern, and was causing problems with non-latin
characters.

Fixes #178
2019-05-12 11:09:26 -07:00
Will Norris
b984bd0796 upload test converage report to codecov 2019-03-22 08:12:18 +00:00
yvind Ngai Johnsen
7264d177a1 Add denyHosts flag to deny URLs for certain hosts
For example, when running in a Docker swarm cluster we dont want it to
have access to our internal services available under *.weave.local

Closes #85
2019-03-22 04:44:08 +00:00
Will Norris
127a621c8a finish renaming remoteHosts to allowHosts 2019-03-22 03:27:19 +00:00
Will Norris
7ca6319cc9 move wiki content to docs directory 2019-03-21 23:23:24 +00:00
Will Norris
b18d156894 readme: add reference and link to signature option
Closes #140
2019-03-17 03:09:05 +00:00
Will Norris
ab8916a938 making smart crop docs more prominent
Fixes #138
2019-03-17 01:10:30 +00:00
Will Norris
e860748032 s3cache: expose add'l config options as URL params
this should allow using at least some s3-compatible services like minio.

Fixes #120, #147
2019-03-16 22:55:06 +00:00
Will Norris
70276f36bc rename 'Whitelist' to 'RemoteHosts"
This better describes what exactly is being allowed.
2018-09-15 05:55:02 +00:00
Will Norris
0370572130 change how content-type enforcement is handled
If no content types are specified, then accept all responses, regardless
of content type (this is the behavior imageproxy has historically had).
Change default value for the contentTypes flag to be "image/*", so that
the new default when running cmd/imageproxy is that only images will be
proxied.  The old default behavior can be achieved by passing an empty
string for the contentTypes flag:

    imageproxy -contentTypes ""

Do not send the "XCTO: nosniff" header, since all documentation that I
can find still says that it can cause problems when served with images.
If it's effectively a noop when an explicit content-type is specified in
the response, then this shouldn't actually matter for us either way.
But in the absence of certainty, I'd rather err on the side of following
the spec.

Also add documentation for the new functionality.

Fixes #141
2018-09-15 05:36:25 +00:00
Will Norris
82ba3b6445 readme: move badges below title 2018-02-06 16:09:10 +00:00
Will Norris
0c20cbe5b5 switch to use internal gcscache 2018-02-02 10:05:56 +00:00
Will Norris
7dbadc01d4 list image with smart crop first to match text 2017-09-27 03:47:08 +00:00
Will Norris
afbd254cdc add smartcrop feature
fixes #55
2017-09-27 00:54:15 +00:00