8b7d8d0cc6
Assume no User-Agent is Kindle
continuous-integration/drone/push Build is passing
2025-01-26 22:52:07 +01:00
6e9ebab87b
Dependencies for prev change.
continuous-integration/drone/push Build is passing
2025-01-24 17:26:35 +01:00
f41910d9f4
Use ASCII7 file names to support Kobo web browser
continuous-integration/drone/push Build is failing
2025-01-24 17:23:24 +01:00
f3f0c77b62
Drone CI
continuous-integration/drone Build is passing
2025-01-24 17:12:52 +01:00
dependabot[bot]
baab651482
build(deps): bump github.com/knadh/koanf/providers/file from 1.1.0 to 1.1.2 ( #19 )
...
Bumps [github.com/knadh/koanf/providers/file](https://github.com/knadh/koanf ) from 1.1.0 to 1.1.2.
- [Release notes](https://github.com/knadh/koanf/releases )
- [Commits](https://github.com/knadh/koanf/compare/v1.1.0...providers/file/v1.1.2 )
---
updated-dependencies:
- dependency-name: github.com/knadh/koanf/providers/file
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 10:46:48 -05:00
dependabot[bot]
c2a29b5cb3
build(deps): bump actions/setup-go from 5.0.2 to 5.1.0 ( #21 )
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](0a12ed9d6a...41dfa10bad )
---
updated-dependencies:
- dependency-name: actions/setup-go
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 10:46:27 -05:00
dependabot[bot]
9cb0fa32b5
build(deps): bump docker/build-push-action from 6.7.0 to 6.9.0 ( #15 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.7.0 to 6.9.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](5cd11c3a4c...4f58ea7922 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 10:46:02 -05:00
dependabot[bot]
a02d0b582f
build(deps): bump docker/setup-buildx-action from 3.6.1 to 3.7.1 ( #17 )
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 3.6.1 to 3.7.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](988b5a0280...c47758b77c )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 10:45:47 -05:00
dependabot[bot]
8e6a5d2234
build(deps): bump actions/checkout from 4.1.7 to 4.2.2 ( #22 )
...
Bumps [actions/checkout](https://github.com/actions/checkout ) from 4.1.7 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases )
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md )
- [Commits](692973e3d9...11bd71901b )
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 10:45:28 -05:00
dependabot[bot]
3612201c77
build(deps): bump google-github-actions/auth from 2.1.5 to 2.1.7 ( #23 )
...
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth ) from 2.1.5 to 2.1.7.
- [Release notes](https://github.com/google-github-actions/auth/releases )
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md )
- [Commits](62cf5bd3e4...6fc4af4b14 )
---
updated-dependencies:
- dependency-name: google-github-actions/auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-11-11 10:45:09 -05:00
dependabot[bot]
05203649d8
build(deps): bump google-github-actions/auth from 2.1.4 to 2.1.5 ( #14 )
...
Bumps [google-github-actions/auth](https://github.com/google-github-actions/auth ) from 2.1.4 to 2.1.5.
- [Release notes](https://github.com/google-github-actions/auth/releases )
- [Changelog](https://github.com/google-github-actions/auth/blob/main/CHANGELOG.md )
- [Commits](f112390a2d...62cf5bd3e4 )
---
updated-dependencies:
- dependency-name: google-github-actions/auth
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-31 12:22:02 -04:00
dependabot[bot]
3d01b5eac5
build(deps): bump docker/build-push-action from 6.6.1 to 6.7.0 ( #13 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.6.1 to 6.7.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](16ebe778df...5cd11c3a4c )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-22 17:23:51 -04:00
Evan Buss
0f0540549d
feat: request deduplication / debouncing
...
Kobo eReaders have a buggy browser that makes 2 requests for
the same HTTP resource when you click a link.
This change ensures that requests within a certain time frame
from the same IP, for the same path / query params will only
be executed a single time.
We record the http request response and replay it for the second
request. If we get 2 simultaneous requests, we use the
sync/singleflight library to ensure only the first request is actually
processed. The second waits for the shared result of the first.
This probably adds latency since some requests are blocked while
we determine if we already have a cache entry, but for a simple
service like this I don't think it matters.
2024-08-18 18:37:42 +00:00
dependabot[bot]
5d45afd419
build(deps): bump github.com/knadh/koanf/providers/file from 1.0.0 to 1.1.0 ( #11 )
...
Bumps [github.com/knadh/koanf/providers/file](https://github.com/knadh/koanf ) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/knadh/koanf/releases )
- [Commits](https://github.com/knadh/koanf/compare/v1.0.0...v1.1.0 )
---
updated-dependencies:
- dependency-name: github.com/knadh/koanf/providers/file
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 10:02:07 -04:00
dependabot[bot]
129aa984cd
build(deps): bump docker/setup-buildx-action from 3.0.0 to 3.6.1 ( #10 )
...
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action ) from 3.0.0 to 3.6.1.
- [Release notes](https://github.com/docker/setup-buildx-action/releases )
- [Commits](f95db51fdd...988b5a0280 )
---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 10:01:51 -04:00
Evan Buss
3e3b662aa9
fix: mobile device scale
...
Add `viewport` meta tag so site scales properly on mobile devices
2024-08-12 13:57:50 +00:00
Evan Buss
105a72c931
ci: use correct cloud run name
2024-08-11 19:42:35 -04:00
Evan Buss
03664b3f58
build: automatic deploy to cloud run
2024-08-11 23:20:56 +00:00
Evan Buss
33ab199b21
fix: panic when auth not specified
v0.2.1
2024-08-11 20:20:41 +00:00
Evan Buss
7e80ae1718
ci: fix build-args
v0.2.0
2024-08-11 15:33:03 -04:00
Evan Buss
54687383d1
ci: fix ldflags
2024-08-11 19:20:48 +00:00
Evan Buss
9da7ea1bbc
feat: environment configuration
...
Environment variables can now be used to configure any
config property including the feeds list.
This makes it easier to use in environments without access
to config files like GCR. Some may prefer not to have a separate
config file as well.
Also added build metadata to the docker image and binaries.
2024-08-11 18:47:46 +00:00
Evan Buss
d8d35b6cef
ci: pin action versions to specific commit
2024-08-11 11:16:07 -04:00
Evan Buss
1ad71172f1
docs: update getting started
2024-08-11 05:25:20 +00:00
Evan Buss
c4a5f54a62
ci: goreleaser missing github token
v0.1.1
2024-08-11 00:46:59 -04:00
Evan Buss
45b13d3a68
docs: use absolute image href
...
The dockerhub description action doesn't seem to be able
to auto-convert relative links inside `<img />` tags.
v0.1.0
2024-08-11 00:36:03 -04:00
dependabot[bot]
6425fba27e
build(deps): bump docker/metadata-action from 5.0.0 to 5.5.1 ( #7 )
...
Bumps [docker/metadata-action](https://github.com/docker/metadata-action ) from 5.0.0 to 5.5.1.
- [Release notes](https://github.com/docker/metadata-action/releases )
- [Commits](96383f4557...8e5442c4ef )
---
updated-dependencies:
- dependency-name: docker/metadata-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-11 00:22:55 -04:00
dependabot[bot]
be88d138d6
build(deps): bump docker/build-push-action from 5.0.0 to 6.6.1 ( #9 )
...
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 5.0.0 to 6.6.1.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](0565240e2d...16ebe778df )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-11 00:22:47 -04:00
dependabot[bot]
2fad8cae4f
build(deps): bump docker/login-action from 3.0.0 to 3.3.0 ( #8 )
...
Bumps [docker/login-action](https://github.com/docker/login-action ) from 3.0.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases )
- [Commits](343f7c4344...9780b0c442 )
---
updated-dependencies:
- dependency-name: docker/login-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-11 00:22:34 -04:00
Evan Buss
37098e0549
ci: minor fixes
...
- Fix docker casing warning
- Fix docker hub relative image URL resolution
- More restrictive goreleaser changelog filtering
2024-08-11 04:20:05 +00:00
Evan Buss
e3d97b8e5f
ci: fix permissions
...
again?
2024-08-11 04:11:47 +00:00
Evan Buss
a8ee848d75
ci: fix permissions
...
maybe?
2024-08-11 00:05:49 -04:00
Evan Buss
879b8ed5b7
ci: build / release action ( #6 )
...
Create docker images on github and docker hub on each
commit to `main`. Create release images on git tag as well
as Github release with executables.
2024-08-11 00:00:24 -04:00
Evan Buss
041d8d5e22
fix: only try to split host/port for RemoteAddr
2024-08-10 21:52:53 +00:00
Evan Buss
6c41117af1
feat: automatic redirect if single configured feed
2024-08-10 21:36:52 +00:00
Evan Buss
e21a648506
feat: "local only" automatic authentication
...
Often you want to expose your library publicly, which requires
authentication to prevent unknown users from seeing your
content.
In my case, I also expose the library on a local domain using a local DNS server which doesn't have these security issues.
This change adds a `local_only` option to the feed auth
config which will only supply the provided username/password
when the request comes from a private IP address.
Omitting `local_only` or setting to false will keep the current
logic of sending the credentials no matter the origin of the
request.
2024-08-10 21:34:23 +00:00
Evan Buss
ccc6217014
feat: structured logging improvements
...
This change adds a child logger with request information to the
http request context. Also improved the log format for clarity.
- Unescaped the query string
- Use JSON log format when not in dev mode.
- Added request ip to the request child logger.
- The child logger is passed to the converter so we can associate
any errors with a specific request / file.
- Add book file name as a logger attribute
- Add user agent header as a logger attribute
- Log the "X-Forwarded-For" header, falling back to RemoteAddr
2024-08-10 20:03:34 +00:00
Evan Buss
be78d83bd6
fix: single conversion at a time
...
See the notes for a full explanation, but basically
Kobo is making simultaneous requests and the
files were conflicting because there were 2 being
downloaded / converted at the same time which
resulted in unreliable behavior.
The solution is to protect the conversion
section to allow a single conversion to complete
before allowing the next one to start.
2024-07-14 19:56:00 +00:00
Evan Buss
56cb81bbb4
fix: return after handleError
2024-07-13 20:52:29 +00:00
Evan Buss
7f0e8f8dfb
docs: fix typo
2024-07-13 16:09:34 -04:00
Evan Buss
a637e93ee3
docs: reduce image size
2024-07-13 16:08:54 -04:00
Evan Buss
4281c08b8a
docs: update config instructions
2024-07-13 20:00:54 +00:00
Evan Buss
3d4af0bd61
refactor: cleanup
...
naming and other things
2024-07-13 19:37:57 +00:00
Evan Buss
349e86f0b1
feat: server-side feed credentials
...
If a feed requires credentials, OPDS Proxy can transparently
set them server side by reading the feed configuration.
This is useful in scenarios where the server operator sets up their
own authentication in front of OPDS Proxy and doesn't want to
have users remember separate credentials for each of the configured
feeds.
2024-07-13 18:24:10 +00:00
Evan Buss
28d3a7d761
feat: secure cookie keys config
...
If keys aren't specified they will be generated. The downside
of this is that the keys will change every server restart
which will invalidate previously generated cookies.
If the keys are specified in the config.yml, they are
used between restarts and all previously generated
cookies remain valid.
2024-07-13 18:01:19 +00:00
Evan Buss
9094e780d0
feat: search
2024-07-13 17:16:38 +00:00
Evan Buss
4f3948943a
feat: cookie authentication
...
use encrypted cookies to authenticate
basic auth feeds. most eReader browsers
don't support basic auth
2024-07-13 01:55:48 +00:00
Evan Buss
f4408abeae
refactor: dry conversion code
2024-07-12 19:36:08 +00:00
Evan Buss
b683d0c9b6
feat: set up configuration
...
A YAML file is used to set the available feeds.
The CLI args can set the port and the path to the YAML file.
2024-07-12 15:10:48 +00:00
Evan Buss
1f2183f141
feat: mobi conversion
...
Will automatically convert .epub to .mobi on Kindle
2024-07-11 19:47:55 +00:00