Initial commit
This commit is contained in:
11
outbound-proxy/Dockerfile
Normal file
11
outbound-proxy/Dockerfile
Normal file
@@ -0,0 +1,11 @@
|
||||
FROM tailscale/tailscale:latest
|
||||
|
||||
RUN apk add --no-cache \
|
||||
openssh-client \
|
||||
bash \
|
||||
fish \
|
||||
shadow
|
||||
|
||||
RUN echo "/usr/bin/fish" >> /etc/shells && sed -i 's|/root:/bin/ash|/root:/usr/bin/fish|' /etc/passwd
|
||||
COPY ./ssh-config.sh /ssh-config.sh
|
||||
RUN chmod +x /ssh-config.sh
|
||||
31
outbound-proxy/docker-compose.yml
Normal file
31
outbound-proxy/docker-compose.yml
Normal file
@@ -0,0 +1,31 @@
|
||||
services:
|
||||
tailscale-outbound:
|
||||
build: .
|
||||
hostname: tailscale-outbound
|
||||
env_file:
|
||||
- .env # TS_AUTHKEY
|
||||
environment:
|
||||
# - TS_EXTRA_ARGS=--advertise-tags=tag:container
|
||||
- TS_STATE_DIR=/var/lib/tailscale
|
||||
- TS_USERSPACE=false
|
||||
- TS_OUTBOUND_HTTP_PROXY_LISTEN=:1055
|
||||
- TS_SOCKS5_SERVER=:1055
|
||||
volumes:
|
||||
- tailscale-data:/var/lib/tailscale
|
||||
# - ./ts-serve-config.json:/config/config.json
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
# - $HOME/.ssh:/root/.ssh:ro
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- 1055:1055
|
||||
privileged: true
|
||||
# cap_add:
|
||||
# - NET_ADMIN
|
||||
# - sys_module
|
||||
# nginx:
|
||||
# image: nginx
|
||||
# depends_on:
|
||||
# - tailscale-outbound
|
||||
# network_mode: service:tailscale-outbound
|
||||
volumes:
|
||||
tailscale-data:
|
||||
22
outbound-proxy/ssh-config.sh
Executable file
22
outbound-proxy/ssh-config.sh
Executable file
@@ -0,0 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
tailscale_status=$(tailscale status)
|
||||
|
||||
# Extract the lines containing IP addresses and hostnames
|
||||
# Example lines we are interested in:
|
||||
# 100.101.102.103 server1 linux active; direct 192.168.1.101:41641, tx 3867808 rx 7391200
|
||||
# 100.101.102.104 server2 windows active; direct 192.168.1.102:41641, tx 3867808 rx 7391200
|
||||
|
||||
ssh_entries=$(echo "$tailscale_status" | awk '/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+/ {print "Host " $2 "\n HostName " $1 "\n User alex\n"}')
|
||||
|
||||
ssh_config_content="# SSH config - generated by tailscale script\n\n"
|
||||
ssh_config_content+="$ssh_entries"
|
||||
|
||||
output_file="$HOME/.ssh/config"
|
||||
|
||||
mkdir -p /root/.ssh
|
||||
echo -e "$ssh_config_content" > "$output_file"
|
||||
|
||||
chmod 600 "$output_file"
|
||||
|
||||
echo "SSH config file has been updated with Tailscale hosts at $output_file."
|
||||
Reference in New Issue
Block a user