Last active
September 12, 2022 18:52
-
-
Save nqxcode/411dda4fb603b0bcbbccaade8a89b3f5 to your computer and use it in GitHub Desktop.
Socks tunnel service for OpenWrt 19.07.2
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/root/bin/socks_tunnel | |
#!/bin/bash | |
trap "stop" SIGTERM SIGINT | |
if [[ -z $1 ]]; then | |
echo 'Please, specify server...' | |
exit 1 | |
fi | |
if [[ -z $2 ]]; then | |
echo 'Please, specify proxy port...' | |
exit 1 | |
fi | |
SERVER=$1 | |
PROXY_PORT=$2 | |
SSH_CONTROL_SOCKET="/tmp/${SERVER}.${RANDOM}.socket" | |
function pid() { | |
echo `ssh -S $SSH_CONTROL_SOCKET -O check $SERVER 2>&1 | awk -F '=' '{print $2}' | awk -F ')' '{print $1}'` | |
} | |
function stop() { | |
PID=`pid` | |
if [ ! -z "$PID" ]; then | |
kill $PID | |
rm $SSH_CONTROL_SOCKET 2> /dev/null | |
exit 0 | |
fi | |
} | |
while true; do | |
PID=`pid` | |
if [ -z "$PID" ]; then | |
ssh -M -S $SSH_CONTROL_SOCKET -o "StrictHostKeyChecking=no" -4 -D *:$PROXY_PORT $SERVER -f -N | |
fi | |
sleep 3 | |
done |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/etc/init.d/socks_tunnel | |
#!/bin/bash /etc/rc.common | |
USE_PROCD=1 | |
START=95 | |
STOP=10 | |
CONFIGURATION=socks_tunnel | |
handle_instance() { | |
local tunnel="$1" | |
local server | |
local proxy_port | |
config_get server $tunnel server | |
config_get proxy_port $tunnel proxy_port | |
procd_open_instance $tunnel | |
procd_set_param command /bin/bash "/root/bin/socks_tunnel" "$server" "$proxy_port" | |
procd_set_param respawn ${respawn_threshold:-3600} ${respawn_timeout:-5} ${respawn_retry:-5} | |
procd_set_param stdout 1 | |
procd_set_param stderr 1 | |
procd_close_instance | |
} | |
start_service() { | |
config_load "${CONFIGURATION}" | |
config_foreach handle_instance tunnel | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/etc/config/socks_tunnel | |
config tunnel home_server | |
option server 'home_server' | |
option proxy_port '9997' | |
config tunnel remote_server | |
option server 'remote_server' | |
option proxy_port '9998' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/root/.ssh/config | |
Host home_server | |
HostName nqxcode.redirectme.net | |
Port 222 | |
User root | |
IdentityFile /root/.ssh/id_rsa | |
Host remote_server | |
HostName 37.143.10.113 | |
User root | |
IdentityFile /root/.ssh/id_rsa |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment