linux_privacy
· 1w
Tails на телефоне. Создаем зашифрованную мобильную ОС, которая будет терять все данные после перезагрузки.
Сна...
После запуска системы запускаем обновления. Затем отправляем весь трафик через Tor, запустив этот скрипт (оставляем только дырку для Waydroid, в который для торификации установите Invizible Pro и в настройках VPN включите блокировку трафика при отключении приложения):
#!/bin/bash
set -e
TOR_UID=108
# Step 1: Install Tor
echo "[*] Installing Tor..."
sudo apt update
sudo apt install -y tor
# Step 2: Configure Tor
echo "[*] Configuring Tor..."
sudo tee /etc/tor/torrc >/dev/null <<'EOF'
TransPort 127.0.0.1:9040
DNSPort 127.0.0.1:9053
AutomapHostsOnResolve 1
VirtualAddrNetworkIPv4 10.192.0.0/10
EOF
# Step 3: Restart and enable Tor
echo "[*] Restarting and enabling Tor service..."
sudo systemctl restart tor
sudo systemctl enable tor
# Step 4: Verify Tor is listening
echo "[*] Checking Tor listening ports..."
sudo ss -tulpn | grep tor
# Step 5: Configure nftables
echo "[*] Writing nftables configuration..."
sudo tee /etc/nftables.conf >/dev/null <<EOF
#!/usr/sbin/nft -f
flush ruleset
define uid = ${TOR_UID}
define waydroid_net = 192.168.240.0/24
define unrouteables = {
127.0.0.0/8,
10.0.0.0/8,
172.16.0.0/12,
192.168.0.0/16,
0.0.0.0/8,
100.64.0.0/10,
169.254.0.0/16,
192.0.0.0/24,
192.0.2.0/24,
192.88.99.0/24,
198.18.0.0/15,
198.51.100.0/24,
203.0.113.0/24,
224.0.0.0/4,
240.0.0.0/4
}
table ip nat {
set unrouteables {
type ipv4_addr
flags interval
elements = \$unrouteables
}
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
oifname != "waydroid0" ip saddr \$waydroid_net counter masquerade
}
chain output {
type nat hook output priority dstnat; policy accept;
ct state established,related accept
ip daddr \$waydroid_net return
ip saddr \$waydroid_net return
meta l4proto tcp ip daddr 10.192.0.0/10 redirect to :9040
ip daddr 127.0.0.1 udp dport 53 redirect to :9053
meta skuid \$uid return
oifname "lo" return
ip daddr @unrouteables return
meta l4proto tcp redirect to :9040
}
}
table ip filter {
set unrouteables {
type ipv4_addr
flags interval
elements = \$unrouteables
}
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
iifname "lo" accept
iifname "waydroid0" udp dport { 53, 67 } accept
iifname "waydroid0" tcp dport { 53, 67 } accept
counter log prefix "TOR-INPUT-DROP: " drop
}
chain forward {
type filter hook forward priority filter; policy drop;
ct state established,related accept
iifname "waydroid0" oifname != "waydroid0" accept
iifname != "waydroid0" oifname "waydroid0" ct state established,related accept
}
chain output {
type filter hook output priority filter; policy drop;
ct state established,related accept
oifname "lo" accept
ip daddr \$waydroid_net accept
oifname "waydroid0" accept
meta skuid \$uid accept
ip daddr @unrouteables accept
meta l4proto tcp accept
udp dport 53 accept
counter log prefix "TOR-KILLSWITCH: " drop
}
}
EOF
# Step 6: Validate and apply nftables
echo "[*] Validating nftables configuration..."
sudo nft -c -f /etc/nftables.conf
echo "[*] Applying nftables rules..."
sudo nft -f /etc/nftables.conf
# Step 7: Enable and start nftables
echo "[*] Enabling nftables service..."
sudo systemctl enable nftables
sudo systemctl start nftables
# Step 8: Show active ruleset
echo "[*] Current nftables ruleset:"
sudo nft list ruleset
# Step 9: Verify Tor connectivity
echo "[*] Checking Tor connectivity..."
curl -s https://check.torproject.org | grep -i "congratulations\|sorry"
#!/bin/bash
set -e
TOR_UID=108
# Step 1: Install Tor
echo "[*] Installing Tor..."
sudo apt update
sudo apt install -y tor
# Step 2: Configure Tor
echo "[*] Configuring Tor..."
sudo tee /etc/tor/torrc >/dev/null <<'EOF'
TransPort 127.0.0.1:9040
DNSPort 127.0.0.1:9053
AutomapHostsOnResolve 1
VirtualAddrNetworkIPv4 10.192.0.0/10
EOF
# Step 3: Restart and enable Tor
echo "[*] Restarting and enabling Tor service..."
sudo systemctl restart tor
sudo systemctl enable tor
# Step 4: Verify Tor is listening
echo "[*] Checking Tor listening ports..."
sudo ss -tulpn | grep tor
# Step 5: Configure nftables
echo "[*] Writing nftables configuration..."
sudo tee /etc/nftables.conf >/dev/null <<EOF
#!/usr/sbin/nft -f
flush ruleset
define uid = ${TOR_UID}
define waydroid_net = 192.168.240.0/24
define unrouteables = {
127.0.0.0/8,
10.0.0.0/8,
172.16.0.0/12,
192.168.0.0/16,
0.0.0.0/8,
100.64.0.0/10,
169.254.0.0/16,
192.0.0.0/24,
192.0.2.0/24,
192.88.99.0/24,
198.18.0.0/15,
198.51.100.0/24,
203.0.113.0/24,
224.0.0.0/4,
240.0.0.0/4
}
table ip nat {
set unrouteables {
type ipv4_addr
flags interval
elements = \$unrouteables
}
chain prerouting {
type nat hook prerouting priority dstnat; policy accept;
}
chain postrouting {
type nat hook postrouting priority srcnat; policy accept;
oifname != "waydroid0" ip saddr \$waydroid_net counter masquerade
}
chain output {
type nat hook output priority dstnat; policy accept;
ct state established,related accept
ip daddr \$waydroid_net return
ip saddr \$waydroid_net return
meta l4proto tcp ip daddr 10.192.0.0/10 redirect to :9040
ip daddr 127.0.0.1 udp dport 53 redirect to :9053
meta skuid \$uid return
oifname "lo" return
ip daddr @unrouteables return
meta l4proto tcp redirect to :9040
}
}
table ip filter {
set unrouteables {
type ipv4_addr
flags interval
elements = \$unrouteables
}
chain input {
type filter hook input priority filter; policy drop;
ct state established,related accept
iifname "lo" accept
iifname "waydroid0" udp dport { 53, 67 } accept
iifname "waydroid0" tcp dport { 53, 67 } accept
counter log prefix "TOR-INPUT-DROP: " drop
}
chain forward {
type filter hook forward priority filter; policy drop;
ct state established,related accept
iifname "waydroid0" oifname != "waydroid0" accept
iifname != "waydroid0" oifname "waydroid0" ct state established,related accept
}
chain output {
type filter hook output priority filter; policy drop;
ct state established,related accept
oifname "lo" accept
ip daddr \$waydroid_net accept
oifname "waydroid0" accept
meta skuid \$uid accept
ip daddr @unrouteables accept
meta l4proto tcp accept
udp dport 53 accept
counter log prefix "TOR-KILLSWITCH: " drop
}
}
EOF
# Step 6: Validate and apply nftables
echo "[*] Validating nftables configuration..."
sudo nft -c -f /etc/nftables.conf
echo "[*] Applying nftables rules..."
sudo nft -f /etc/nftables.conf
# Step 7: Enable and start nftables
echo "[*] Enabling nftables service..."
sudo systemctl enable nftables
sudo systemctl start nftables
# Step 8: Show active ruleset
echo "[*] Current nftables ruleset:"
sudo nft list ruleset
# Step 9: Verify Tor connectivity
echo "[*] Checking Tor connectivity..."
curl -s https://check.torproject.org | grep -i "congratulations\|sorry"
1