apt update && apt upgrade -y apt install -y curl wget gnupg2 ca-certificates lsb-release software-properties-common apt-transport-https adb modprobe binder_linux devices="binder,hwbinder,vndbinder" modprobe ashmem_linux modprobe xt_owner modprobe xt_REDIRECT modprobe nf_nat modprobe iptable_nat modprobe xt_addrtype lsmod | grep -E "binder|ashmem|owner|REDIRECT|nf_nat|iptable_nat" cat < /etc/modules-load.d/redroid.conf binder_linux ashmem_linux xt_owner xt_REDIRECT nf_nat iptable_nat xt_addrtype EOF install -m 0755 -d /etc/apt/keyrings curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc chmod a+r /etc/apt/keyrings/docker.asc echo \ "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null apt update apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin systemctl enable --now docker docker compose version mkdir -p ~/redroid-proxy/redsocks cd ~/redroid-proxy cat <<'EOF' > ~/redroid-proxy/redsocks/Dockerfile FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ redsocks iptables dnsutils curl \ && rm -rf /var/lib/apt/lists/* COPY redsocks.conf /etc/redsocks.conf COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] EOF cat <<'EOF' > ~/redroid-proxy/redsocks/redsocks.conf base { log_debug = off; log_info = on; log = "syslog:daemon"; daemon = off; redirector = iptables; } redsocks { local_ip = 127.0.0.1; local_port = 12345; ip = АЙПИ ПРОКСИ; port = ПОРТ ПРОКСИ; type = http-connect; login = "ЛОГИН ПРОКСИ"; password = "ПАРОЛЬ ПРОКСИ"; } EOF cat <<'EOF' > ~/redroid-proxy/redsocks/entrypoint.sh #!/bin/bash set -e PROXY_HOST="АЙПИ ПРОКСИ" PROXY_PORT="ПОРТ ПРОКСИ" PROXY_IP=$(getent ahostsv4 "$PROXY_HOST" | head -n1 | awk '{print $1}') if [ -z "$PROXY_IP" ]; then echo "Не удалось зарезолвить $PROXY_HOST, выход" exit 1 fi echo "Proxy IP: $PROXY_IP" redsocks -c /etc/redsocks.conf -p /var/run/redsocks.pid & sleep 2 iptables -t nat -N REDSOCKS 2>/dev/null || iptables -t nat -F REDSOCKS iptables -t nat -A REDSOCKS -d "$PROXY_IP" -p tcp --dport "$PROXY_PORT" -j RETURN iptables -t nat -A REDSOCKS -d 0.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS -d 10.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS -d 127.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS -d 169.254.0.0/16 -j RETURN iptables -t nat -A REDSOCKS -d 172.16.0.0/12 -j RETURN iptables -t nat -A REDSOCKS -d 192.168.0.0/16 -j RETURN iptables -t nat -A REDSOCKS -d 224.0.0.0/4 -j RETURN iptables -t nat -A REDSOCKS -d 240.0.0.0/4 -j RETURN iptables -t nat -A REDSOCKS -p tcp -j REDIRECT --to-ports 12345 iptables -t nat -A OUTPUT -p tcp -j REDSOCKS echo "redsocks + iptables запущены — TCP-трафик namespace идёт через прокси" wait EOF chmod +x ~/redroid-proxy/redsocks/entrypoint.sh cat <<'EOF' > ~/redroid-proxy/docker-compose.yml services: redroid: image: kylindemons/redroid:15.0.0_amd64-GApps-latest container_name: redroid privileged: true ports: - "1967:1967" volumes: - redroid_data:/data command: - androidboot.redroid_gpu_mode=guest - androidboot.redroid_width=1080 - androidboot.redroid_height=2400 - androidboot.redroid_dpi=420 # Название/модель устройства - ro.product.manufacturer=Xiaomi - ro.product.brand=Xiaomi - ro.product.model=Xiaomi 14 - ro.product.name=houji - ro.product.device=houji restart: unless-stopped networks: - redroid_net redsocks-proxy: build: context: ./redsocks container_name: redsocks-proxy network_mode: "service:redroid" cap_add: - NET_ADMIN depends_on: redroid: condition: service_started restart: unless-stopped volumes: redroid_data: name: redroid_data networks: redroid_net: driver: bridge EOF docker compose up -d --build sleep 6 docker exec redroid setprop service.adb.tcp.port ПОРТДЕВАЙСА docker exec redroid setprop ctl.restart adbd sleep 3 docker exec redroid getprop service.adb.tcp.port docker exec redroid getprop init.svc.adbd -------НА ОСНОВНОМ СЕРВЕРЕ-------- adb connect айпидевайса:порт adb push путь/macros.mdr /storage/emulated/0/Download/ adb install путь/com.arlosoft.macrodroid-896500008.apk adb install путь/RuStore-mobile-1.106.0.3.apk adb shell cmd appops set --user 0 com.arlosoft.macrodroid RECEIVE_SENSITIVE_NOTIFICATIONS allow adb shell am force-stop com.arlosoft.macrodroid adb shell device_config put systemui android.service.notification.redact_sensitive_notifications_from_untrusted_listeners false adb shell am force-stop com.arlosoft.macrodroid ------------СОЗДАНИЕ ВТОРОГО ДЕВАЙСА НА ЭТОМ ЖЕ СЕРВЕРЕ-------------- mkdir -p ~/redroid-2/redsocks cd ~/redroid-2 cat <<'EOF' > ~/redroid-2/redsocks/Dockerfile FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ redsocks iptables dnsutils curl \ && rm -rf /var/lib/apt/lists/* COPY redsocks.conf /etc/redsocks.conf COPY entrypoint.sh /entrypoint.sh RUN chmod +x /entrypoint.sh ENTRYPOINT ["/entrypoint.sh"] EOF cat <<'EOF' > ~/redroid-2/redsocks/redsocks.conf base { log_debug = off; log_info = on; log = "syslog:daemon"; daemon = off; redirector = iptables; } redsocks { local_ip = 127.0.0.1; local_port = 12345; ip = АЙПИ ПРОКСИ; port = ПОРТ ПРОКСИ; type = http-connect; login = "ЛОГИН ПРОКСИ"; password = "ПАРОЛЬ ПРОКСИ"; } EOF cat <<'EOF' > ~/redroid-2/redsocks/entrypoint.sh #!/bin/bash set -e PROXY_HOST="АЙПИ ПРОКСИ" PROXY_PORT="ПОРТ ПРОКСИ" PROXY_IP=$(getent ahostsv4 "$PROXY_HOST" | head -n1 | awk '{print $1}') if [ -z "$PROXY_IP" ]; then echo "Не удалось зарезолвить $PROXY_HOST" exit 1 fi echo "Proxy IP: $PROXY_IP" redsocks -c /etc/redsocks.conf -p /var/run/redsocks.pid & sleep 2 iptables -t nat -N REDSOCKS2 2>/dev/null || iptables -t nat -F REDSOCKS2 iptables -t nat -A REDSOCKS2 -d "$PROXY_IP" -p tcp --dport "$PROXY_PORT" -j RETURN iptables -t nat -A REDSOCKS2 -d 0.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS2 -d 10.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS2 -d 127.0.0.0/8 -j RETURN iptables -t nat -A REDSOCKS2 -d 169.254.0.0/16 -j RETURN iptables -t nat -A REDSOCKS2 -d 172.16.0.0/12 -j RETURN iptables -t nat -A REDSOCKS2 -d 192.168.0.0/16 -j RETURN iptables -t nat -A REDSOCKS2 -d 224.0.0.0/4 -j RETURN iptables -t nat -A REDSOCKS2 -d 240.0.0.0/4 -j RETURN iptables -t nat -A REDSOCKS2 -p tcp -j REDIRECT --to-ports 12345 iptables -t nat -A OUTPUT -p tcp -j REDSOCKS2 echo "Второй Redroid: redsocks + iptables запущены" wait EOF chmod +x ~/redroid-2/redsocks/entrypoint.sh cat <<'EOF' > ~/redroid-2/docker-compose.yml services: redroid2: image: kylindemons/redroid:15.0.0_amd64-GApps-latest container_name: redroid2 privileged: true ports: - "2667:2667" volumes: - redroid_data_2:/data command: - androidboot.redroid_gpu_mode=guest - androidboot.redroid_width=1080 - androidboot.redroid_height=2400 - androidboot.redroid_dpi=420 - ro.product.manufacturer=Xiaomi - ro.product.brand=Xiaomi - ro.product.model=Xiaomi 14 - ro.product.name=houji - ro.product.device=houji restart: unless-stopped networks: - redroid_net_2 redsocks-proxy-2: build: context: ./redsocks container_name: redsocks-proxy-2 network_mode: "service:redroid2" cap_add: - NET_ADMIN depends_on: redroid2: condition: service_started restart: unless-stopped volumes: redroid_data_2: name: redroid_data_2 networks: redroid_net_2: driver: bridge EOF cd ~/redroid-2 docker compose up -d --build sleep 8 docker ps #ПРОВЕРКА ЗАПУСТИЛОСЬ ЛИ(выведи это в админ панели и выдели в логах) docker exec redroid2 setprop service.adb.tcp.port 2667 docker exec redroid2 setprop ctl.restart adbd sleep 3 echo "ADB PORT:" docker exec redroid2 getprop service.adb.tcp.port echo "ADB STATUS:" docker exec redroid2 getprop init.svc.adbd -------НА ОСНОВНОМ СЕРВЕРЕ-------- adb connect айпидевайса:порт adb push путь/macros.mdr /storage/emulated/0/Download/ adb install путь/com.arlosoft.macrodroid-896500008.apk adb install путь/RuStore-mobile-1.106.0.3.apk adb shell cmd appops set --user 0 com.arlosoft.macrodroid RECEIVE_SENSITIVE_NOTIFICATIONS allow adb shell am force-stop com.arlosoft.macrodroid adb shell device_config put systemui android.service.notification.redact_sensitive_notifications_from_untrusted_listeners false adb shell am force-stop com.arlosoft.macrodroid