wangzhibo
2025-08-04 f5106b912f1261fe633aa6bcdf10a4b7e74345aa
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/data/data/com.termux/files/usr/bin/env bash
 
LOG_DIR="$HOME"
SESSION1="sening_vdp1"
SESSION2="sening_vdp2"
 
export GODEBUG=netdns=go+ipv4
 
# 清理旧日志(可选)
find "$LOG_DIR" -maxdepth 1 -name "*.log" -type f -delete
 
echo "[$(date)] Starting Termux service script..." >> "$LOG_DIR/boot.log"
 
# 等待网络上线
until ping -c 1 8.8.8.8 > /dev/null 2>&1; do
    echo "[$(date)] Waiting for network..." >> "$LOG_DIR/network_wait.log"
    sleep 5
done
 
# 启动 sening_vdp1(clash) 如果没启动的话
if ! tmux has-session -t "$SESSION1" 2>/dev/null; then
    echo "[$(date)] Starting $SESSION1 in tmux..." >> "$LOG_DIR/boot.log"
    tmux new-session -d -s "$SESSION1" "$HOME/sening_vdp1 -f $HOME/sening_vdp1.yaml >> $LOG_DIR/sening_vdp1.log 2>&1"
else
    echo "[$(date)] $SESSION1 already running" >> "$LOG_DIR/boot.log"
fi
 
# 启动 sening_vdp2(frq)守护循环
if ! tmux has-session -t "$SESSION2" 2>/dev/null; then
    echo "[$(date)] Starting $SESSION2 in tmux..." >> "$LOG_DIR/boot.log"
    tmux new-session -d -s "$SESSION2" "while true; do \
        echo \"[\$(date)] Running sening_vdp2...\" >> $LOG_DIR/sening_vdp2.log; \
        $HOME/sening_vdp2 -c $HOME/sening_vdp2.toml >> $LOG_DIR/sening_vdp2.log 2>&1; \
        echo \"[\$(date)] sening_vdp2 exited. Restarting in 15s...\" >> $LOG_DIR/sening_vdp2.log; \
        sleep 15; \
    done"
else
    echo "[$(date)] $SESSION2 already running" >> "$LOG_DIR/boot.log"
fi