Compare commits

...

19 Commits

Author SHA1 Message Date
Fabian Peter Hammerle 71cd9e4843 release v4.1.0 2021-03-03 14:25:32 +01:00
Fabian Peter Hammerle 677e9db8e2 added image labels org.opencontainers.image.title, .source & .revision
https://github.com/fphammerle/docker-onion-service/commit/46ca6d70fb2d4570bfddac6b3f5e485183e72405
https://github.com/fphammerle/docker-onion-service/commit/aa124bde955047b2de6316ff72d6b1f76d14e3ba
2021-03-03 14:08:29 +01:00
Fabian Peter Hammerle 8ae9e9e5b7 makefile: added "podman-build" target
https://github.com/fphammerle/docker-onion-service/commit/77a062c4afcd96abe1ba7663a2914a94e01b9c24
https://github.com/fphammerle/docker-onion-service/commit/4c673eef480af3bb9498c0364a55dc3d8f8a5afc
https://github.com/fphammerle/docker-onion-service/commit/a3e89529767a7eb52c4bce52277715d388f6935a
https://github.com/fphammerle/docker-onion-service/commit/e8dfe51bb831c54d9a87be7c70f3f79e2f45d9ce
2021-03-03 13:48:47 +01:00
Fabian Peter Hammerle 1951c1f3a9 enable transparent proxy 2021-03-03 12:25:12 +01:00
Fabian Peter Hammerle edac4ed3da upgrade alpine base image v3.13.1->3.13.2 including upgrade of tor package v0.4.4.6-r1->0.4.4.7-r1 (diff links below)
https://git.alpinelinux.org/aports/commit/community/tor?id=3ff23770ebde5d5ce691e662d25ba01bd5020f3d
https://git.alpinelinux.org/aports/commit/community/tor?id=a9d54349aa5fec39e2d79c46838ce05904ca9bda
https://git.alpinelinux.org/aports/commit/community/tor?id=9ed5ece0dd0317f1976a1bb4729e911786d33af9

cherry-pick of https://github.com/fphammerle/docker-onion-service/commit/0599554fd6ae2ee3404dc63cec90730b14fa1fc2
2021-02-19 13:13:56 +01:00
dependabot[bot] 5cc893c3c3 build(deps): bump alpine from 3.13.1 to 3.13.2
Bumps alpine from 3.13.1 to 3.13.2.

Signed-off-by: dependabot[bot] <support@github.com>
2021-02-19 06:10:22 +00:00
dependabot[bot] 4e2e1bbf4f build(deps): bump alpine from 3.13.0 to 3.13.1
Bumps alpine from 3.13.0 to 3.13.1.

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-29 05:49:05 +00:00
Fabian Peter Hammerle 40b88ec7d5 upgrade alpine base image v3.12.3->v3.13.0 including upgrade of tor v0.4.3.7-r0->v0.4.4.6-r1 (diff links below)
https://gitweb.torproject.org/tor.git/plain/ChangeLog

https://git.alpinelinux.org/aports/commit/community/tor?id=d181b0289ff7c32d371dcd976276672bbe2e7b72
https://git.alpinelinux.org/aports/commit/community/tor?id=9a0a0a5045901ab97ef455b54ffe19c91ca6993e
https://git.alpinelinux.org/aports/commit/community/tor?id=5edd132382384956e1787d4dcd5f1ffa9c520571
https://git.alpinelinux.org/aports/commit/community/tor?id=4ecb636d72d13db0f95f6e840e755bb260c91165
2021-01-15 12:46:01 +01:00
dependabot[bot] 67c5c44495 build(deps): bump alpine from 3.12.3 to 3.13.0
Bumps alpine from 3.12.3 to 3.13.0.

Signed-off-by: dependabot[bot] <support@github.com>
2021-01-15 06:05:59 +00:00
Fabian Peter Hammerle ba4cafac27 make: add tor package version to image tag 2021-01-01 17:40:10 +01:00
Fabian Peter Hammerle fea43b11d8 make: abort docker-build if changes uncommitted; suggest git tag command
https://github.com/fphammerle/wireless-sensor-mqtt/blob/222d2e124d231b207da647c1f7a9c5ec9a37b4ac/Makefile#L34
2021-01-01 17:29:38 +01:00
Fabian Peter Hammerle 4f6950af1d make: added docker-build & docker-push target
https://github.com/fphammerle/systemctl-mqtt/commit/54a3c74eae0e85307ac5f9258c345bc133d3133a#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
https://github.com/fphammerle/systemctl-mqtt/commit/7887079ebeed7e26cfc36bbdcbdfd6ceeb65bdee#diff-76ed074a9305c04054cdebb9e9aad2d818052b07091de1f20cad0bbac34ffb52
2021-01-01 17:25:40 +01:00
Fabian Peter Hammerle 7cbef67a3f release v4.0.0 2021-01-01 17:20:14 +01:00
Fabian Peter Hammerle dfe104eb09 healthcheck: replace dig with pre-installed nslookup 2021-01-01 16:38:41 +01:00
Fabian Peter Hammerle 6a9e7a1f42 healthcheck: restore dns request as network-liveness is too optimistic
partial revert of commit 8d1a635ddc.
2021-01-01 16:36:24 +01:00
Fabian Peter Hammerle 8d1a635ddc healthcheck: improve privacy by probing network-liveness instead of periodic http and dns requests 2021-01-01 13:59:50 +01:00
Fabian Peter Hammerle d573073454 upgrade tor v0.4.3.5 -> v0.4.3.7 (diff links below)
https://gitweb.torproject.org/tor.git/plain/ChangeLog

