AIMP Forum

AIMP for PC => Ошибки и замечания / Bugs => Topic started by: Aleksiton on September 08, 2025, 12:22:14

Title: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Aleksiton on September 08, 2025, 12:22:14
Хотелось бы вручную проверять наличие обновления версии плеера. Может кто сталкивался с таким.
Title: Re: ошибка при ручной проверке наличия обновления версии плеера
Post by: Artem on September 08, 2025, 12:27:59
1) Ошибка имеет отношение к ПК версии плеера, а не мобильной
2) Такая ошибка обычно возникает, когда подключение блокируется антивирусом / фаерволом
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Ultra on October 02, 2025, 12:42:46
Хотелось бы вручную проверять наличие обновления версии плеера. Может кто сталкивался с таким.

Я сталкивался. И мне тоже говорили что проблема в фаерволле или антивир а в итоге wireshark и анализ сетевого стека показал: что в последней версии (у меня 5.40.2694) и возможно ещё каких происходит

Клиент (AIMP) делает запрос на http://update.aimp.ru/...
Сервер отвечает:
HTTP/1.1 301 Moved Permanently
Location: https://www.aimp.ru/update/?id=...
То есть сервер говорит: «я больше не даю обновления по http://update.aimp.ru, ходи по https://www.aimp.ru/update/...».
Клиент снова делает GET к http://update.aimp.ru, и опять получает 301. И так по кругу.

Вот TCP поток с wireshark
GET /?id=5051900100358692047&p=aimp64&b=2694&c=stable&os=10.0.19045&lng=russian&u=1 HTTP/1.1 Host: update.aimp.ru User-Agent: Mozilla/5.0 (AIMP/5.40; Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Connection: keep-alive Keep-Alive: 300 Cache-Control: no-cache HTTP/1.1 301 Moved Permanently Server: nginx Date: Mon, 29 Sep 2025 19:35:40 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Location: https://www.aimp.ru/update/?id=5051900100358692047&p=aimp64&b=2694&c=stable&os=10.0.19045&lng=russian&u=1 a2 <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx</center> </body> </html> 0 GET /?id=5051900100358692047&p=aimp64&b=2694&c=stable&os=10.0.19045&lng=russian&u=1 HTTP/1.1 Host: update.aimp.ru User-Agent: Mozilla/5.0 (AIMP/5.40; Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Connection: keep-alive Keep-Alive: 300 Cache-Control: no-cache HTTP/1.1 301 Moved Permanently Server: nginx Date: Mon, 29 Sep 2025 19:35:54 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Location: https://www.aimp.ru/update/?id=5051900100358692047&p=aimp64&b=2694&c=stable&os=10.0.19045&lng=russian&u=1 a2 <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>nginx</center> </body> </html> 0

Ошибка в том, что программа обращается не туда, она шлёт запрос на http://update.aimp.ru, а сервер требует https://www.aimp.ru/update/.... ну как то так.

Я записал в host 127.0.0.1 update.aimp.ru
Скрипт на python
# aimp_proxy_final.py
from flask import Flask, request, Response
import requests
import time

app = Flask(__name__)

UPSTREAM_BASE = "https://www.aimp.ru"
LISTEN_ADDR = "127.0.0.1"
PORT = 8080
TIMEOUT = 10

# IMPORTANT: do not use system proxy settings for upstream requests
sess = requests.Session()
sess.trust_env = False  # <- критично, чтобы не зациклить себя через системный proxy

def log(*args):
    print(time.strftime("%Y-%m-%d %H:%M:%S"), *args, flush=True)

@app.route("/", defaults={"path": ""}, methods=["GET","HEAD"])
@app.route("/<path:path>", methods=["GET","HEAD"])
def proxy(path):
    host = request.headers.get("Host", "")
    qs = request.query_string.decode()
    # Build incoming summary for logs
    incoming = f"{request.method} http://{host}/{path}"
    if qs:
        incoming += "?" + qs
    log("INCOMING:", incoming)

    # If client requested update.aimp.ru -> map to upstream /update
    if host and host.lower().startswith("update.aimp.ru"):
        upstream = UPSTREAM_BASE + "/update"
    else:
        # normal forward to requested host/path
        upstream = f"http://{host}/{path}" if host else f"http://{path}"
    if qs:
        upstream = upstream + ("?" + qs)

    log(" -> Fetching upstream:", upstream)

    try:
        # Forward minimal headers; allow upstream to set its Host header
        headers = {"User-Agent": request.headers.get("User-Agent", "AIMP-Proxy")}
        resp = sess.get(upstream, headers=headers, timeout=TIMEOUT, stream=True)
        log(" <- Upstream returned", resp.status_code, resp.headers.get("Content-Type"))

        # Return upstream content to client
        content = resp.content  # small XML / files OK
        return Response(content, status=resp.status_code, content_type=resp.headers.get("Content-Type", "application/octet-stream"))
    except requests.RequestException as e:
        log(" !!! Fetch error:", repr(e))
        return Response(f"Proxy fetch error: {e}", status=502)

if __name__ == "__main__":
    log(f"Starting proxy on {LISTEN_ADDR}:{PORT} (trust_env=False)")
    app.run(host=LISTEN_ADDR, port=PORT)

В настройках винды ставлю использовать прокси сервер туда пишем 127.0.0.1 port:8080 на всякий определить параметры автоматически можно убрать.
в cmd от админа пишем
Code: [Select]
netsh winhttp import proxy source=ie Проверяем что идёт через прокси.  Если руками через cmd командой
Code: [Select]
curl.exe -v -x http://127.0.0.1:8080 "http://update.aimp.ru/?id=5051900100358692047&p=aimp64&b=2694&c=stable&os=10.0.19045&lng=russian&u=1" Ответ должен быть HTTP/1.1 200 OK и XML тогда должен обновляться и aimp через свой обновлятель :).
Тоже мучался ещё на предыдущих версиях была такая проблема, но не было времени. Вот разобрался и делюсь может поможет.
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Artem on October 02, 2025, 13:19:35
Ошибка в том, что программа обращается не туда, она шлёт запрос на http://update.aimp.ru, а сервер требует https://www.aimp.ru/update/.... ну как то так

Нет никакой ошибки тут. Редиректы - это вполне нормальное в мире веб. Клиент должен корректно обрабатывать 301 статус.
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Ultra on October 02, 2025, 14:21:18
Нет никакой ошибки тут. Редиректы - это вполне нормальное в мире веб. Клиент должен корректно обрабатывать 301 статус.

Я очень извиняюсь за свою глупость и недопонимание... Я только учусь так как помощи взять негде( Я понял в чем истинная проблема и почему с прокси это сработало. У меня в Windows была включено только TLS1.3 а клиент aimp работает как и многие проги с TLS1.2 а прокси сам выставляет рукопожатие на 1.2 вот и работало) Но я надеюсь ещё кому нибудь это поможет. Ешё раз извиняюсь. Просто хотел помочь так как сам искал долго почему так.
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Artem on October 02, 2025, 14:35:54
Я очень извиняюсь за свою глупость и недопонимание... Я только учусь так как помощи взять негде( Я понял в чем истинная проблема и почему с прокси это сработало. У меня в Windows была включено только TLS1.3 а клиент aimp работает как и многие проги с TLS1.2 а прокси сам выставляет рукопожатие на 1.2 вот и работало) Но я надеюсь ещё кому нибудь это поможет. Ешё раз извиняюсь. Просто хотел помочь так как сам искал долго почему так.

А вот это вполне может быть. Возможно, мне стоит сделать редирект на http, а не https. Во избежании, так сказать, как раз таких ситуаций.
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Ultra on October 02, 2025, 16:14:05
А вот это вполне может быть. Возможно, мне стоит сделать редирект на http, а не https. Во избежании, так сказать, как раз таких ситуаций.

Надеюсь хоть чем то помог) И ещё у меня так-же не обновлялось программа Revo Uninstaller Pro тоже из-за TLS1.3 Когда включил TLS 1.2 вместе с  TLS 1.3 всё заработало.
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: kira42 on October 02, 2025, 21:52:57
похоже MS активно везде всех пинает переходить на tls 1.3
мне на работе пришлось сервисы внешние переводить
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Artem on October 02, 2025, 22:12:33
Странно, со стороны сервера поддерживаются все TLS. Почему WinInet фейлит при отключенном TLS 1.2 - не понятно, может оно просто в ней не поддерживается? TLS.1.3 В 10-ке помечен как экспериментальный. На текущий момент переключил центр обновлений на http
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: DarkDrawKill on October 03, 2025, 08:33:50
Может потому что РКН блокирует соединение с TLS 1.3 я помню steamdb.info не работал по тоже самой причине

