Skip to content

Commit f045344

Browse files
committed
feat: setup wireguard
1 parent d49d43b commit f045344

1 file changed

Lines changed: 72 additions & 22 deletions

File tree

internal/cli/bash/bash_functions.sh

Lines changed: 72 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,50 @@
22

33
{
44
function __docker() {
5+
if [ -n "$(docker network ls | grep wireguard)" ]; then
6+
docker run \
7+
--interactive \
8+
--network "container:wireguard" \
9+
--rm \
10+
--tty \
11+
--user "${UID}:${UID}" \
12+
--volume "$(readlink -f ${PWD}):/sandbox" \
13+
--workdir /sandbox \
14+
"$@"
15+
else
16+
docker run \
17+
--interactive \
18+
--rm \
19+
--tty \
20+
--user "${UID}:${UID}" \
21+
--volume "$(readlink -f ${PWD}):/sandbox" \
22+
--workdir /sandbox \
23+
"$@"
24+
fi
25+
}
26+
27+
function __docker_vpn() {
28+
[ -n "$(docker network ls | grep wireguard)" ] || {
29+
docker network create wireguard
30+
}
31+
532
docker run \
6-
--interactive \
33+
--cap-add=NET_ADMIN \
34+
--cap-add=SYS_MODULE \
35+
--detach \
36+
--device /dev/net/tun \
37+
--env PGID="$(id -g)" \
38+
--env PUID="$(id -u)" \
39+
--name wireguard \
40+
--publish="127.0.0.1:${RANDOM}:46882/udp" \
41+
--publish="127.0.0.1:${RANDOM}:50052/udp" \
42+
--publish="127.0.0.1:${RANDOM}:51413/tcp" \
43+
--publish="127.0.0.1:${RANDOM}:51413/udp" \
44+
--publish="127.0.0.1:${RANDOM}:9091" \
745
--rm \
8-
--tty \
9-
--user="${UID}:1000" \
10-
--volume="$(readlink -f ${PWD}):/sandbox" \
11-
--workdir=/sandbox \
12-
"$@"
46+
--sysctl net.ipv4.conf.all.src_valid_mark=1 \
47+
--volume "$HOME/.vpn:/config" \
48+
linuxserver/wireguard
1349
}
1450

1551
function dsh() {
@@ -142,22 +178,36 @@
142178
}
143179

144180
function tcli() {
145-
__docker \
146-
--detach \
147-
--publish="127.0.0.1:${RANDOM}:46882/udp" \
148-
--publish="127.0.0.1:${RANDOM}:50052/udp" \
149-
--publish="127.0.0.1:${RANDOM}:51413/tcp" \
150-
--publish="127.0.0.1:${RANDOM}:51413/udp" \
151-
--publish="127.0.0.1:${RANDOM}:9091" \
152-
--volume="${HOME}/.torrents:/home/ubuntu/Downloads" \
153-
initbar/lib:latest \
154-
transmission-cli \
155-
--blocklist \
156-
--encryption-preferred \
157-
--no-downlimit \
158-
--uplimit 1 \
159-
--verify \
160-
"$1"
181+
if [ -n "$(docker network ls | grep wireguard)" ]; then
182+
__docker \
183+
--detach \
184+
--volume="${HOME}/.torrents:/home/ubuntu/Downloads" \
185+
initbar/lib:latest \
186+
transmission-cli \
187+
--blocklist \
188+
--encryption-preferred \
189+
--no-downlimit \
190+
--uplimit 1 \
191+
--verify \
192+
"$1"
193+
else
194+
__docker \
195+
--detach \
196+
--publish="127.0.0.1:${RANDOM}:46882/udp" \
197+
--publish="127.0.0.1:${RANDOM}:50052/udp" \
198+
--publish="127.0.0.1:${RANDOM}:51413/tcp" \
199+
--publish="127.0.0.1:${RANDOM}:51413/udp" \
200+
--publish="127.0.0.1:${RANDOM}:9091" \
201+
--volume="${HOME}/.torrents:/home/ubuntu/Downloads" \
202+
initbar/lib:latest \
203+
transmission-cli \
204+
--blocklist \
205+
--encryption-preferred \
206+
--no-downlimit \
207+
--uplimit 1 \
208+
--verify \
209+
"$1"
210+
fi
161211
}
162212

163213
function tclis() {

0 commit comments

Comments
 (0)