Compare commits
7 Commits
v1.11.0-rc
...
v1.12.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
53e8111ec3 | ||
|
|
821281d71f | ||
|
|
e646bd801e | ||
|
|
9791f4a007 | ||
|
|
29d2351597 | ||
|
|
46cfd03a37 | ||
|
|
873c511f96 |
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -43,6 +43,7 @@ jobs:
|
||||
helm-pack:
|
||||
name: Pack the Helm chart
|
||||
runs-on: ubuntu-latest
|
||||
needs: [build-docker-image]
|
||||
defaults: {run: {working-directory: ./deployments/helm}}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
21
.github/workflows/tests.yml
vendored
21
.github/workflows/tests.yml
vendored
@@ -24,26 +24,9 @@ jobs:
|
||||
- {uses: actions/checkout@v4, with: {fetch-depth: 0}}
|
||||
- uses: gacts/gitleaks@v1
|
||||
|
||||
filter:
|
||||
name: Filter files
|
||||
runs-on: ubuntu-latest
|
||||
permissions: {pull-requests: read}
|
||||
outputs:
|
||||
docker: ${{ steps.filter.outputs.docker }}
|
||||
helm: ${{ steps.filter.outputs.helm }}
|
||||
steps:
|
||||
- uses: dorny/paths-filter@v3
|
||||
id: filter
|
||||
with:
|
||||
filters: |
|
||||
docker: [Dockerfile, '*docker*', '*3proxy*']
|
||||
helm: ['deployments/helm/**', '*kube*']
|
||||
|
||||
lint-charts:
|
||||
name: Lint the chart
|
||||
runs-on: ubuntu-latest
|
||||
needs: [filter]
|
||||
if: needs.filter.outputs.helm == 'true'
|
||||
defaults: {run: {working-directory: ./deployments/helm}}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
@@ -55,8 +38,6 @@ jobs:
|
||||
build-image:
|
||||
name: Build the docker image
|
||||
runs-on: ubuntu-latest
|
||||
needs: [filter] # since this is the initial step, we can filter out the rest of the jobs right here to skip them
|
||||
if: needs.filter.outputs.docker == 'true'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- run: docker build -f ./Dockerfile --tag 3proxy:local .
|
||||
@@ -68,7 +49,7 @@ jobs:
|
||||
retention-days: 1
|
||||
|
||||
try-to-use:
|
||||
name: Build and use the docker image (auth ${{ matrix.auth }})
|
||||
name: Try to use the docker image (auth ${{ matrix.auth }})
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
fail-fast: false
|
||||
|
||||
19
Dockerfile
19
Dockerfile
@@ -1,20 +1,20 @@
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
FROM gcc:13.3.0 AS builder
|
||||
FROM docker.io/library/gcc:14.2.0 AS builder
|
||||
|
||||
# renovate: source=github-tags name=z3APA3A/3proxy
|
||||
ARG Z3PROXY_VERSION=0.9.4
|
||||
# renovate: source=github-tags name=3proxy/3proxy
|
||||
ARG Z3PROXY_VERSION=0.9.5
|
||||
|
||||
# Fetch 3proxy sources
|
||||
RUN set -x \
|
||||
&& git -c advice.detachedHead=false clone --depth 1 --branch "${Z3PROXY_VERSION}" https://github.com/z3APA3A/3proxy.git /tmp/3proxy
|
||||
&& git -c advice.detachedHead=false clone --depth 1 --branch "${Z3PROXY_VERSION}" https://github.com/3proxy/3proxy.git /tmp/3proxy
|
||||
|
||||
WORKDIR /tmp/3proxy
|
||||
|
||||
# Patch sources
|
||||
RUN set -x \
|
||||
&& echo '#define ANONYMOUS 1' >> ./src/3proxy.h \
|
||||
# proxy.c source: <https://github.com/z3APA3A/3proxy/blob/0.9.3/src/proxy.c>
|
||||
# proxy.c source: <https://github.com/3proxy/3proxy/blob/0.9.3/src/proxy.c>
|
||||
&& sed -i 's~\(<\/head>\)~<style>:root{--color-bg-primary:#fff;--color-text-primary:#131313;--color-text-secondary:#232323}\
|
||||
@media (prefers-color-scheme: dark){:root{--color-bg-primary:#212121;--color-text-primary:#fafafa;--color-text-secondary:#bbb}}\
|
||||
html,body{height:100%;font-family:sans-serif;background-color:var(--color-bg-primary);color:var(--color-text-primary);margin:0;\
|
||||
@@ -34,10 +34,11 @@ RUN set -x \
|
||||
&& strip ./bin/TrafficPlugin.ld.so \
|
||||
&& strip ./bin/PCREPlugin.ld.so \
|
||||
&& strip ./bin/TransparentPlugin.ld.so \
|
||||
&& strip ./bin/SSLPlugin.ld.so
|
||||
&& strip ./bin/SSLPlugin.ld.so \
|
||||
&& cp /lib/$(gcc -dumpmachine)/libdl.so.* /tmp/3proxy/
|
||||
|
||||
# Prepare filesystem for 3proxy running
|
||||
FROM alpine:latest AS buffer
|
||||
FROM docker.io/library/alpine:latest AS buffer
|
||||
|
||||
# create a directory for the future root filesystem
|
||||
WORKDIR /tmp/rootfs
|
||||
@@ -53,7 +54,7 @@ RUN set -x \
|
||||
&& chmod +x ./bin/dumb-init \
|
||||
&& apk del .build-deps
|
||||
|
||||
COPY --from=builder /lib/*-linux-gnu/libdl.so.* ./lib/
|
||||
COPY --from=builder /tmp/3proxy/libdl.so.* ./lib/
|
||||
COPY --from=builder /tmp/3proxy/bin/3proxy ./bin/3proxy
|
||||
COPY --from=builder /tmp/3proxy/bin/*.ld.so ./usr/local/3proxy/libexec/
|
||||
COPY --from=ghcr.io/tarampampam/mustpl:0.1.1 /bin/mustpl ./bin/mustpl
|
||||
@@ -63,7 +64,7 @@ COPY 3proxy.cfg.mustach ./etc/3proxy/3proxy.cfg.mustach
|
||||
RUN chown -R 10001:10001 ./etc/3proxy
|
||||
|
||||
# Merge into a single layer
|
||||
FROM busybox:stable-glibc
|
||||
FROM docker.io/library/busybox:stable-glibc
|
||||
|
||||
LABEL \
|
||||
org.opencontainers.image.title="3proxy" \
|
||||
|
||||
@@ -30,6 +30,6 @@ And override the default values in your `values.yaml`:
|
||||
```yaml
|
||||
proxy-3proxy:
|
||||
# ...
|
||||
service: {port: 8800}
|
||||
service: {ports: {http: 3128}}
|
||||
# ...
|
||||
```
|
||||
|
||||
@@ -72,14 +72,14 @@ spec:
|
||||
- name: {{ $authLoginEnvName }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
||||
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||
{{- else if .fromConfigMap.enabled }}
|
||||
- name: {{ $authLoginEnvName }}
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
||||
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -91,14 +91,14 @@ spec:
|
||||
- name: {{ $authPasswordEnvName }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
||||
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||
{{- else if .fromConfigMap.enabled }}
|
||||
- name: {{ $authPasswordEnvName }}
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
||||
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
@@ -112,14 +112,14 @@ spec:
|
||||
- name: {{ $extraAuthAccountsEnvName }}
|
||||
valueFrom:
|
||||
secretKeyRef:
|
||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
||||
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||
{{- else if .fromConfigMap.enabled }}
|
||||
- name: {{ $extraAuthAccountsEnvName }}
|
||||
valueFrom:
|
||||
configMapKeyRef:
|
||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
||||
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user