Compare commits
5 Commits
v1.11.0-rc
...
v1.11.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e646bd801e | ||
|
|
9791f4a007 | ||
|
|
29d2351597 | ||
|
|
46cfd03a37 | ||
|
|
873c511f96 |
1
.github/workflows/release.yml
vendored
1
.github/workflows/release.yml
vendored
@@ -43,6 +43,7 @@ jobs:
|
|||||||
helm-pack:
|
helm-pack:
|
||||||
name: Pack the Helm chart
|
name: Pack the Helm chart
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
needs: [build-docker-image]
|
||||||
defaults: {run: {working-directory: ./deployments/helm}}
|
defaults: {run: {working-directory: ./deployments/helm}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- 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: actions/checkout@v4, with: {fetch-depth: 0}}
|
||||||
- uses: gacts/gitleaks@v1
|
- 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:
|
lint-charts:
|
||||||
name: Lint the chart
|
name: Lint the chart
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: [filter]
|
|
||||||
if: needs.filter.outputs.helm == 'true'
|
|
||||||
defaults: {run: {working-directory: ./deployments/helm}}
|
defaults: {run: {working-directory: ./deployments/helm}}
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
@@ -55,8 +38,6 @@ jobs:
|
|||||||
build-image:
|
build-image:
|
||||||
name: Build the docker image
|
name: Build the docker image
|
||||||
runs-on: ubuntu-latest
|
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:
|
steps:
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- run: docker build -f ./Dockerfile --tag 3proxy:local .
|
- run: docker build -f ./Dockerfile --tag 3proxy:local .
|
||||||
@@ -68,7 +49,7 @@ jobs:
|
|||||||
retention-days: 1
|
retention-days: 1
|
||||||
|
|
||||||
try-to-use:
|
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
|
runs-on: ubuntu-latest
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|||||||
17
Dockerfile
17
Dockerfile
@@ -1,20 +1,20 @@
|
|||||||
# syntax=docker/dockerfile:1
|
# syntax=docker/dockerfile:1
|
||||||
|
|
||||||
FROM gcc:13.3.0 AS builder
|
FROM docker.io/library/gcc:13.3.0 AS builder
|
||||||
|
|
||||||
# renovate: source=github-tags name=z3APA3A/3proxy
|
# renovate: source=github-tags name=3proxy/3proxy
|
||||||
ARG Z3PROXY_VERSION=0.9.4
|
ARG Z3PROXY_VERSION=0.9.4
|
||||||
|
|
||||||
# Fetch 3proxy sources
|
# Fetch 3proxy sources
|
||||||
RUN set -x \
|
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
|
WORKDIR /tmp/3proxy
|
||||||
|
|
||||||
# Patch sources
|
# Patch sources
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& echo '#define ANONYMOUS 1' >> ./src/3proxy.h \
|
&& 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}\
|
&& 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}}\
|
@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;\
|
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/TrafficPlugin.ld.so \
|
||||||
&& strip ./bin/PCREPlugin.ld.so \
|
&& strip ./bin/PCREPlugin.ld.so \
|
||||||
&& strip ./bin/TransparentPlugin.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
|
# 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
|
# create a directory for the future root filesystem
|
||||||
WORKDIR /tmp/rootfs
|
WORKDIR /tmp/rootfs
|
||||||
@@ -53,7 +54,7 @@ RUN set -x \
|
|||||||
&& chmod +x ./bin/dumb-init \
|
&& chmod +x ./bin/dumb-init \
|
||||||
&& apk del .build-deps
|
&& 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/3proxy ./bin/3proxy
|
||||||
COPY --from=builder /tmp/3proxy/bin/*.ld.so ./usr/local/3proxy/libexec/
|
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
|
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
|
RUN chown -R 10001:10001 ./etc/3proxy
|
||||||
|
|
||||||
# Merge into a single layer
|
# Merge into a single layer
|
||||||
FROM busybox:stable-glibc
|
FROM docker.io/library/busybox:stable-glibc
|
||||||
|
|
||||||
LABEL \
|
LABEL \
|
||||||
org.opencontainers.image.title="3proxy" \
|
org.opencontainers.image.title="3proxy" \
|
||||||
|
|||||||
@@ -30,6 +30,6 @@ And override the default values in your `values.yaml`:
|
|||||||
```yaml
|
```yaml
|
||||||
proxy-3proxy:
|
proxy-3proxy:
|
||||||
# ...
|
# ...
|
||||||
service: {port: 8800}
|
service: {ports: {http: 3128}}
|
||||||
# ...
|
# ...
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -72,14 +72,14 @@ spec:
|
|||||||
- name: {{ $authLoginEnvName }}
|
- name: {{ $authLoginEnvName }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||||
{{- else if .fromConfigMap.enabled }}
|
{{- else if .fromConfigMap.enabled }}
|
||||||
- name: {{ $authLoginEnvName }}
|
- name: {{ $authLoginEnvName }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@@ -91,14 +91,14 @@ spec:
|
|||||||
- name: {{ $authPasswordEnvName }}
|
- name: {{ $authPasswordEnvName }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||||
{{- else if .fromConfigMap.enabled }}
|
{{- else if .fromConfigMap.enabled }}
|
||||||
- name: {{ $authPasswordEnvName }}
|
- name: {{ $authPasswordEnvName }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
@@ -112,14 +112,14 @@ spec:
|
|||||||
- name: {{ $extraAuthAccountsEnvName }}
|
- name: {{ $extraAuthAccountsEnvName }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
secretKeyRef:
|
secretKeyRef:
|
||||||
name: "{{ tpl (toYaml .fromSecret.secretName) $ }}"
|
name: {{ tpl .fromSecret.secretName $ | quote }}
|
||||||
key: "{{ tpl (toYaml .fromSecret.secretKey) $ }}"
|
key: {{ tpl .fromSecret.secretKey $ | quote }}
|
||||||
{{- else if .fromConfigMap.enabled }}
|
{{- else if .fromConfigMap.enabled }}
|
||||||
- name: {{ $extraAuthAccountsEnvName }}
|
- name: {{ $extraAuthAccountsEnvName }}
|
||||||
valueFrom:
|
valueFrom:
|
||||||
configMapKeyRef:
|
configMapKeyRef:
|
||||||
name: "{{ tpl (toYaml .fromConfigMap.configMapName) $ }}"
|
name: {{ tpl .fromConfigMap.configMapName $ | quote }}
|
||||||
key: "{{ tpl (toYaml .fromConfigMap.configMapKey) $ }}"
|
key: {{ tpl .fromConfigMap.configMapKey $ | quote }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user