Initial commit: local_machine docs and scripts

This commit is contained in:
ahauimix
2026-03-14 20:03:57 +03:00
commit a39ef89125
85 changed files with 14500 additions and 0 deletions

View File

@@ -0,0 +1,274 @@
# Cock.li + Thunderbird: гайд при проблемном коннекте
Проверено: с прокси (149.154.64.19) и с DO (hunab-prod) до mail.cock.li открыт только **IMAP 993**. SMTP 465/587 — таймаут. Ниже — как выстроить сетап, чтобы легко отправлять и получать письма из Thunderbird.
---
## Оглавление
1. [Проверенные настройки cock.li](#проверенные-настройки-cockli)
2. [Проверка доступа с серверов](#проверка-доступа-с-серверов)
3. [Приём писем (IMAP) через туннель](#приём-писем-imap-через-туннель)
4. [Отправка (SMTP) — варианты](#отправка-smtp--варианты)
5. [Настройки в Thunderbird](#настройки-в-thunderbird)
6. [Команды для копирования](#команды-для-копирования)
---
## Проверенные настройки cock.li
**Сервер:** `mail.cock.li` (для прокси без DNS использовать IP: `37.120.193.124`).
### SMTP (отправка)
| Параметр | Значение |
|-----------------|----------|
| Сервер | `mail.cock.li` |
| Порт SSL | **465** (SSL/TLS) |
| Порт STARTTLS | **587** (STARTTLS) |
| Шифрование | Обязательно SSL/TLS или STARTTLS |
| Логин | Полный адрес `user@domain.cock.li` |
### IMAP (приём)
| Параметр | Значение |
|-----------------|----------|
| Сервер | `mail.cock.li` (или `37.120.193.124` с прокси) |
| Порт SSL | **993** (SSL/TLS) ✅ доступен с прокси и DO |
| Порт STARTTLS | **143** (STARTTLS) |
| Шифрование | Обязательно |
| Логин | Полный адрес `user@domain.cock.li` |
---
## Проверка доступа с серверов
### Валидация одной командой (с DO)
Скрипт проверяет IMAP 993 и SMTP 465/587. Запуск **с твоей машины** (скрипт выполнится на DO):
```bash
ssh hunab-prod 'bash -s' < docs/firemail/validate_mail_from_do.sh
```
**Ожидаемый результат с DO (2026-03-07):**
| Сервис | Результат | Комментарий |
|---------------|-----------|-------------|
| IMAP 993 | OK | Приём почты через туннель возможен |
| SMTP 587 | FAIL | Таймаут с хостинга; не мешает туннелю IMAP |
| SMTP 465 | FAIL | Таймаут с хостинга |
Итог: **почта по IMAP с DO работает.** SMTP с DO до cock.li недоступен — отправка только с машины (если 587 открыт) или через webmail.
### С прокси (149.154.64.19)
```bash
# IMAP 993 — OK
ssh -o StrictHostKeyChecking=accept-new -i "$HOME/.ssh/id_ed25519" ahau@149.154.64.19 \
"echo 'Q' | timeout 12 openssl s_client -connect 37.120.193.124:993 -servername mail.cock.li -brief 2>&1"
# SMTP 465 / 587 — таймаут с прокси
```
На прокси нет DNS для `mail.cock.li` (NXDOMAIN), поэтому подключаться по IP: `37.120.193.124`, с `-servername mail.cock.li` для SNI.
### С Digital Ocean (hunab-prod)
```bash
# IMAP 993 — OK
ssh hunab-prod "timeout 12 openssl s_client -connect 37.120.193.124:993 -servername mail.cock.li -brief </dev/null 2>&1"
# SMTP 465 / 587 — таймаут с DO
```
### Локальная проверка SMTP (если у тебя открыт cock.li)
```bash
openssl s_client -connect mail.cock.li:587 -starttls smtp -servername mail.cock.li -brief </dev/null
```
Если видишь `CONNECTION ESTABLISHED` — в Thunderbird можно использовать прямой SMTP `mail.cock.li:587`.
---
## Приём писем (IMAP) через туннель
Туннель поднимаешь в терминале (сессия должна быть открыта или в фоне).
### Через прокси (из РФ быстрее)
```bash
ssh -o StrictHostKeyChecking=accept-new -i ~/.ssh/id_ed25519 \
-L 9143:37.120.193.124:993 \
ahau@149.154.64.19 -N
```
Или с алиасом из `~/.ssh/config`:
```bash
ssh -L 9143:37.120.193.124:993 hsites-ahau -N
```
### Через DO (если прокси недоступен)
```bash
ssh -L 9143:37.120.193.124:993 hunab-prod -N
```
### В фоне (опционально)
```bash
ssh -f -L 9143:37.120.193.124:993 hsites-ahau -N
# или
ssh -f -L 9143:37.120.193.124:993 hunab-prod -N
```
В Thunderbird: входящий сервер **127.0.0.1**, порт **9143**, без SSL, логин — полный email @cock.li.
---
## Отправка (SMTP) — варианты
- **Вариант A:** С твоей сети до mail.cock.li:587 достучаться можно → в Thunderbird SMTP: `mail.cock.li`, порт **587**, STARTTLS, логин — полный адрес.
- **Вариант B:** С твоей сети 587 не открыт → поднять SMTP-релей на машине, откуда cock.li отвечает (домашний ПК, другой VPS), и в Thunderbird слать через туннель на этот релей.
- **Вариант C:** Отправка только через webmail cock.li, приём — в Thunderbird по туннелю.
---
## Настройки в Thunderbird
Перед настройкой: поднять туннель IMAP (см. [Команды](#команды-для-копирования)), затем в Thunderbird добавить учётную запись или изменить существующую.
### Шаг 1: Туннель IMAP
В терминале запусти один из туннелей (сессия должна оставаться открытой или использовать `-f` для фона):
```bash
ssh -L 9143:37.120.193.124:993 hunab-prod -N
```
Или через прокси: `ssh -L 9143:37.120.193.124:993 hsites-ahau -N`
### Шаг 2: Учётная запись в Thunderbird
**Параметры входящей почты (IMAP через туннель):**
| Поле | Значение |
|----------------|---------------|
| Тип сервера | IMAP |
| Сервер | `127.0.0.1` |
| Порт | `9143` |
| SSL/TLS | **Нет** (трафик уже в SSH) |
| Обычная аутентификация | Вкл |
| Логин | полный email (например `user@cock.li`) |
| Пароль | пароль от почты cock.li |
**Параметры исходящей почты (SMTP):**
**Вариант 1 — прямой доступ к cock.li с твоей сети:**
| Поле | Значение |
|----------------|------------------|
| Сервер | `mail.cock.li` |
| Порт | `587` |
| Безопасность | STARTTLS |
| Аутентификация| Обычный пароль |
| Логин | полный email |
**Вариант 2 — SMTP через свой релей по туннелю:** сервер `127.0.0.1`, порт локального туннеля (например `1587`).
**Вариант 3 — отправка только через webmail:** в Thunderbird исходящий не настраивать; приём — по туннелю.
### Шаг 3: Проверка
- Получение: Thunderbird должен показать папки и письма (если туннель поднят и порт 9143 свободен).
- Отправка: отправить тестовое письмо себе; при варианте 1 проверь, что с твоей сети открыт порт 587 до `mail.cock.li` (см. [локальная проверка SMTP](#локальная-проверка-smtp-если-у-тебя-открыт-cockli)).
### Краткая сводка полей
| Направление | Сервер | Порт | SSL | Логин |
|-------------|------------|-------|-------|-------------|
| Входящий | `127.0.0.1`| `9143`| Нет | user@cock.li |
| Исходящий (прямой) | `mail.cock.li` | `587` | STARTTLS | user@cock.li |
---
## Команды для копирования
### 0. Валидация IMAP/SMTP с DO (проверить, что всё работает)
```bash
ssh hunab-prod 'bash -s' < docs/firemail/validate_mail_from_do.sh
```
Ожидается: `OK IMAP 993`, `FAIL` для SMTP 587/465 — этого достаточно для приёма по туннелю.
### 1. Туннель IMAP через прокси (основной)
```bash
ssh -o StrictHostKeyChecking=accept-new -i ~/.ssh/id_ed25519 -L 9143:37.120.193.124:993 ahau@149.154.64.19 -N
```
### 2. Туннель IMAP через прокси (алиас hsites-ahau)
```bash
ssh -L 9143:37.120.193.124:993 hsites-ahau -N
```
### 3. Туннель IMAP через DO
```bash
ssh -L 9143:37.120.193.124:993 hunab-prod -N
```
### 4. Туннель IMAP в фоне (прокси)
```bash
ssh -f -o StrictHostKeyChecking=accept-new -i ~/.ssh/id_ed25519 -L 9143:37.120.193.124:993 ahau@149.154.64.19 -N
```
### 5. Туннель IMAP в фоне (DO)
```bash
ssh -f -L 9143:37.120.193.124:993 hunab-prod -N
```
### 6. Проверка IMAP 993 с прокси
```bash
ssh -o StrictHostKeyChecking=accept-new -i "$HOME/.ssh/id_ed25519" ahau@149.154.64.19 "echo 'Q' | timeout 12 openssl s_client -connect 37.120.193.124:993 -servername mail.cock.li -brief 2>&1"
```
### 7. Проверка IMAP 993 с DO
```bash
ssh hunab-prod "timeout 12 openssl s_client -connect 37.120.193.124:993 -servername mail.cock.li -brief </dev/null 2>&1"
```
### 8. Проверка SMTP 587 локально
```bash
openssl s_client -connect mail.cock.li:587 -starttls smtp -servername mail.cock.li -brief </dev/null
```
### 9. Убить фоновый туннель на порту 9143
```bash
# Найти процесс
lsof -i :9143
# Завершить (подставить PID из вывода)
kill <PID>
```
---
## Итог
| Направление | Как сделать |
|-------------|-------------|
| **Приём (IMAP)** | Туннель `-L 9143:37.120.193.124:993` на прокси или DO; в Thunderbird — 127.0.0.1:9143, без SSL. |
| **Отправка (SMTP)** | Либо прямой mail.cock.li:587 (если доступен), либо свой SMTP-релей + туннель, либо только webmail. |
Дата гайда: 2026-03-07. Валидация с DO: `validate_mail_from_do.sh` — IMAP 993 OK, SMTP 465/587 недоступны с хостинга.