60 lines
2.6 KiB
Markdown
60 lines
2.6 KiB
Markdown
# timeweb-loodka
|
||
|
||
Скрипт для получения «floating IP» в облаке Timeweb из нужных подсетей.
|
||
Для каждого аккаунта по кругу создаёт floating IP, проверяет попадание в заданный
|
||
диапазон подсетей и удаляет неподходящие. О результатах уведомляет в Telegram.
|
||
|
||
## Установка
|
||
|
||
```bash
|
||
python3 -m venv venv
|
||
source venv/bin/activate
|
||
pip install -r requirements.txt
|
||
```
|
||
|
||
## Настройка
|
||
|
||
1. Скопируйте пример конфигурации и заполните значения:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
```
|
||
|
||
| Переменная | Описание |
|
||
| ------------------- | ----------------------------------------------------- |
|
||
| `AVAILABILITY_ZONE` | Зона доступности (например `spb-3`) |
|
||
| `IS_DDOS_GUARD` | Включить DDoS-Guard (`true`/`false`) |
|
||
| `MAX_ATTEMPTS` | Сколько раз пытаться получить подходящий IP |
|
||
| `ACCOUNTS_FILE` | Файл с API-ключами аккаунтов (по одному на строку) |
|
||
| `PROXIES_FILE` | Файл с прокси (по одному на строку, опционально) |
|
||
| `TG_BOT_TOKEN` | Токен Telegram-бота (у `@BotFather`) |
|
||
| `TG_CHAT_ID` | Chat ID для уведомлений (у `@userinfobot`) |
|
||
|
||
2. Создайте `accounts.txt` — по одному API-ключу Timeweb на строку.
|
||
|
||
3. (Опционально) создайте `proxies.txt` — по одному прокси на строку, например:
|
||
|
||
```
|
||
socks5://user:pass@host:port
|
||
```
|
||
|
||
Прокси назначаются аккаунтам по кругу. Если файл отсутствует — запросы идут напрямую.
|
||
|
||
> Файлы `.env`, `accounts.txt` и `proxies.txt` содержат секреты и игнорируются git.
|
||
|
||
## Запуск
|
||
|
||
```bash
|
||
python tw.py
|
||
```
|
||
|
||
## Запуск по расписанию (systemd)
|
||
|
||
В комплекте есть `tw.service` и `tw.timer` (ежедневный запуск в 08:00).
|
||
Отредактируйте пути/пользователя под своё окружение, затем:
|
||
|
||
```bash
|
||
sudo cp tw.service tw.timer /etc/systemd/system/
|
||
sudo systemctl daemon-reload
|
||
sudo systemctl enable --now tw.timer
|
||
```
|