From 9be13fe093a6434e603a5241048452d41410db0e Mon Sep 17 00:00:00 2001 From: 9seconds Date: Tue, 19 Jun 2018 11:15:16 +0300 Subject: [PATCH] Add run-mtg script --- run-mtg.sh | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 run-mtg.sh diff --git a/run-mtg.sh b/run-mtg.sh new file mode 100755 index 0000000..8edd1cf --- /dev/null +++ b/run-mtg.sh @@ -0,0 +1,35 @@ +#!/bin/bash +set -eu -o pipefail + +IMAGE_NAME="nineseconds/mtg" +CONTAINER_NAME="mtg" +SECRET_PATH="$HOME/.mtg.secret" +PROXY_PORT=444 +STAT_PORT=3129 + +[[ -e "$SECRET_PATH" ]] || ( + openssl rand -hex 16 > "$SECRET_PATH" + chmod 0400 "$SECRET_PATH" +) + +# docker pull "$IMAGE_NAME" +docker ps --filter "Name=$CONTAINER_NAME" -aq | xargs -r docker rm -fv +docker run \ + --name "$CONTAINER_NAME" \ + --sysctl 'net.ipv4.ip_local_port_range=10000 65000' \ + --sysctl net.ipv4.tcp_congestion_control=bbr \ + --sysctl net.ipv4.tcp_fastopen=3 \ + --sysctl net.ipv4.tcp_fin_timeout=30 \ + --sysctl net.ipv4.tcp_keepalive_time=1200 \ + --sysctl net.ipv4.tcp_max_syn_backlog=4096 \ + --sysctl net.ipv4.tcp_max_tw_buckets=5000 \ + --sysctl net.ipv4.tcp_mtu_probing=1 \ + --sysctl 'net.ipv4.tcp_rmem=4096 87380 67108864' \ + --sysctl net.ipv4.tcp_syncookies=1 \ + --sysctl net.ipv4.tcp_tw_reuse=1 \ + --sysctl 'net.ipv4.tcp_wmem=4096 65536 67108864' \ + --ulimit nofile=51200:51200 \ + --restart=unless-stopped \ + -p $PROXY_PORT:3128 \ + -p $STAT_PORT:3129 \ + "$IMAGE_NAME" "$(cat "$SECRET_PATH")"