Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 29d3e8984b | |||
| b5a066628f |
+4
-1
@@ -72,8 +72,11 @@ SMTP_PASSWORD=
|
||||
# Email отправителя (если не указан, используется SMTP_USER)
|
||||
SMTP_FROM_EMAIL=
|
||||
SMTP_FROM_NAME=VPN Service
|
||||
# Использовать TLS шифрование
|
||||
# Использовать STARTTLS (порт 587 / 25). Не путать с SMTP_USE_SSL.
|
||||
SMTP_USE_TLS=true
|
||||
# Использовать implicit TLS (SMTPS). Автоматически включается при SMTP_PORT=465.
|
||||
# Для портов 25/587 оставить false.
|
||||
SMTP_USE_SSL=false
|
||||
|
||||
# Уведомления администраторов
|
||||
ADMIN_NOTIFICATIONS_ENABLED=true
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
{
|
||||
".": "3.54.1"
|
||||
".": "3.54.0"
|
||||
}
|
||||
|
||||
@@ -1,13 +1,5 @@
|
||||
# Changelog
|
||||
|
||||
## [3.54.1](https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot/compare/v3.54.0...v3.54.1) (2026-05-04)
|
||||
|
||||
|
||||
### Documentation
|
||||
|
||||
* add Antilopay/Etoplatezhi/Jupiter/Donut/Lava + Apple IAP to pro… ([d6442b8](https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot/commit/d6442b87df327f31ecb0ec5bd5c16a5008ef8321))
|
||||
* add Antilopay/Etoplatezhi/Jupiter/Donut/Lava + Apple IAP to provider list ([31e3ccd](https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot/commit/31e3ccd24c5319ed5a4090253ffdced008ba5c20))
|
||||
|
||||
## [3.54.0](https://github.com/BEDOLAGA-DEV/remnawave-bedolaga-telegram-bot/compare/v3.53.0...v3.54.0) (2026-05-04)
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ RUN --mount=type=cache,target=/root/.cache/uv \
|
||||
|
||||
FROM python:3.13-slim
|
||||
|
||||
ARG VERSION="v3.54.1" # x-release-please-version
|
||||
ARG VERSION="v3.54.0" # x-release-please-version
|
||||
ARG BUILD_DATE
|
||||
ARG VCS_REF
|
||||
|
||||
|
||||
@@ -828,6 +828,9 @@ async def get_device_price(
|
||||
response['discount_percent'] = devices_discount_percent
|
||||
response['discount_kopeks'] = discount_value
|
||||
response['base_total_price_kopeks'] = base_total_price
|
||||
response['original_price_per_device_kopeks'] = (
|
||||
base_total_price // devices if devices > 0 else 0
|
||||
)
|
||||
|
||||
return response
|
||||
|
||||
|
||||
@@ -45,18 +45,26 @@ class EmailService:
|
||||
def use_tls(self) -> bool:
|
||||
return settings.SMTP_USE_TLS
|
||||
|
||||
@property
|
||||
def use_ssl(self) -> bool:
|
||||
# Port 465 always implies implicit TLS (SMTPS, RFC 8314).
|
||||
return settings.SMTP_USE_SSL or self.port == 465
|
||||
|
||||
def is_configured(self) -> bool:
|
||||
"""Check if SMTP is properly configured."""
|
||||
return settings.is_smtp_configured()
|
||||
|
||||
def _get_smtp_connection(self) -> smtplib.SMTP:
|
||||
"""Create and return SMTP connection."""
|
||||
smtp = smtplib.SMTP(self.host, self.port, timeout=30)
|
||||
smtp.ehlo()
|
||||
|
||||
if self.use_tls:
|
||||
smtp.starttls()
|
||||
if self.use_ssl:
|
||||
smtp: smtplib.SMTP = smtplib.SMTP_SSL(self.host, self.port, timeout=30)
|
||||
smtp.ehlo()
|
||||
else:
|
||||
smtp = smtplib.SMTP(self.host, self.port, timeout=30)
|
||||
smtp.ehlo()
|
||||
if self.use_tls:
|
||||
smtp.starttls()
|
||||
smtp.ehlo()
|
||||
|
||||
# Only attempt login if credentials are provided AND server supports AUTH
|
||||
if self.user and self.password:
|
||||
|
||||
@@ -1014,6 +1014,8 @@ class Settings(BaseSettings):
|
||||
SMTP_FROM_EMAIL: str | None = None
|
||||
SMTP_FROM_NAME: str = 'VPN Service'
|
||||
SMTP_USE_TLS: bool = True
|
||||
# Implicit TLS (SMTPS) — required for port 465. Auto-enabled when SMTP_PORT == 465.
|
||||
SMTP_USE_SSL: bool = False
|
||||
|
||||
# Ban System Integration (BedolagaBan monitoring)
|
||||
BAN_SYSTEM_ENABLED: bool = False
|
||||
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
[project]
|
||||
name = 'remnawave-bedolaga-telegram-bot'
|
||||
version = "3.54.1"
|
||||
version = "3.54.0"
|
||||
description = 'Telegram bot for RemnaWave VPN service'
|
||||
readme = 'README.md'
|
||||
license = { text = 'MIT' }
|
||||
|
||||
Reference in New Issue
Block a user