Add a ru proxy to xray

Signed-off-by: Nikolai Rodionov <allanger@badhouseplants.net>
This commit is contained in:
Nikolai Rodionov 2025-05-29 20:07:08 +02:00
parent 6a28dfa50a
commit 66aaa976e6
Signed by: allanger
GPG Key ID: 09F8B434D0FDD99B
9 changed files with 140 additions and 87 deletions

View File

@ -17,7 +17,6 @@ repositories:
url: https://docs.renovatebot.com/helm-charts
- name: badhouseplants-helm
url: git+https://gitea.badhouseplants.net/badhouseplants/badhouseplants-helm@charts?ref=main
releases:
- name: app-gitea
chart: gitea/gitea
@ -89,7 +88,7 @@ releases:
chart: allangers-charts/server-xray
installed: true
namespace: public-xray
version: 0.8.0
version: 0.9.0
inherit:
- template: env-secrets
- template: env-values

View File

@ -10,11 +10,15 @@ repositories:
- name: xray-docs
url: git+https://gitea.badhouseplants.net/badhouseplants/xray-docs.git@helm?ref=main
commonLabels:
layer: applications
releases:
- name: qbittorrent
chart: gabe565/qbittorrent
version: 0.4.1
namespace: applications
installed: false
inherit:
- template: env-values
- template: ext-secret

View File

@ -0,0 +1,30 @@
#!/usr/bin/env bash
WORKDIR=$(mktemp -d)
cat <&0 > "${WORKDIR}/result.yaml"
echo "---" >> "${WORKDIR}/result.yaml"
if [ -z "${CI}" ]; then
BRAHCN=$(git rev-parse --abbrev-ref HEAD)
SHA=$(git rev-parse --short HEAD)
STATUS=$(test -z `git status --porcelain` && echo clean || echo dirty)
kubectl create configmap --dry-run=client \
"${1}-apply-log" -o yaml \
--from-literal author="${USER}" \
--from-literal branch="${BRAHCN}" \
--from-literal sha="${SHA}" \
--from-literal status="${STATUS}" \
| yq 'del(.metadata.creationTimestamp)' \
>> "${WORKDIR}/result.yaml"
else
kubectl create configmap --dry-run=client \
"${1}-apply-log" -o yaml \
--from-literal author="${USER}" \
--from-literal ci="true" \
| yq 'del(.metadata.creationTimestamp)' \
>> "${WORKDIR}/result.yaml"
fi
cat "${WORKDIR}/result.yaml"
rm -rf "${WORKDIR}/result.yaml"

View File

@ -6,8 +6,8 @@ base:
initContainers:
prepare-config:
image:
registry: registry.hub.docker.com
repository: library/alpine
registry: docker.io
repository: /alpine/curl
tag: latest
pullPolicy: Always
volumeMounts:
@ -19,10 +19,11 @@ base:
config:
path: /app/etc
command:
- sh
- curl
args:
- -c
- cp /app/config/config.toml /app/etc/config.toml && echo "" >> /app/etc/config.toml
- -L
- -O
- https://github.com/v2fly/geoip/releases/download/202505050146/geoip.dat
containers:
stalwart:
volumeMounts:

File diff suppressed because one or more lines are too long

View File

@ -8,54 +8,79 @@ certificate:
name: badhouseplants-issuer-http01
dnsNames:
- apfelkuchen.badhouseplants.net
workload:
replicas: 2
containers:
server-xray:
ports:
shadowsocks-tcp: tcp
shadowsocks-udp: udp
base:
workload:
replicas: 2
initContainers:
get-geoip:
image:
registry: docker.io
repository: alpine/curl
tag: latest
pullPolicy: Always
volumeMounts:
extraVolumes:
share:
path: /app/share
command:
- curl
args:
- -L
- -o
- /app/share/geoip.dat
- https://github.com/v2fly/geoip/releases/download/202505050146/geoip.dat
get-geosite:
image:
registry: docker.io
repository: alpine/curl
tag: latest
pullPolicy: Always
volumeMounts:
extraVolumes:
share:
path: /app/share
command:
- curl
args:
- -L
- -o
- /app/share/geosite.dat
- https://github.com/v2fly/domain-list-community/releases/download/20250528105809/dlc.dat
containers:
server-xray:
volumeMounts:
extraVolumes:
certs:
path: /app/certs
share:
path: /app/share
envFrom:
main: {}
traefik:
enabled: true
tcpRoutes:
- name: server-apfelkuchen
service: server-xray-public-edge-xray-https
service: server-xray-public-edge-xray
match: HostSNI(`apfelkuchen.badhouseplants.net`)
entrypoint: websecure
port: 443
port: https
tls:
secretName: apfelkuchen.badhouseplants.net
passthrough: true
shortcuts:
hostname: apfelkuchen.badhouseplants.net
ingress:
main:
enabled: false
annotations:
kubernetes.io/ingress.allow-http: "false"
kubernetes.io/ingress.class: traefik
kubernetes.io/ingress.global-static-ip-name: ""
kubernetes.io/tls-acme: "true"
traefik.ingress.kubernetes.io/router.entrypoints: web,websecure
extraVolumes:
certs:
secret:
secretName: apfelkuchen.badhouseplants.net
service:
shadowsocks-tcp:
enabled: true
type: ClusterIP
ports:
tcp:
port: 8443
targetPort: 8443
protocol: TCP
shadowsocks-udp:
enabled: true
type: ClusterIP
ports:
udp:
port: 8443
targetPort: 8443
protocol: UDP
share:
emptyDir: {}
config:
env:
main:
enabled: true
sensitive: false
data:
XRAY_LOCATION_ASSET: /app/share

File diff suppressed because one or more lines are too long

View File

@ -10,3 +10,5 @@ namespaces:
defaultRegcred: true
- name: istio-system
defaultRegcred: true
- name: public-xray
defaultRegcred: true

View File

