Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
ef9dd54
feat: upgrade base image to debian 12 and tor daemon to 0.4.8.13
m0wer Feb 5, 2025
b0af42a
ci: automate Docker image build and push
m0wer Feb 5, 2025
fde12a6
feat: update tor to 0.4.8.14
m0wer Mar 14, 2025
93e7a69
feat: update to 0.4.8.21 with hardcoded SHA256 verification
m0wer Nov 19, 2025
e3c1f05
ci: update actions
m0wer Nov 19, 2025
30b90fb
ci: cleanup pipelines
m0wer Nov 19, 2025
d6bb451
feat: enable SocksPort on all interfaces by default
m0wer Dec 24, 2025
f5f442f
feat: Add default torrc configuration file
m0wer Dec 25, 2025
24ee4da
chore: fork repository cleanup
m0wer Dec 25, 2025
f7e62f3
feat: Enhance README with control port and hidden service instructions
m0wer Dec 25, 2025
771758f
feat: Update base image to Debian 13-slim
m0wer Dec 26, 2025
b77ec01
feat: Update Tor to version 0.4.8.22
m0wer Feb 2, 2026
decb4f1
feat: entrypoint script to fix permissions on /var/lib/tor
m0wer Feb 14, 2026
a593da1
feat: Update Tor to version 0.4.9.5
m0wer Feb 14, 2026
75fbab3
feat: Update Tor to version 0.4.9.6
m0wer Apr 7, 2026
e1431ed
ci: update GitHub Actions versions and add multi-platform build support
m0wer May 31, 2026
fc644f7
feat: Update Tor to version 0.4.9.8
m0wer May 31, 2026
445bcc9
ci: parallelize multi-arch builds and use native arm64 runner
m0wer May 31, 2026
ff562af
ci: fail release if multi-arch manifest is incomplete
m0wer May 31, 2026
800773f
feat: Update Tor to version 0.4.9.9
m0wer Jun 2, 2026
3509300
chore: upgrade tor to 0.4.9.10
m0wer Jun 23, 2026
973e3d9
feat: update Tor to version 0.4.9.11
m0wer Jul 16, 2026
f1333bf
fix: define persistent Tor runtime paths
m0wer Jul 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
149 changes: 149 additions & 0 deletions .github/workflows/docker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
name: Create and publish the Docker image

on:
push:
branches:
- master
tags:
- '*'

env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
build-and-push-image:
strategy:
fail-fast: false
matrix:
include:
- id: amd64
platform: linux/amd64
runner: ubuntu-latest
qemu: false
- id: arm64
platform: linux/arm64
runner: ubuntu-24.04-arm
qemu: false
- id: armv7
platform: linux/arm/v7
runner: ubuntu-latest
qemu: true
- id: armv6
platform: linux/arm/v6
runner: ubuntu-latest
qemu: true
- id: i386
platform: linux/386
runner: ubuntu-latest
qemu: true
- id: ppc64le
platform: linux/ppc64le
runner: ubuntu-latest
qemu: true
- id: s390x
platform: linux/s390x
runner: ubuntu-latest
qemu: true
runs-on: ${{ matrix.runner }}
permissions:
contents: read
packages: write

steps:
- name: Checkout repository
uses: actions/checkout@v6.0.2

- name: Set up QEMU
if: matrix.qemu
uses: docker/setup-qemu-action@v4.1.0

- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v4.1.0

- name: Log in to the Container registry
uses: docker/login-action@v4.2.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Build and push Docker image
uses: docker/build-push-action@v7.2.0
with:
context: .
push: true
platforms: ${{ matrix.platform }}
tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-${{ matrix.id }}
cache-from: type=gha,scope=${{ matrix.id }}
cache-to: type=gha,mode=max,scope=${{ matrix.id }}

merge-manifests:
runs-on: ubuntu-latest
needs: build-and-push-image
permissions:
contents: read
packages: write
steps:
- name: Checkout repository
uses: actions/checkout@v6.0.2

- name: Log in to the Container registry
uses: docker/login-action@v4.2.0
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}

- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/metadata-action@v6.1.0
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}

- name: Create and push multi-arch manifests
shell: bash
run: |
set -euo pipefail

tags=()
while IFS= read -r tag; do
tags+=("-t" "$tag")
done <<< "${{ steps.meta.outputs.tags }}"

docker buildx imagetools create \
"${tags[@]}" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-amd64" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-arm64" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-armv7" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-armv6" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-i386" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-ppc64le" \
"${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:build-${{ github.sha }}-s390x"

- name: Verify published manifests include all platforms
shell: bash
run: |
set -euo pipefail

mapfile -t publish_tags < <(printf '%s\n' "${{ steps.meta.outputs.tags }}" | sed '/^[[:space:]]*$/d')
required_platforms=(
"linux/amd64"
"linux/arm64"
"linux/arm/v7"
"linux/arm/v6"
"linux/386"
"linux/ppc64le"
"linux/s390x"
)

for tag in "${publish_tags[@]}"; do
inspect="$(docker buildx imagetools inspect "$tag")"

for platform in "${required_platforms[@]}"; do
if ! grep -q "$platform" <<< "$inspect"; then
echo "Missing platform $platform in $tag"
exit 1
fi
done
done
87 changes: 0 additions & 87 deletions .github/workflows/on-push-branch.yml

This file was deleted.

74 changes: 0 additions & 74 deletions .github/workflows/on-push-master.yml

This file was deleted.

68 changes: 0 additions & 68 deletions .github/workflows/on-tag.yml

This file was deleted.

Loading