|
2 | 2 |
|
3 | 3 | { |
4 | 4 | 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 | + |
5 | 32 | 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" \ |
7 | 45 | --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 |
13 | 49 | } |
14 | 50 |
|
15 | 51 | function dsh() { |
|
142 | 178 | } |
143 | 179 |
|
144 | 180 | 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 |
161 | 211 | } |
162 | 212 |
|
163 | 213 | function tclis() { |
|
0 commit comments