@ -1,32 +1,23 @@
files:
config:
enabled: ENC[AES256_GCM,data:/Pq9iw==,iv:HMs4LzwNIFF8XRmjQ4uqKu7X5QsV8Mk9I/yc/gZq62E=,tag:f8WZiM0PEXwwu+cMMOoRiw==,type:bool]
sensitive: ENC[AES256_GCM,data:nv0bwRU=,iv:E6FE7eGGHt1DfkMyRteMbnuaX4Kq9rWMmVISTE/eD5Q=,tag:OsPWtKkwawXqvIoc+Nwmeg==,type:bool]
enabled: ENC[AES256_GCM,data:Cdzduw==,iv:syGNqO1gDNUSW7+OROmDCLxhNFhMqyPtk9mOeWi3ItU=,tag:Mb2mHv5Foc3C7JaFBYxVKQ==,type:bool]
sensitive: ENC[AES256_GCM,data:zunkpj8=,iv:AGdydrB58PC9s9o4vRoFOz6a9qZgkTi+IK+9+yJrKFM=,tag:jOOXxE+s/hbXx7UxOB8szg==,type:bool]
remove: []
entries:
config.json:
data: ENC[AES256_GCM,data:p8tabUYlroJSzmGH4GQyrn+HCRKL3QtSoCIZTqS9h6B/KPLsGZVmpPlSZ06C0ahBYVDzsefE07//mkoa6zA8FmlPpyEiwOXJB3LE1xqSo/kH5Ckr1dSoUXiuSIARCigRqParHe8PHG9KTZvdOmrMaThpioWzL9wS9Qb/uqpg9A2P9eipmY/Gm6UcQDMbHXQRBBYcrZ8Ag7cYIjWI0Y6sqdtUuSPiWwBKGNdhZDoXNdb1EcDRKgJtQ1BiLBZ1EMzyD2SnrQbCShV3SCdzki3iRVol0n8oJ4DlCuRRWUzGWF1Qo42yqOd+xdgHI08hHcdww3+MIMIKouHaNibzBzE7tVlCHDqM/dLm3eoNAvyUza24ajmhyVxyzTRlY5seWqRv+P0E7JviiP3CQBk/zscIMMUn5zOsBtIpCPzQA/+lRbc9k2B6K18f/V8yiJH0z9ukxPxuRRE+AmTGvrd5eUnpu8ruczcavSzRViU3eN7EpkoJbFkSTKwaDlSO23d4vpyupjeVfQSJjEadqfSuOnv592/8SlLrMU7B2U/bhmFRggAfyQpxrOhO5p9EWioG2o3qNJA8dKU3Lj0AXKk0fv6O74PG32YjnUsMJxB6i6lrz9vGQ7Ris868FIbhPmRJyD4+5XBy1bAtjT/DULpA2J1ChaK5tKXtLrwRp+u6LJmhQo9Q8iTjoCciVwtgzc2sI1V+AaVEz9LfgoL1XeGRxtLi29graan9MTTqEdIOloibfT+BCAD3vVc145RzDVpM5v/D3mVni/R5XWIuZrMklkFf/K3fgF9SOkME1zHfIOr9i2W8egV/r3WxtjT6VoVKjkIc1Zje+52wd8cn76a7DCOfV50oYMdRSoMlrjRXcppN4NVYn0KNscILB/Hu0Itof76pRJJN6m682U2KlBGNn5K797TJas288vqoo01mPg7HZipsmkVYy43/9KntKxr5Zi21Cr4eltY9Yt5Za6olT8VeJTpRygglhyxaQmfQRG/+9r/DqWyIuXZvU7l+fozvOBevefgkmohGA20QbmQ7YpDUeQv18T0RgDwMC2PE1aNx3+luwOteI4jb1B8r99zuicAa1SgggGZy9bYtzGYliNOcZ8oK1nxth8W3k0qMmjBrGNpTn0tZ+J0LJTAZ56OLMQyJPFFAJqVzwLdJ06K0Cw/MlXfho4iH22qVNbUpIQ34ndhmrPlO4Py0oouqdupS4veY61Df+1yeMIFNMgaGxsSdBp10A5u+YF1BI6Tu6BlUhT7bAWfEjX/P7Eq/MS/yu5iU3yMzE3IPiq+ZgZ+fxQYwJkYcwiaSY67pqUy4URxVe98URpE06GD+I6bCWw28qSDVUC+pWLmw+ll2lMeB/QgBFsynKrW68wGU38O3agMAfK598EUBoMAgI7bap2nx57o/Y+UpNtTsHBpwKlgFYL5abwKCPCrhV4rnDJetjgCbTumduTqTE9ICu8m104bNTpw6mvLe+BWp/c43Xx3/9WmwIJVOLnM8prigehxBQoxFU2+CclriNYjTn8za/fZuNLJ/XWFoTwiVYCd7RXsPsxnVe2LuDRzkFK8U1JB42iAIKIo2/OwOPiKjBXtAk4Q76guUoxcoCVaj/q9+t74V5viTjlaX7scNd7hNNjs56S3+6ZNBL37yuKbf3nY5qzPYBVt3h2LAHHcdfxtNIsz8gIDKWkHxc8NOjgUIv/B5ENuJLcDn3W5VVcfTh08wuWR7mZO1xiOCPyLEmlB3hNJQLvoLPrMHfwGjxB8CwC2xrQ2ndEWlUwgXwPFrhmM3cGV/jWY2nXLeUieIiMVFldsjSDwA0XjcExs1RfWoO0ZrZs5+0YehDmjRQRq0XtSvsO+5IeE1bFoZRtzEUzf8iZNvBcHtc8FmRUPVFJKnh8RJGKDkbVKLYg0mGtDvzianLYdv3Ugrnal5e/Rjp6EbezVLUK3kvubFUjxSwFQBIjRfJUP2hmX70JRoMoWWpnJbpHgsjQNg2K7aQ45NTSJSP1VyD2H3gibm6zm7IYWTlQ7lpbdZH0MxH8WIFYa1UBMlNq0JCFc18jWLxcLMlCEoM/qX7GrjoCRaj6YZWH3MeseLxcyfoY8wRWHo7piJjdeDXBQTpvu6ClzHz36iVxpueCTTkhZbcf0dLsxxQ0qfzqZgOhtJq/wc5dOKyHRtCxCJnVvDl8twxA1h+fgXol2EpJvHVdFfKVq7/b+B+F2tSlEQtc4i9lFaMQaeXdlFZNhmp+/6ZKojowZWnAnhA+mC87+p/3yeII1Wf5ct9mFm+K2uit88nAzhxFQXpGuhUrMj+PHSVlyv1wY1i1vi4QfSGzm2VKU8Ajf+BpiVnb2kkKeUkrR5IR07fOpkJktmUqMlbxt1Q+V46cxEC2r3AA38OOPfrFGAb7yjT/DYwehBN9r6BIhgd+0DFFpL/W9HYu10j3NVNm40lkRl1+atdeDa6LXCR8ZNhHtK0zSPcpXFlsB07YYSjXblqtA1jKVMarrQDYLRueqYVjjkZV+VsxBexfHhj4ZO/hIHvP6Yb00qmlSQGGO17Cq3oZRj1TwIWsE28qKOkFWCquzjS/coE/rMVoN3aLp+KkZlEaB4fvZd8kflMIXS0C2weSMhLq4mQ8ICb81jzmrBvN/io2aV2V57feFg3gDnDtpEdzflh3fI8q+DbANdCBeIEaj+Iizbg/7tRV0XtgdkDbJGRMmDZ8V9veQT6NThlwtuAVDSusaTw/U7giMotC3GI4/7Tl3/G3KNlMOgzmUphDRA638YKw7TEFYKr068B3+ZyZQK4taxCkeKn2f9R/0Kg/JK238lR3vYZ2Ye6W1adv4rqVhMLSHbDSavqW8Q/wJnZkZVwXLWRHG+E6u74ufBp7Uxg/7aYbMGl4vMd8TcA/ydq7e/2jiZbwPVzXPMnKypBHwTdndJ6R09nwHMyz6iZ/0e4WVy6mrkR5LuIfTzA+7zhZN/kpUakhAj2bj9d6GwsawMCsZi2ld9XS+HJrqy53w52IWazsQeSGfEKklVcOyQHY21zN3aB63eixVrIMhmVlzu4HVnDoFvUCYs6ShCMTc8FJP3KFOUAl/vlzo81gnpEhWsYNseWSEcHLpdRVkPH55hqEjhQJFDxY8/dXhkU7X0fe5z0Y/I0ElPIR1sIzueD3f9ECiCZBvt/sHtfPuDWWEz0OZw8ga6BXAhDlfomT7bmImvWj+DYbnETxfkMXIifY01cTUn1Gq7WKxKWpcRB7Aj5bHyG4keGbi59NjY/n+DexxiQeXfPeCGJuth/dUC6DU+Z/CukN7L6FurZ2UAaAgHtYES1RR3YWC/MNokvRE5cOI=,iv:chRQSyE0r7SQ462WWUUwwRwqh1MD3+RwjKBMlgCL/y8=,tag:D7DFlbbdk3whwO1VTymDmw==,type:str]
data: ENC[AES256_GCM,data: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,iv:pmWJ2MKAgdOo7BNrpCawLTKjRS2H4+lvEL0/V38dWTA=,tag:bADjg5kq+YzeUMJARkLFmA==,type:str]
sops:
age:
- recipient: age1vzkv97n2p7gfkw8dyx8ctz2kumattz89th2jq47zyjyrarmnssysdkw9v8
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBMUGM4THZRckZFZk1jMG9K
ZlQ2Q2o5VVlWTGtWMDRlMmp5MGxqZGRRd0hrCmlsV0NVMWlac2d6T0F4SHAzampm
bDJ2WFFOYmtmUllyY0UybFN5anhBQzQKLS0tIDlwUndYOXJtMWMyUVdMRzVjczZr
TG81OHQ1NXVBazBOYm9wT0FXZHN3bEUK+c+RP3xPEB3CCGN8zyHZaswiImhYNgYW
2lj77y++2QWNCdndR7DfsKYgt6wzwe2k3dvrLUbz8DhKHnZLiVz+OQ==
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBCWTFsblZYZEwrMVhrY1ow
YXNsVzZab2dOc0lnb1BSbm5IZ2ozd2p1VEU0CmZaMmFLcDY0cVIrOUhyQm5LQ2ly
bjAzeVNIT3FxaXJ3SVkzUzR0czAzWHcKLS0tIEJTTmNjREw5MGR6WkErMk84WWwv
OS9NV2pWdjl0RS9PcjBHZXBRQUgxejQKK1f6NfrCjTMjREPPsqpNrRbsobnXXRHJ
jq5kyGboaGL+bCt9baRxAr4uQ9s8Okyht+hkosEAUUvOSXA3Juhlzg==
-----END AGE ENCRYPTED FILE-----
- recipient: age17fyzv5mezck364lvyepp9pa3tnjn7jvsgcpykhhz2smnxyq6fdusvl7waf
enc: |
-----BEGIN AGE ENCRYPTED FILE-----
YWdlLWVuY3J5cHRpb24ub3JnL3YxCi0+IFgyNTUxOSBYVkVsZXRRZVlyaytSN2Nz
VnErNEhaekdJcldIVkNEMTVNWHJ0d0FLNldnClU1WFNCV2JUdm85UU9oVEFOQXpD
VTBEUmZlaytLcU0zVUhpMk1LQWsxSkUKLS0tIE5zWG5UckdKb0tTRUhXNkFBNzZP
YmJFazAydjBSSHYyYzZJa3JHdEVMK1kKNgqAMknySjN255pn+u2XF+lL/OtU6vjf
DCKGPGWKxVFMHC9DgYf8HifjburDZ1L+CvMDLHQOPd+1Piy58qoMpQ==
-----END AGE ENCRYPTED FILE-----
lastmodified: "2025-04-06T11:46:52Z"
mac: ENC[AES256_GCM,data:mqkvRkklYHKHsPa0g5MHw+7EaNeftEj1sBs4cOPVN6E8alTIvudqfzU3Q0eDpq7vFPRRUpcYxCJV5NDSK6/ahr+oeWOpURbrbQ9JyEFpH4GGJRHrMW04JVjtSEbh8HshvIj+IEi7dc6k8Wg8lt4sMEv/rzaJ3ezPWRiHM8GqNvg=,iv:yA7dH0qsDv84Ngxw92BsVk8u444o1OT7/T/MpGpIeyE=,tag:IBXzQ+F1mx+MQnnbwnKfJw==,type:str]
lastmodified: "2025-05-29T15:11:57Z"
mac: ENC[AES256_GCM,data:CUijOy4NzCJAj2nujEEPj3JfwY8fW1lEH/eOqLsUQkB1HT7eqY15CepvIVoGxf5aKBgEg02UJOYSAiuWuWL500wlROCG3bPvIrB/5kxMuCZZL/BwOByuel3iUg6vi8oAOd6u2WRlLlacvfhCnW7+XEUXu/M6kvGJs98ts2e3Gws=,iv:e0kQyFraRICc+nkqmAdLq8sE7x8fOLbCjLb75dMyRog=,tag:YgIDom+Ze6BAyl+BQTSj9g==,type:str]
unencrypted_suffix: _unencrypted
version: 3.10.1
version: 3.10.2