Initial commit

This commit is contained in:
2024-12-30 11:42:12 -07:00
commit 09ba4114c1
86 changed files with 7522 additions and 0 deletions

11
outbound-proxy/Dockerfile Normal file
View 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

View 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
View 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."