0
Fork 0
mirror of https://github.com/willnorris/imageproxy.git synced 2024-12-16 21:56:43 -05:00
Commit graph

296 commits

Author SHA1 Message Date
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
8ae8c1b2ea run tests using GitHub Actions 2019-11-01 19:11:05 -07:00
Will Norris
d99be34251 use path package for matching content type
content type always uses forward slash, so path is the right package to
use.

fixes #191
2019-11-01 18:57:14 -07:00
Will Norris
c0a97f6742 simplify data.go and tests
remove unecessary string casting, and simplify duplicate tests.  Also
don't use struct literals for test values.
2019-10-13 19:28:22 -07:00
Will Norris
3b850734af cmd/imageproxy: use http.DefaultServeMux
this allows using the net/http/pprof package, and any other similar
package that registers handlers on the default ServerMux.
2019-10-13 11:16:34 -07:00
Will Norris
594376fc0f docs: link from plugins design to relevant issues/prs 2019-10-12 15:51:58 -07:00
Shahan Khan
ea95ad93a1 Support for better content type detection with images on S3 2019-10-12 08:20:52 -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
Will Norris
785c5bddd6 go.mod: group replacements into a single block 2019-09-07 21:41:14 +00:00
Will Norris
bee1a2766a go.mod: fix module replacement to build with go1.13
- fix timestamp for github.com/golang/lint
- move one commit ahead of v0.12.0 for github.com/apache/thrift
2019-09-07 21:38:41 +00:00
Abdullah Saleem
57a4d4671e Fixes #190 thrift dependency issue 2019-09-02 23:03:06 +00:00
Bastian Winkler
ec7166cc7a modules: update goexif dependency
See https://github.com/rwcarlsen/goexif/issues/73 reasons
2019-08-11 07:51:15 -07: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
a7a8966289 add miscellaneous tests
also fix minor bug in detecting content type for content less than 512
bytes.
2019-06-11 14:02:44 -07:00
Will Norris
6975320eb4 additional tests for imageproxy-sign 2019-06-11 11:16:01 -07:00
Will Norris
ca8fe71a0a refactor imageproxy-sign to make testing easier 2019-06-11 17:45:25 +00:00
Will Norris
24dac28957 0.9.0 release 2019-06-11 05:40:00 +00:00
Will Norris
b96e14a99f update changelog and move to docs folder 2019-06-11 05:32:40 +00:00
Will Norris
50866d9f70 default to using cache value as provided
when parsing cache values, if the values doesn't match a recognized URL
pattern, we treat it as a filepath for an on-disk cache.  However, this
doesn't appear to be working on Windows.  I don't have easy access to a
Windows box to test this on, but I *think* this should fix it.

Refs #181
2019-06-11 04:39:47 +00:00
Will Norris
d4ba5205ff add support for bmp images
handle decoding and encoding bmp images with transformations.  Because
this isn't a popular file format, we don't actually expose it as an
option for format transformation.

Fixes #182
2019-06-11 04:25:08 +00:00
Will Norris
1569bfda30 add CII best practices badge 2019-06-10 01:00:19 +00:00
Will Norris
66cc052997 add contributing docs for reporting issues 2019-06-10 00:41:05 +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
d8ed21c0f4 fix docker build with new envy package 2019-06-09 21:55:19 +00:00
Will Norris
50e0d1104d allow using environment vars for configuration
fixes #151
2019-06-09 21:11:01 +00:00
Will Norris
dfcfda52de add contribution guidelines for style and tests 2019-05-26 11:47:59 -07:00
Will Norris
e4a571d144 add status of plugin design to set expectation 2019-05-26 11:31:18 -07:00
Will Norris
69df3f68d8 initial sketch of registering plugins 2019-05-26 11:30:22 -07:00
Will Norris
627d27df2f doc: initial draft of plugin design 2019-05-26 11:30:22 -07:00
Will Norris
86915f1076 add minimal contributing file 2019-05-26 11:28:39 -07:00
Will Norris
6ec1036afb docs: make url signing examples more consistent
use consistent values for url and key and similar calling styles
(passing values as command line arguments.  Also use more utilities from
the language standard library, such as java.util.Base64.
2019-05-13 13:11:40 -05:00
Ethan Mick
7af1b52eef Fix signature documentation link location (#180)
Correct link from non-existent wiki page to new doc location on master
branch.
2019-05-13 08:28:08 -07: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
Harrison Healey
d4246a08fd allow overriding the Logger used by Proxy 2019-04-22 16:49:45 -07:00
Will Norris
e1558d5626 add imageproxy-sign tool for calculating signatures
it's a little bit rough, but seems to work pretty well.

Ref #145
2019-03-27 21:56:21 +00:00
Will Norris
38d3bcc7fe allow request signatures to cover options
URL-only signatures are still accepted, though no longer recommended.

Fixes #145
2019-03-27 21:00:14 +00:00
Will Norris
ae2a31cc01 sort options before converting to string
This makes the options string more predictable, and easier to compute by
other programs.  This is primarily  being done to enable signatures that
include option values (see #145).
2019-03-27 17:20:16 +00:00
Will Norris
cf54b2cf2c detect content type if response header is missing
Some misconfigured servers will fail to properly set the content-type in
the response header.  In those cases, detect the content-type from the
response body.

Refs #132
2019-03-26 22:50:38 +00:00
Will Norris
6aca1e0b20 set Accept header on requests if contentTypes set
If the imageproxy instance is configured to only accept certain content
types (which defaults to "image/*"), set that as the accept header on
outbound requests.

Also log more information about the outbound request when the `Verbose`
option is set, so the request headers can be seen in the logs.

Fixes #165
Refs #132
2019-03-24 18:14:28 +00:00
Will Norris
a27bf242c0 update all dependencies to latest versions 2019-03-22 19:39:05 +00:00
Will Norris
969ce986d2 update to latest version of the smartcrop package
Fixes #172
2019-03-22 19:17:22 +00:00
Will Norris
0791f8ceec add more tests: mostly trivial checks 2019-03-22 08:46:34 +00:00
Will Norris
b984bd0796 upload test converage report to codecov 2019-03-22 08:12:18 +00:00
Will Norris
c661aad66b travis: enforce go fmt and go vet 2019-03-22 08:09:51 +00:00
Will Norris
4a6b8653b6 fix minor go fmt and go vet issues 2019-03-22 08:05:59 +00:00
Will Norris
7d53c5100d remove vendor directory
imageproxy should be built with go1.11 or later with modules support
enabled.
2019-03-22 07:53:04 +00:00
Will Norris
44e7b31616 travis: build as module with latest go versions 2019-03-22 07:48:38 +00:00
Will Norris
a5297ae319 remove deprecated whitelist flag and struct field 2019-03-22 07:36:41 +00:00