Ухх.. давно не обновлялся самое время перейти на 6ку уже на винде
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Artem on October 03, 2025, 08:41:58
Может потому что РКН блокирует соединение с TLS 1.3 я помню steamdb.info не работал по тоже самой причине

Не. Тут явно что-то на уровне Wininet. Запрос по TLS1.3 через хромиум работает на ура.
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: DarkDrawKill on October 03, 2025, 08:49:39
Не. Тут явно что-то на уровне Wininet. Запрос по TLS1.3 через хромиум работает на ура.
даже так проверить обновление мне удалось но вот установить я не могу
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: Artem on October 03, 2025, 08:51:44
даже так проверить обновление мне удалось но вот установить я не могу

А, ссылка на дистрибутив, наверное, по https осталась. Момент
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: DarkDrawKill on October 03, 2025, 08:54:08
Всё равно очень странно ведь я винду за все эти месяцы ни разу не обновлял (у меня отключено автообновление)
Title: Re: [+] [2694] ошибка при ручной проверке наличия обновления версии плеера
Post by: CkopoxoD on October 03, 2025, 20:15:54
Не. Тут явно что-то на уровне Wininet. Запрос по TLS1.3 через хромиум работает на ура.
Я нашёл только требования корректно обработать SEC_I_RENEGOTIATE: https://stackoverflow.com/questions/77204959/
Но опять же, это всё для Win 11, на десятке включение tls 1.3 является "небезопасной конфигурацией" по документации.