Skip to content

Commit

Permalink
添加仅支持ipv6 的opentracker
Browse files Browse the repository at this point in the history
  • Loading branch information
jiakun committed Sep 9, 2023
1 parent 290ea46 commit 257a8e5
Show file tree
Hide file tree
Showing 2 changed files with 107 additions and 0 deletions.
60 changes: 60 additions & 0 deletions .github/workflows/ipv6.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
name: main.ipv6

on:
schedule:
# 每半年3号,1:56执行一次,以同步官方
- cron: '56 1 3 */6 *'
push:
#branches: [ master ]
paths:
- Dockerfile.ipv6
pull_request:
branches: [ master ]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:

jobs:
build-and-push:
runs-on: ubuntu-latest

steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2

# 设置 QEMU 以支持多个平台
- name: Set up QEMU
uses: docker/setup-qemu-action@v1

# 设置 buildx
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1

# 配置缓存
- name: Cache Docker layers
uses: actions/cache@v2
with:
path: /tmp/.buildx-cache
key: ${{ runner.os }}-buildx-${{ github.sha }}
restore-keys: |
${{ runner.os }}-buildx-
# 登录 dockerhub
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}

# 编译并推送到 dockerhub
- name: Build and push
uses: docker/build-push-action@v2
with:
context: .
file: Dockerfile.ipv6
platforms: linux/amd64,linux/arm64,linux/arm/v7
push: true
cache-from: type=local,src=/tmp/.buildx-cache
cache-to: type=local,dest=/tmp/.buildx-cache-new
tags: |
ryjer/opentracker:ipv6
47 changes: 47 additions & 0 deletions Dockerfile.ipv6
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
FROM alpine as build

WORKDIR /src
RUN apk add gcc \
g++ \
make \
git \
cvs \
zlib-dev

# 下载并编译 libowfat 库
RUN cvs -d :pserver:[email protected]:/cvs -z9 co libowfat \
&& cd libowfat \
&& make

# 从官网下载最新 opentracker 源码,并开启Makefile特性:ipv6, 客户端通过ip,关闭full scrape
RUN git clone git://erdgeist.org/opentracker \
&& cd opentracker \
&& sed -i '/FEATURES+=-DWANT_V6$/s/^#//' Makefile \
&& sed -i '/FEATURES+=-DWANT_IP_FROM_QUERY_STRING$/s/^#//' Makefile \
&& sed -i '/^FEATURES+=-DWANT_FULLSCRAPE$/s/^/#/' Makefile \
&& make -j4


FROM alpine

# XDG目录规范
ENV XDG_CONFIG_HOME=/config

COPY --from=build /src/opentracker/opentracker /bin/opentracker

# 创建配置目录
RUN apk add --no-cache curl && \
mkdir -p ${XDG_CONFIG_HOME}

# 对外暴露配置卷
VOLUME ["${XDG_CONFIG_HOME}"]

# 复制配置文件到配置路径
COPY ./opentracker.conf ${XDG_CONFIG_HOME}/opentracker.conf
COPY ./whitelist ${XDG_CONFIG_HOME}/whitelist
COPY ./blacklist ${XDG_CONFIG_HOME}/blacklist

EXPOSE 6969/tcp
EXPOSE 6969/udp

CMD ["/bin/opentracker", "-f", "/config/opentracker.conf", "-d", "${XDG_CONFIG_HOME}"]

0 comments on commit 257a8e5

Please sign in to comment.