Compare commits

...

106 Commits
v0.1 ... v1.2.0

Author SHA1 Message Date
Conventional Changelog Action
efc5c3aadb chore 🤖: Release v1.2.0 [skip ci] 2025-10-26 15:22:59 +00:00
Josh Jacobs
96ebbf805d fix(workflow): update artifact naming and handling in docker-build.yml
- Changed artifact name to include architecture in upload step.
- Updated download step to use a pattern for artifact names and enabled merging of multiple artifacts.
2025-10-26 15:19:15 +00:00
Josh Jacobs
7d643e3ff6 feat(docker): add health check to Dockerfile for zerotier-cli 2025-10-26 15:16:30 +00:00
Josh Jacobs
07cefedf03 chore(docker): pin package versions in Dockerfile 2025-10-26 15:13:13 +00:00
dependabot[bot]
9a725ba61f chore(deps): bump softprops/action-gh-release from 1 to 2
Bumps [softprops/action-gh-release](https://github.com/softprops/action-gh-release) from 1 to 2.
- [Release notes](https://github.com/softprops/action-gh-release/releases)
- [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md)
- [Commits](https://github.com/softprops/action-gh-release/compare/v1...v2)

---
updated-dependencies:
- dependency-name: softprops/action-gh-release
  dependency-version: '2'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:04:48 +00:00
dependabot[bot]
c82c86099a chore(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:04:37 +00:00
dependabot[bot]
13f56130ca chore(deps): bump anchore/scan-action from 3 to 7
Bumps [anchore/scan-action](https://github.com/anchore/scan-action) from 3 to 7.
- [Release notes](https://github.com/anchore/scan-action/releases)
- [Changelog](https://github.com/anchore/scan-action/blob/main/RELEASE.md)
- [Commits](https://github.com/anchore/scan-action/compare/v3...v7)

---
updated-dependencies:
- dependency-name: anchore/scan-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:04:10 +00:00
dependabot[bot]
6a3d0a9f23 chore(deps): bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:02:58 +00:00
dependabot[bot]
b08ce9f821 chore(deps): bump github/codeql-action from 2 to 4
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 2 to 4.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/v2...v4)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:02:47 +00:00
dependabot[bot]
e987eeb8f4 chore(deps): bump TriPSs/conventional-changelog-action from 3 to 6
Bumps [TriPSs/conventional-changelog-action](https://github.com/tripss/conventional-changelog-action) from 3 to 6.
- [Release notes](https://github.com/tripss/conventional-changelog-action/releases)
- [Changelog](https://github.com/TriPSs/conventional-changelog-action/blob/releases/v6/CHANGELOG.md)
- [Commits](https://github.com/tripss/conventional-changelog-action/compare/v3...v6)

---
updated-dependencies:
- dependency-name: TriPSs/conventional-changelog-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:02:32 +00:00
dependabot[bot]
85cd3af0ff chore(deps): bump actions/download-artifact from 3 to 6
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 3 to 6.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v3...v6)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 15:02:08 +00:00
dependabot[bot]
3c0a4bb93e chore(deps): bump actions/upload-artifact from 3 to 5
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v3...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-26 14:58:09 +00:00
Josh Jacobs
8a260aebd1 chore: add dependabot configuration for GitHub Actions updates 2025-10-26 14:54:23 +00:00
Josh Jacobs
4d565215c5 chore: update base image in Dockerfile to Debian 12.6 2025-10-26 14:47:09 +00:00
Conventional Changelog Action
a831772404 chore 🤖: Release v1.1.2 [skip ci] 2023-10-18 07:59:04 +00:00
Josh J
7ad182fba6 docs: update docs
fixes: #22
2023-10-18 08:55:29 +01:00
Conventional Changelog Action
fbdc16952c chore 🤖: Release v1.1.1 [skip ci] 2023-10-17 08:13:35 +00:00
Josh J
704859e91a ci: changelog needs permissions to commit to repo
consider breaking this out into another workflow to segregate permission
2023-10-17 09:09:03 +01:00
Josh J
63e3bea752 ci: must checkout before changelog 2023-10-17 08:59:47 +01:00
Josh J
fdd8bbbdda ci: needs to be able to publish security reports 2023-10-17 08:52:23 +01:00
546eeac920 Merge pull request #24 from dangeroustech/biodrone/issue22
ci: add permissions to actions file
2023-10-17 08:47:21 +01:00
Josh J
ffea17e8e8 ci: only do final build on main branch
oitherwise there's no tag to pull from
2023-10-17 08:43:10 +01:00
b144c39680 ci: only build PRs with main as base 2023-10-03 07:21:37 +00:00
a48a9286a2 ci: only build issue branches 2023-10-03 07:19:51 +00:00
511a78b182 ci: only build assigned PRs 2023-10-03 07:18:49 +00:00
2d7d9c7f3b ci: add permissions to actions file 2023-10-03 07:08:31 +00:00
46ee60cbc9 fix: set latest tag 2023-09-23 22:31:27 +00:00
bca9ec3df7 fix: 401 2023-09-23 21:49:35 +00:00
5cd683cb7a fix: remove tag to hopefully fix digest pushing 2023-09-23 21:44:42 +00:00
8d550748cd fix: push by digest again 2023-09-23 21:39:53 +00:00
f8d73263fd fix: re-setup buildx 2023-09-23 21:33:13 +00:00
2c987a3bbe fix: push by digest is breaking things 2023-09-23 21:30:17 +00:00
be55349cef fix: correct deps 2023-09-23 21:28:42 +00:00
593036c8ad fix: correct multiplatform builds
because apparently manifests are too difficult
2023-09-23 21:27:47 +00:00
Conventional Changelog Action
74c33dff3e chore 🤖: Release v1.1.0 [skip ci] 2023-09-23 21:07:49 +00:00
aab5c079dc feat: multi-platform builds 2023-09-23 21:06:25 +00:00
Conventional Changelog Action
344e30a1f0 chore 🤖: Release v1.0.13 [skip ci] 2023-09-22 21:10:45 +00:00
d3f10891c8 sec: lower vuln threshold 2023-09-22 21:09:20 +00:00
Conventional Changelog Action
7eb72f78f3 chore 🤖: Release v1.0.12 [skip ci] 2023-09-22 21:04:55 +00:00
6e3c2690fc fix: correct double message 2023-09-22 21:03:32 +00:00
Conventional Changelog Action
b651c5f8e9 chore 🤖: Release v1.0.11 [skip ci] [skip ci] 2023-09-22 20:59:18 +00:00
9908f656e7 Merge pull request #21 from dangeroustech/biodrone/issue20
Biodrone/issue20
2023-09-22 21:57:40 +01:00
977df48644 fix: only alert on CVEs that have a fix 2023-09-22 20:54:49 +00:00
fed1c28602 fix: pull correct deb package 2023-09-22 20:50:14 +00:00
b5e79ae24d Fix Grype Detected Security Problemos
Fixes #20
2023-09-22 20:49:29 +00:00
Conventional Changelog Action
09370a89a7 chore 🤖: Release v1.0.10 [skip ci] [skip ci] 2023-09-22 20:46:03 +00:00
1c41eb9e1b Merge pull request #19 from dangeroustech/biodrone/issue11
Integrate Grype for Scanning
2023-09-22 21:44:42 +01:00
89e29531f0 fix: upload sarif file 2023-09-22 20:37:00 +00:00
ec84d91bc3 Integrate Grype for Scanning
Fixes #11
2023-09-22 20:31:11 +00:00
Conventional Changelog Action
9cc7d36434 chore 🤖: Release v1.0.9 [skip ci] [skip ci] 2023-09-22 20:27:17 +00:00
ab9c1c4816 ci: remove duplicate artifact upload 2023-09-22 20:26:27 +00:00
Conventional Changelog Action
f94f69a8f7 chore 🤖: Release v1.0.8 [skip ci] [skip ci] 2023-09-22 20:25:23 +00:00
24c26bea0d ci: specify file output 2023-09-22 20:24:38 +00:00
Conventional Changelog Action
3b4b067420 chore 🤖: Release v1.0.7 [skip ci] [skip ci] 2023-09-22 20:22:45 +00:00
8e6724ef25 ci: simplify sbom 2023-09-22 20:21:51 +00:00
Conventional Changelog Action
dfc86697e4 chore 🤖: Release v1.0.6 [skip ci] [skip ci] 2023-09-22 20:12:09 +00:00
3a0be9b7dd ci: running on published instead of just created 2023-09-22 20:11:06 +00:00
Conventional Changelog Action
e9b9340604 chore 🤖: Release v1.0.5 [skip ci] [skip ci] 2023-09-22 20:08:08 +00:00
c47edea183 ci: move sbom into it's own file 2023-09-22 20:07:21 +00:00
Conventional Changelog Action
ffb7b6f1db chore 🤖: Release v1.0.4 [skip ci] [skip ci] 2023-09-22 20:02:19 +00:00
44e70e01be ci: test shifting sbom around 2023-09-22 20:01:20 +00:00
Conventional Changelog Action
c35e2e6641 chore 🤖: Release v1.0.3 [skip ci] [skip ci] 2023-09-22 19:48:20 +00:00
22a62a4c6f Merge pull request #18 from dangeroustech/biodrone/issue12
Integrate syft for SBOM
2023-09-22 20:47:13 +01:00
ad8063651d Integrate syft for SBOM
Fixes #12
2023-09-22 19:41:17 +00:00
Conventional Changelog Action
8537d1c215 chore 🤖: Release v1.0.2 [skip ci] [skip ci] 2023-09-22 19:35:17 +00:00
c34324b998 fix: quick filter to not release on PRs 2023-09-22 19:34:26 +00:00
Conventional Changelog Action
278abf43b9 chore 🤖: Release v1.0.1 [skip ci] [skip ci] 2023-09-22 19:25:03 +00:00
bc56fb09ad ci: update workflow name 2023-09-22 19:23:33 +00:00
Conventional Changelog Action
9794058682 chore 🤖: Release v1.0.0 [skip ci] [skip ci] 2023-09-22 19:21:37 +00:00
48318331c8 Merge pull request #17 from dangeroustech/biodrone/issue16
Add a CI Release Process
2023-09-22 20:20:29 +01:00
ab80272f60 Add a CI Release Process
Fixes #16
2023-09-22 19:18:19 +00:00
d25c3a6c78 Merge pull request #15 from dangeroustech/biodrone/issue10
Update Actions Workflow to Push to registry.dangerous.tech
2023-09-22 16:19:55 +01:00
3a5eb50b13 fix: ci: use full registry name 2023-09-22 13:13:59 +00:00
f461592cbf chore: update dep versions 2023-09-22 13:11:59 +00:00
fc24b78d4a fix: ci: lowercase tag names 2023-09-22 13:03:36 +00:00
3b29bee4c6 fix: ci: use correct registry 2023-09-22 13:00:14 +00:00
7755601a81 Update Actions Workflow to Push to registry.dangerous.tech
Fixes #10
2023-09-22 12:58:31 +00:00
2fd87a92bd Merge pull request #14 from dangeroustech/add_pr_workflow
ci: run workflow on PR
2023-09-22 13:41:07 +01:00
b147b64d47 ci: run workflow on PR 2023-09-22 13:39:53 +01:00
b68f0a7027 Merge pull request #13 from dangeroustech/biodrone/issue9
Update ZeroTier Default Version
2023-09-22 13:25:57 +01:00
1298cea4fa fix: add openssl dep and remove pinning
will re-add pinning as a future task once the container works again
2023-09-22 12:23:33 +00:00
7f56fec689 fix: set proper workdir 2023-09-22 12:18:33 +00:00
dd0e88bbcf Update to latest ZT version
Fixes #9
2023-09-22 12:17:02 +00:00
c9f0407e8e Merge pull request #7 from dangeroustech/docs/formatting
docs📚 : spaces aren't spaces sometimes...
2021-10-27 11:35:12 +01:00
josh.jacobs
8e628a0c0d docs📚 : spaces aren't spaces sometimes... 2021-10-27 11:34:37 +01:00
8c691ddae6 Merge pull request #6 from dangeroustech/docs/add-prerequisites
docs 📚: add prerequisites
2021-10-27 10:53:27 +01:00
7f3784df9a docs 📚: add prerequisites 2021-10-27 10:52:30 +01:00
672005dfc7 Merge pull request #5 from dangeroustech/chore/1.6.6-bump
chore 🤖: bump binary version to 1.6.6
2021-10-27 10:47:51 +01:00
3cd18b4324 chore 🤖: bump binary version to 1.6.6 2021-10-27 10:46:47 +01:00
90cf5b1684 fix: allow bi-directional traffic initiation 2021-10-21 19:05:36 +01:00
5c7a14da17 ci: cleanup 2021-10-21 18:03:53 +01:00
a9fb0015ff ci: im tired forgive me 2021-08-17 16:26:01 +01:00
a72e845fc7 ci: sigh 2 electric boogaloo 2021-08-17 16:24:27 +01:00
0122360312 ci: sigh 2021-08-17 16:23:27 +01:00
2fc784c0ae ci: fix ci 2021-08-17 16:22:19 +01:00
97a4179d8e ci: add github action to push image 2021-08-17 16:14:14 +01:00
7d16c2b66d Merge pull request #4 from dangeroustech/feature/multiple_networks
feat: support multiple zt network joins
2021-08-13 12:44:41 +01:00
09424b35b4 docs: update readme to reflect changes 2021-08-13 12:44:19 +01:00
556195cd64 feat: support multiple zt network joins
feat: add ZT_BRIDGE to control bridge functionality
2021-08-13 12:31:24 +01:00
64e4a473e7 docs: TODO cleanup 2021-08-13 11:30:08 +01:00
3e65156a3c fix: standardise network env again 2021-08-13 11:28:16 +01:00
c3876c3251 Merge pull request #1 from dangeroustech/add-compose
add docker-compose.yml
2021-08-13 11:26:24 +01:00
f902dcc0c4 feat: add docker-compose.yml 2021-08-13 11:24:20 +01:00
0745296487 docs: comment formatting 2021-08-13 11:24:08 +01:00
6c4a1a6c1c style: cleaned up some useless debug info 2021-08-13 11:23:12 +01:00
6d4e2031cd Update README.md 2021-08-12 19:28:53 +01:00
10 changed files with 100089 additions and 33 deletions

11
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,11 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: /
schedule:
interval: weekly
open-pull-requests-limit: 10
labels:
- dependencies
- github-actions

176
.github/workflows/docker-build.yml vendored Normal file
View File

@@ -0,0 +1,176 @@
name: Publish Docker Image
permissions:
actions: read
checks: read
contents: write
deployments: read
issues: read
discussions: read
packages: read
pages: read
pull-requests: read
repository-projects: read
security-events: write
statuses: read
on:
pull_request:
branches:
- main
push:
branches:
- main
env:
REGISTRY_IMAGE: registry.dangerous.tech/dangeroustech/zerotierbridge
jobs:
Docker_Build:
name: Docker Build And Release
runs-on: ubuntu-latest
strategy:
fail-fast: true
matrix:
arch: [amd64, arm64]
version: [1.12.2]
steps:
- name: Checkout Repository
uses: actions/checkout@v5
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Registry
id: login
uses: docker/login-action@v3
with:
registry: registry.dangerous.tech
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Build
id: docker_build
uses: docker/build-push-action@v6
with:
context: .
build-args: |
ARCH=${{ matrix.arch }}
VERSION=${{ matrix.version }}
push: true
platforms: linux/${{ matrix.arch }}
outputs: type=image,name=${{ env.REGISTRY_IMAGE }},push-by-digest=true,name-canonical=true
- name: Export Digests
run: |
mkdir -p /tmp/digests
digest="${{ steps.docker_build.outputs.digest }}"
touch "/tmp/digests/${digest#sha256:}"
- name: Upload digest
uses: actions/upload-artifact@v5
with:
name: digests-${{ matrix.arch }}
path: /tmp/digests/*
if-no-files-found: error
retention-days: 1
overwrite: true
MergeRefs:
name: Do The Horrible Merge Thing
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
needs:
- Docker_Build
steps:
- name: Download digests
uses: actions/download-artifact@v6
with:
pattern: digests-*
path: /tmp/digests
merge-multiple: true
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Registry
id: login
uses: docker/login-action@v3
with:
registry: registry.dangerous.tech
username: ${{ secrets.REGISTRY_USERNAME }}
password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ${{ env.REGISTRY_IMAGE }}
tags: |
# set latest tag for default branch
# https://github.com/docker/metadata-action#latest-tag
type=raw,value=latest,enable={{is_default_branch}}
- name: Create manifest list and push
working-directory: /tmp/digests
run: |
docker buildx imagetools create $(jq -cr '.tags | map("-t " + .) | join(" ")' <<< "$DOCKER_METADATA_OUTPUT_JSON") \
$(printf '${{ env.REGISTRY_IMAGE }}@sha256:%s ' *)
- name: Inspect image
run: |
docker buildx imagetools inspect ${{ env.REGISTRY_IMAGE }}:${{ steps.meta.outputs.version }}
- name: Generate SBOM
uses: anchore/sbom-action@v0
id: sbom
with:
image: registry.dangerous.tech/dangeroustech/zerotierbridge:latest
registry-username: ${{ secrets.REGISTRY_USERNAME }}
registry-password: ${{ secrets.REGISTRY_PASSWORD }}
format: spdx-json
output-file: ./sbom.spdx.json
- name: Scan SBOM
uses: anchore/scan-action@v7
id: scan
with:
sbom: sbom.spdx.json
severity-cutoff: medium
fail-build: false
only-fixed: true
- name: upload Anchore scan SARIF report
uses: github/codeql-action/upload-sarif@v4
with:
sarif_file: ${{ steps.scan.outputs.sarif }}
- name: Checkout Repository
uses: actions/checkout@v5
- name: Changelog
uses: TriPSs/conventional-changelog-action@v6
id: changelog
if: ${{ github.event_name != 'pull_request' }}
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
git-message: "chore 🤖: Release {version}"
output-file: CHANGELOG.md
tag-prefix: v
fallback-version: 1.0.0
release-count: 0 # preserve all versions in changelog
skip-on-empty: false # otherwise we don't publish fixes
- name: Create Release
uses: softprops/action-gh-release@v2
id: release
if: ${{ steps.changelog.outputs.skipped == 'false' }}
env:
GITHUB_TOKEN: ${{ secrets.github_token }}
with:
tag_name: ${{ steps.changelog.outputs.tag }}
name: ${{ steps.changelog.outputs.tag }}
body: ${{ steps.changelog.outputs.clean_changelog }}
files: |
sbom.spdx.json

137
CHANGELOG.md Normal file
View File

@@ -0,0 +1,137 @@
# [1.2.0](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.1.2...v1.2.0) (2025-10-26)
### Bug Fixes
* **workflow:** update artifact naming and handling in docker-build.yml ([96ebbf8](https://github.com/dangeroustech/ZeroTierBridge/commit/96ebbf805d2cb3bb4089a5a0dc70114e3c16cc1b))
### Features
* **docker:** add health check to Dockerfile for zerotier-cli ([7d643e3](https://github.com/dangeroustech/ZeroTierBridge/commit/7d643e3ff6c0683d335baae5138ceef475cd37c3))
## [1.1.2](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.1.1...v1.1.2) (2023-10-18)
## [1.1.1](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.1.0...v1.1.1) (2023-10-17)
### Bug Fixes
* 401 ([bca9ec3](https://github.com/dangeroustech/ZeroTierBridge/commit/bca9ec3df76f9c6ea114e099dd9317c58489d0b2))
* correct deps ([be55349](https://github.com/dangeroustech/ZeroTierBridge/commit/be55349cefbf291a9ce4233e65a785dad4ec3830))
* correct multiplatform builds ([593036c](https://github.com/dangeroustech/ZeroTierBridge/commit/593036c8ad8099a3a4e7b1ac9b1dcfbdb8e04a98))
* push by digest again ([8d55074](https://github.com/dangeroustech/ZeroTierBridge/commit/8d550748cde552ef5552e02770842d4e91f99253))
* push by digest is breaking things ([2c987a3](https://github.com/dangeroustech/ZeroTierBridge/commit/2c987a3bbe0492aaf22b26e446cb7d96a6c9115d))
* re-setup buildx ([f8d7326](https://github.com/dangeroustech/ZeroTierBridge/commit/f8d73263fdfd328ad38a77ff381e93bd8bda5750))
* remove tag to hopefully fix digest pushing ([5cd683c](https://github.com/dangeroustech/ZeroTierBridge/commit/5cd683cb7a83e37eb5b4717309d672f35b256c25))
* set latest tag ([46ee60c](https://github.com/dangeroustech/ZeroTierBridge/commit/46ee60cbc9091e93f977701a771ba9ce0216e5d1))
# [1.1.0](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.13...v1.1.0) (2023-09-23)
### Features
* multi-platform builds ([aab5c07](https://github.com/dangeroustech/ZeroTierBridge/commit/aab5c079dcd559b7c3123aa72d02f7691827083e))
## [1.0.13](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.12...v1.0.13) (2023-09-22)
## [1.0.12](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.11...v1.0.12) (2023-09-22)
### Bug Fixes
* correct double message ([6e3c269](https://github.com/dangeroustech/ZeroTierBridge/commit/6e3c2690fc612e42c1d2818cc8d4bdfb9d5e39ba))
## [1.0.11](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.10...v1.0.11) (2023-09-22)
### Bug Fixes
* only alert on CVEs that have a fix ([977df48](https://github.com/dangeroustech/ZeroTierBridge/commit/977df48644e0a7112dc25f9f04afa6d84ce87db9))
* pull correct deb package ([fed1c28](https://github.com/dangeroustech/ZeroTierBridge/commit/fed1c2860230d39aeb80178c79697c1c41fed23d))
## [1.0.10](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.9...v1.0.10) (2023-09-22)
### Bug Fixes
* upload sarif file ([89e2953](https://github.com/dangeroustech/ZeroTierBridge/commit/89e29531f070539935a93b6f55d791170ea42e72))
## [1.0.9](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.8...v1.0.9) (2023-09-22)
## [1.0.8](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.7...v1.0.8) (2023-09-22)
## [1.0.7](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.6...v1.0.7) (2023-09-22)
## [1.0.6](https://github.com/dangeroustech/ZeroTierBridge/compare/v0.0.1...v1.0.6) (2023-09-22)
## [1.0.5](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.4...v1.0.5) (2023-09-22)
## [1.0.4](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.3...v1.0.4) (2023-09-22)
## [1.0.3](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.2...v1.0.3) (2023-09-22)
## [1.0.2](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.1...v1.0.2) (2023-09-22)
### Bug Fixes
* quick filter to not release on PRs ([c34324b](https://github.com/dangeroustech/ZeroTierBridge/commit/c34324b998690edeadd3d680987587c0fe93c525))
## [1.0.1](https://github.com/dangeroustech/ZeroTierBridge/compare/v1.0.0...v1.0.1) (2023-09-22)
# [1.0.0](https://github.com/dangeroustech/ZeroTierBridge/compare/f902dcc0c4615801fb65e6c90342efe96789319f...v1.0.0) (2023-09-22)
### Bug Fixes
* add openssl dep and remove pinning ([1298cea](https://github.com/dangeroustech/ZeroTierBridge/commit/1298cea4fa1bad3141754e5218f449ec15e8469a))
* allow bi-directional traffic initiation ([90cf5b1](https://github.com/dangeroustech/ZeroTierBridge/commit/90cf5b1684b6221797b39af306c3fee9ce5bdb9e))
* ci: lowercase tag names ([fc24b78](https://github.com/dangeroustech/ZeroTierBridge/commit/fc24b78d4a1046ebc2b01560ed4b67e33418c30e))
* ci: use correct registry ([3b29bee](https://github.com/dangeroustech/ZeroTierBridge/commit/3b29bee4c642cf04c3af89a7c16f004531f83622))
* ci: use full registry name ([3a5eb50](https://github.com/dangeroustech/ZeroTierBridge/commit/3a5eb50b13cf7cab7939c4b49c14093189aae330))
* set proper workdir ([7f56fec](https://github.com/dangeroustech/ZeroTierBridge/commit/7f56fec6897635e37b3e5aa13e7c3bbfddbce5da))
* standardise network env again ([3e65156](https://github.com/dangeroustech/ZeroTierBridge/commit/3e65156a3c955fa6c6715a7d9e15a799c6f3f735))
### Features
* add docker-compose.yml ([f902dcc](https://github.com/dangeroustech/ZeroTierBridge/commit/f902dcc0c4615801fb65e6c90342efe96789319f))
* support multiple zt network joins ([556195c](https://github.com/dangeroustech/ZeroTierBridge/commit/556195cd64f33fbbc9244022c8a99af5284ffbb9))

View File

@@ -1,17 +1,25 @@
FROM debian:buster as stage FROM debian:12.6 as stage
ARG PACKAGE_BASEURL=https://download.zerotier.com/debian/buster/pool/main/z/zerotier-one ARG PACKAGE_BASEURL=https://download.zerotier.com/debian/bookworm/pool/main/z/zerotier-one
ARG ARCH=amd64 ARG ARCH=amd64
ARG VERSION=1.6.5 ARG VERSION=1.12.2
RUN apt-get update -qq && apt-get install -qq --no-install-recommends -y ca-certificates=20200601~deb10u2 curl=7.64.0-4+deb10u2 RUN apt-get update -qq && apt-get install -qq --no-install-recommends -y \
ca-certificates=20230311+deb12u1 \
curl=7.88.1-10+deb12u14
RUN curl -sSL -o zerotier-one.deb "${PACKAGE_BASEURL}/zerotier-one_${VERSION}_${ARCH}.deb" RUN curl -sSL -o zerotier-one.deb "${PACKAGE_BASEURL}/zerotier-one_${VERSION}_${ARCH}.deb"
FROM debian:buster FROM debian:12.6
RUN mkdir /app
WORKDIR /app
COPY --from=stage zerotier-one.deb . COPY --from=stage zerotier-one.deb .
RUN apt-get update -qq && apt-get install -qq --no-install-recommends -y procps=2:3.3.15-2 iptables=1.8.2-4 \ RUN apt-get update -qq && apt-get install -qq --no-install-recommends -y \
procps=2:4.0.2-3 \
iptables=1.8.9-2 \
openssl=3.0.17-1~deb12u3 \
&& apt-get clean \ && apt-get clean \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
RUN dpkg -i zerotier-one.deb && rm -f zerotier-one.deb RUN dpkg -i zerotier-one.deb && rm -f zerotier-one.deb
RUN echo "${VERSION}" >/etc/zerotier-version RUN echo "${VERSION}" >/etc/zerotier-version
COPY entrypoint.sh /entrypoint.sh COPY entrypoint.sh entrypoint.sh
RUN chmod 755 /entrypoint.sh RUN chmod 755 entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"] HEALTHCHECK --interval=30s --timeout=5s --start-period=60s --retries=3 CMD sh -c 'zerotier-cli info 2>/dev/null | grep -q ONLINE'
ENTRYPOINT ["/app/entrypoint.sh"]

View File

@@ -4,9 +4,11 @@ A container to provide out-of-the-box bridging functionality to a ZeroTier netwo
## Running ## Running
`docker build -t zerotierbridge .` ### Prerequisites
`docker run --privileged -e ZT_NETWORK=NETWORK_ID_HERE zerotierbridge:latest` - Docker running as your logged in user (if `docker ps` runs then you're good, if not follow the link ->) - [Linux instructions here](https://docs.docker.com/engine/install/linux-postinstall/)
### ZeroTier UI Changes
Once running, log into your ZeroTier interface and approve the new device. Click the wrench next to the name and select 'Allow Ethernet Bridging.' Once running, log into your ZeroTier interface and approve the new device. Click the wrench next to the name and select 'Allow Ethernet Bridging.'
@@ -16,13 +18,32 @@ You also need to add a static route into ZeroTier so that the traffic is routed
![brave_4wHd9zo193](https://user-images.githubusercontent.com/1135584/129230132-11bcfb72-7d9b-4b40-a4e5-72130c583077.png) ![brave_4wHd9zo193](https://user-images.githubusercontent.com/1135584/129230132-11bcfb72-7d9b-4b40-a4e5-72130c583077.png)
### Caveat: Architecture ### Docker Compose
**You need to edit the `ZT_NETWORKS` and `ARCH` variable in the `docker-compose.yml` file first to add your networks and make sure your acrhitecture is correct (see [this page](http://download.zerotier.com/debian/buster/pool/main/z/zerotier-one/) for examples, usually either amd64 or arm64)**
Easiest way to bring up is via Docker Compose. Rename `docker-compose.yml.example` to `docker-compose.yml` and run `docker compose up -d`.
If you want to disable bridging, set `ZT_BRIDGE=false`. This can be done after the initial networks have been joined (just change the environment variable in the `docker-compose.yml` file and run `), as the ZeroTier config persists but IPTables forwarding is done on each container startup.
### OG Docker
`docker build -t zerotierbridge .`
`docker run --privileged -e ZT_NETWORKS=NETWORK_1 NETWORK_2 -e ZT_BRIDGE=true zerotierbridge:latest`
Add your network ID(s) into the `ZT_NETWORKS` argument, space separated.
Disable bridging by passing `ZT_BRIDGE=false`. This can be done after the initial networks have been joined (just rebuild the container), as the ZeroTier config persists but IPTables forwarding is done on each container startup.
#### Persistent Storage
If you would like the container to retain the same ZeroTier client ID on reboot, attach a volume as per the below.
`docker run --privileged -e ZT_NETWORKS=NETWORK_ID_HERE ZT_BRIDGE=true -v zt_config:/var/lib/zerotier-one/ zerotierbridge:latest`
#### Caveat: Architecture
If you need to run this on a device with different architecture (a raspberry pi, for instance), then just edit line 3 of the Dockerfile. If you need to run this on a device with different architecture (a raspberry pi, for instance), then just edit line 3 of the Dockerfile.
If you were using a Raspberry Pi 4, you would change this to `ARCH=arm64` and the container will pull the correct ZeroTier installer. If you were using a Raspberry Pi 4, you would change this to `ARCH=arm64` and the container will pull the correct ZeroTier installer.
## TODO
- Add docker-compose.yml
- Add kubernetes deployment YAML

View File

@@ -0,0 +1,15 @@
version: "3"
services:
zerotierbridge:
container_name: zerotierbridge
image: registry.dangerous.tech/dangeroustech/zerotierbridge
restart: always
privileged: true
volumes:
- zt_config:/var/lib/zerotier-one
environment:
- ZT_NETWORKS=NETWORK_ID_1 NETWORK_ID_2 NETWORK_ID_3
- ZT_BRIDGE=true
volumes:
zt_config:

View File

@@ -14,27 +14,37 @@ do
sleep 1 sleep 1
done done
echo "joining networks: $ZT_NETWORK" # Set IPTables to allow NATting
sysctl -w net.ipv4.ip_forward=1 > /dev/null
echo "joining $ZT_NETWORK" echo "joining networks: $ZT_NETWORKS"
while ! zerotier-cli join "$ZT_NETWORK" for n in $ZT_NETWORKS
do do
echo "joining $ZT_NETWORK failed; trying again in 1s" echo "joining $n"
while ! zerotier-cli join "$n"
do
echo "joining $n failed; trying again in 1s"
sleep 1 sleep 1
done
if [ "$ZT_BRIDGE" = "true" ]
then
echo "Configuring iptables on $(zerotier-cli get $n portDeviceName)"
PHY_IFACE=eth0; ZT_IFACE=$(zerotier-cli get $n portDeviceName)
iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
iptables -t nat -A POSTROUTING -o $ZT_IFACE -j MASQUERADE
iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -j ACCEPT
iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
fi
done done
# Give ZT a second realise it's online
sleep 10
### Set IPTables to allow NATting # Print Client Info
echo "setting up NATting" echo "$(zerotier-cli info)"
sysctl -w net.ipv4.ip_forward=1
PHY_IFACE=eth0; ZT_IFACE=$(ls /sys/class/net | grep ^zt)
iptables -t nat -A POSTROUTING -o $PHY_IFACE -j MASQUERADE
iptables -A FORWARD -i $PHY_IFACE -o $ZT_IFACE -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i $ZT_IFACE -o $PHY_IFACE -j ACCEPT
echo "iptables --list-rules"
echo "$(ip a)"
sleep infinity sleep infinity

3
package.json Normal file
View File

@@ -0,0 +1,3 @@
{
"version": "1.2.0"
}

16
results.sarif Normal file
View File

@@ -0,0 +1,16 @@
{
"version": "2.1.0",
"$schema": "https://json.schemastore.org/sarif-2.1.0-rtm.5.json",
"runs": [
{
"tool": {
"driver": {
"name": "Grype",
"version": "0.63.0",
"informationUri": "https://github.com/anchore/grype"
}
},
"results": []
}
]
}

99659
sbom.spdx.json Normal file

File diff suppressed because it is too large Load Diff