https://git.alpinelinux.org/aports/commit/community/tor?id=3a247b9dbce3988d52b1a17a3d0bb5f1dc9b4863

removes support for zstd-compressed directory traffic from armhf builds:
https://git.alpinelinux.org/aports/commit/?id=2849fa38b9a76d1ef0a9df10aa70bafa00a5ab27

adds patches to curl for irrelevant CVE-2020-8286, CVE-2020-82850 & CVE-2020-8231
https://git.alpinelinux.org/aports/commit/?id=90e58b3d833e1a1e51c524cdaa5091dbcd80c0f0
https://git.alpinelinux.org/aports/commit/main/curl?id=52697341e47e456d2ee900a53c8ef65ce8a75c23
2021-01-01 12:50:11 +01:00
Fabian Peter Hammerle ccb9eb52a1 configure github's dependabot to keep base image up-to-date
https://github.com/fphammerle/docker-postfix/commit/b273cbb38193eaa52562688522475c7e6e7df6b7
2021-01-01 12:42:38 +01:00
Fabian Peter Hammerle b85bfc4d53 ansible-playbook: select image via fingerprint 2020-10-03 17:32:38 +02:00
7 changed files with 100 additions and 14 deletions
+10
View File
@@ -0,0 +1,10 @@
version: 2
updates:
- package-ecosystem: docker
directory: /
schedule:
interval: weekly
day: friday
# https://docs.github.com/en/free-pro-team@latest/github/administering-a-repository/configuration-options-for-dependency-updates
+24 -1
View File
@@ -6,6 +6,27 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased]
## [4.1.0] - 2021-03-03
### Added
- enabled transparent proxy, listening on port `9040` (requires netfilter rules)
- image labels:
- `org.opencontainers.image.revision` (git commit hash via build arg)
- `org.opencontainers.image.source` (repo url)
- `org.opencontainers.image.title`
## [4.0.0] - 2021-01-01
### Changed
- healthcheck: replace periodic http requests with probing
[network-liveness](https://gitweb.torproject.org/torspec.git/tree/control-spec.txt)
to improve privacy (keeping dns requests for faster updates)
- changed log level of `control` domain to `warn`
(to avoid log spam by healthcheck connecting to control listener)
- added message domains to log messages
### Removed
- `curl`
- `bind-tools` package including `dig`
## [3.0.0] - 2020-10-03
### Added
- create mount point at `/var/lib/tor`
@@ -42,7 +63,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added
- tor socks5 & DNS proxy
[Unreleased]: https://github.com/fphammerle/docker-tor-proxy/compare/v3.0.0...HEAD
[Unreleased]: https://github.com/fphammerle/docker-tor-proxy/compare/v4.1.0...HEAD
[4.1.0]: https://github.com/fphammerle/docker-tor-proxy/compare/v4.0.0...v4.1.0
[4.0.0]: https://github.com/fphammerle/docker-tor-proxy/compare/v3.0.0...v4.0.0
[3.0.0]: https://github.com/fphammerle/docker-tor-proxy/compare/v2.1.0...v3.0.0
[2.1.0]: https://github.com/fphammerle/docker-tor-proxy/compare/v2.0.0...v2.1.0
[2.0.0]: https://github.com/fphammerle/docker-tor-proxy/compare/v1.1.1...v2.0.0
+14 -10
View File
@@ -1,12 +1,7 @@
FROM alpine:3.12
FROM docker.io/alpine:3.13.2
ARG CURL_PACKAGE_VERSION=7.69.1-r1
ARG BIND_TOOLS_PACKAGE_VERSION=9.16.6-r0
ARG TOR_PACKAGE_VERSION=0.4.3.5-r0
RUN apk add --no-cache \
curl=$CURL_PACKAGE_VERSION \
bind-tools=$BIND_TOOLS_PACKAGE_VERSION `# dig` \
tor=$TOR_PACKAGE_VERSION
ARG TOR_PACKAGE_VERSION=0.4.4.7-r1
RUN apk add --no-cache tor=$TOR_PACKAGE_VERSION
VOLUME /var/lib/tor
#RUN apk add --no-cache \
@@ -25,7 +20,16 @@ ENTRYPOINT ["/entrypoint.sh"]
USER tor
CMD ["tor", "-f", "/tmp/torrc"]
# keeping dns requests as network-liveness is too optimistic
# https://gitweb.torproject.org/torspec.git/tree/control-spec.txt
HEALTHCHECK CMD \
curl --silent --socks5 localhost:9050 https://google.com > /dev/null \
&& [ ! -z "$(dig -p 9053 +notcp +short one.one.one.one @localhost)" ] \
printf "AUTHENTICATE\nGETINFO network-liveness\nQUIT\n" | nc localhost 9051 \
| grep -q network-liveness=up \
&& nslookup -port=9053 google.com localhost | grep -v NXDOMAIN | grep -q google \
|| exit 1
# https://github.com/opencontainers/image-spec/blob/v1.0.1/annotations.md
ARG REVISION=
LABEL org.opencontainers.image.title="tor socks, dns & transparent proxy" \
org.opencontainers.image.source="https://github.com/fphammerle/docker-tor-proxy" \
org.opencontainers.image.revision="$REVISION"
+32
View File
@@ -0,0 +1,32 @@
IMAGE_NAME := docker.io/fphammerle/tor-proxy
PROJECT_VERSION = $(shell git describe --match=v* --abbrev=0 --dirty | sed -e 's/^v//')
TOR_PACKAGE_VERSION = $(shell grep -Po 'TOR_PACKAGE_VERSION=\K.+' Dockerfile | tr -d -)
ARCH = $(shell arch)
# architecture[arm_variant]
# https://github.com/opencontainers/image-spec/blob/v1.0.1/image-index.md#image-index-property-descriptions
IMAGE_TAG_ARCH_aarch64 = arm64
IMAGE_TAG_ARCH_armv6l = armv6
IMAGE_TAG_ARCH_armv7l = armv7
IMAGE_TAG_ARCH_x86_64 = amd64
IMAGE_TAG_ARCH = ${IMAGE_TAG_ARCH_${ARCH}}
IMAGE_TAG = ${PROJECT_VERSION}-tor${TOR_PACKAGE_VERSION}-${IMAGE_TAG_ARCH}
BUILD_PARAMS = --tag="${IMAGE_NAME}:${IMAGE_TAG}" \
--build-arg=REVISION="$(shell git rev-parse HEAD)"
.PHONY: worktree-clean docker-build podman-build docker-push
worktree-clean:
git diff --exit-code
git diff --staged --exit-code
docker-build: worktree-clean
sudo docker build ${BUILD_PARAMS} .
podman-build: worktree-clean
# --format=oci (default) not fully supported by hub.docker.com
# https://github.com/docker/hub-feedback/issues/1871#issuecomment-748924149
podman build --format=docker ${BUILD_PARAMS} .
docker-push: docker-build
sudo docker push "${IMAGE_NAME}:${IMAGE_TAG}"
@echo git tag --sign --message '$(shell sudo docker image inspect --format '{{join .RepoDigests "\n"}}' "${IMAGE_NAME}:${IMAGE_TAG}")' docker/${IMAGE_TAG} $(shell git rev-parse HEAD)
+3 -2
View File
@@ -7,8 +7,9 @@
com.docker.network.bridge.name: tor
- docker_container:
name: tor_proxy
# TODO use fingerprint
image: fphammerle/tor-proxy:3.0.0-tor0.4.3.5-amd64
# object 9d8903fbee049c379537c5e291cfa88f57b049f2
# tag docker/3.0.0-tor0.4.3.5-amd64
image: docker.io/fphammerle/tor-proxy@sha256:501c5b5432156f25ecfce9e48ebfe0827f7702a1d32206af79f256cc94487a0f
mounts:
- type: volume
source: tor_proxy_data
+1
View File
@@ -0,0 +1 @@
https://gitweb.torproject.org/tor.git/plain/ChangeLog
+16 -1
View File
@@ -1,4 +1,9 @@
Log notice stdout
# https://www.torproject.org/docs/tor-manual.html.en
# hide healthchecks:
# > [notice] {CONTROL} New control connection opened from 127.0.0.1.
Log [~control]notice warn stdout
LogMessageDomains 1
# default: ~/.tor
DataDirectory /var/lib/tor
@@ -11,5 +16,15 @@ DNSPort 0.0.0.0:9053
SocksPort 0.0.0.0:9050
SocksTimeout {socks_timeout_seconds}
# requires netfilter rules
# socks5 with auth-based circuit isolation (tor browser, torsocks --isolate) should be preferred
# cave: IsolateDestAddr & IsolateDestPort are not enabled
# https://gitlab.torproject.org/legacy/trac/-/wikis/doc/TransparentProxy
# https://github.com/epidemics-scepticism/writing/blob/b6733379d653b30771d578ace04c262600345122/misconception.md#transparent-proxying-lacks-context
# https://lists.torproject.org/pipermail/tor-talk/2014-March/032507.html
# https://gitweb.torproject.org/tor.git/tree/src/or/connection_edge.c?id=6285d9bdcf7f210c56abd25f75133e30d05a7473#n1423
# https://github.com/mitmproxy/mitmproxy/blob/v6.0.2/mitmproxy/platform/linux.py#L27
TransPort 0.0.0.0:9040 IsolateClientAddr IsolateClientProtocol
# try to
HardwareAccel 1