惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

M
MIT News - Artificial intelligence
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
阮一峰的网络日志
阮一峰的网络日志
月光博客
月光博客
博客园 - Franky
腾讯CDC
T
Tailwind CSS Blog
Recent Announcements
Recent Announcements
V
V2EX
N
Netflix TechBlog - Medium
量子位
Jina AI
Jina AI
Y
Y Combinator Blog
The GitHub Blog
The GitHub Blog
G
Google Developers Blog
爱范儿
爱范儿
博客园 - 叶小钗
D
Docker
MongoDB | Blog
MongoDB | Blog
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания
Домашний мобильный прокси
Mi113r · 2026-05-15 · via Все публикации подряд на Хабре

Когда очень хочется экспериментов и не хочется вкладываться финансово.
Исходные данные:
- мобильный телефон с сим-картой;
- домашний сервер;
- интернет с выделенным IP.

Цель: сделать мобильный прокси.

Замысел применения в некоторых случаях преодолеть ограничения статического IP в домашнем интернете, который мне нужен для работы.

1. Подготовка сервера.

Этот раздел не представляет особенных сложностей, поэтому просто привету конфиг для compose.yml для запуска FRP.

1.1. Настройка FRPS

Скрытый текст
[common]
bind_port = 7000

dashboard_port = 7500
dashboard_user = admin
dashboard_pwd = strongpassword

# чтобы сервер мог принимать reverse-proxy от телефона
token = mysecret

1.2. Docker-compose.yml (для Swarm)

Скрытый текст
services:
  frps:
    image: ghcr.io/fatedier/frps:v0.68.1
    command: ["-c", "/etc/frp/frps.ini"]

    restart: always
    ports:
      - "7000:7000"      # основной порт FRP
      - "7500:7500"      # dashboard
      - "2001:2001"      # socks5-выход через phone-1
      - "2002:2002"      # socks5-выход через phone-2

    configs:
      - source: frps-conf
        target: /etc/frp/frps.ini

configs:
  frps-conf:
    name: frps-conf-${TIMESTAMP}
    file: ./prod.ini

1.3. Скрипт для запуска

Скрытый текст
#!/bin/bash
set -e

TIMESTAMP=$(date +%s)
export TIMESTAMP

cd frps

docker context use swarm
docker stack deploy --with-registry-auth --compose-file docker-compose.yml frps

docker context create - технология, которую предлагается освоить самостоятельно.

2. Подготовка телефона

Здесь сложнее: нам нужно собрать FRPC (Client) для валяющегося дома телефона на Android. Готовых сборок не нашёл.

2.1. Установка Termius.

С любого маркета - сложностей не возникает.

2.2. Сборка FRPC

Проблема: FRP актуальных версий несовместим с Android. Причина: современные версии FRP используют библиотеку anet, которая обращается к внутреннему полю net.zoneCache. В Android‑сборках Go это поле отсутствует, поэтому сборка падает.

Решение: использовать FRP 0.51.3 — последнюю совместимую версию.

pkg update
pkg install golang git
git clone --branch v0.51.3 https://github.com/fatedier/frp ~/frp
cd ~/frp

Создаём фиктивный dist для embed.go (FRP использует go:embed, который не допускает пустых директорий.)

mkdir -p web/frpc/dist 
echo “dummy” > web/frpc/dist/index.html

Собираем frpc под Android ARM64

GOOS=android GOARCH=arm64 CGO_ENABLED=0 go build -tags no_ui -o frpc-android ./cmd/frpc

Проверяем результат

./frpc-android -v

Если всё прошло успешно, вы увидите:

frpc version 0.51.3

2.3. Запуск FRPC

Готовим конфиг:

nano phone1.ini

содержимое файла:

[common]
server_addr = yourdomain
server_port = 7000
token       = super_secret

# SOCKS5 наружу
[socks]
type = tcp
remote_port = 2001
plugin = socks5
plugin_user = login
plugin_passwd = password

для ручного запуска:

./frpc-android -c phone1.ini

но нам это не нужно - гораздо интересней автозапуск.

2.4. Автозапуск и работа в фоне.

Прежде всего работа Termux при выключенном экране

termux-wake-lock

Автоматическое переподключение при обрыве

nano ~/frp/run_frpc.sh

Содержимое файла:

#!/data/data/com.termux/files/usr/bin/sh
cd $HOME/frp

while true
do
    echo "Starting FRPC..."
    ./frpc-android -c phone1.ini

    echo "FRPC stopped. Restarting in 1 second..."
    sleep 1
done

и конечно, не забываем поменять права:

chmod +x ~/frp/run_frpc.sh

Автозапуск FRPC при старте телефона (Termux:Boot)

mkdir -p ~/.termux/boot
nano ~/.termux/boot/frpc.sh

Вставить текст:

#!/data/data/com.termux/files/usr/bin/sh
termux-wake-lock
cd $HOME/frp
nohup ./run_frpc.sh >/dev/null 2>&1 &

и снова не забываем про права:

chmod +x ~/.termux/boot/frpc.sh

Перезапускаем телефон - все стартует автоматически.

3. Пользуемся

curl --socks5-user user:password --socks5 yourdomain:2001 https://ifconfig.me

Остается только следить за тем, чтобы телефон к wi-fi не подключился, а то смысл потеряется ...