Выпуск FluxCast 0.3.0, инструмСнта для трансляции Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Linux Π½Π° Smart TV

Бостоялся Ρ€Π΅Π»ΠΈΠ· ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° FluxCast 0.3.0, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½ΠΎΠ³ΠΎ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ стриминга Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ стола Linux Π½Π° экраны Smart TV ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌ Wi-Fi Direct (Miracast), DLNA ΠΈ Chromecast с минимальной Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° Python ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ GPLv3.

Π‘Ρ€Π΅Π΄ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ:

  • Для дистрибутивов Debian ΠΈ Ubuntu Π·Π°ΠΏΡƒΡ‰Π΅Π½ собствСнный APT-Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΉ. Π Π°Π½Π΅Π΅ deb-ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»ΡΠ»ΠΈΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ страницам выпусков Π½Π° GitHub, ΠΈ для обновлСния Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎΡΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Ρ€Π΅Π»ΠΈΠ·Ρ‹ ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ сборку, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ своСй вСрсии дистрибутива. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ рСпозитория сводится ΠΊ установкС ΠΏΠ°ΠΊΠ΅Ρ‚Π° fluxcast-repo, Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ Π² систСму ΠΊΠ»ΡŽΡ‡ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²ΠΎΠΉ подписи ΠΈ Ρ„Π°ΠΉΠ» с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ рСпозитория. ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΡΡ‰Π°Ρ сборка опрСдСляСтся автоматичСски ΠΏΠΎ вСрсии python3, Π° Π½Π΅ ΠΏΠΎ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ дистрибутива, Ρ‡Ρ‚ΠΎ позволяСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄Π½Ρ‹Π΅ сборки, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Linux Mint ΠΈ Pop!_OS, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅
    выпуски Ubuntu. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ Debian 12 ΠΈ 13, Ubuntu 24.04 ΠΈ 26.04, Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π° amd64. ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π½ΠΈΠ΅ индСксов выполняСтся Π½Π° сторонС GitHub Actions, Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π½Π° сСрвСрС Π½Π΅ размСщаСтся. Π Π°Π½Π΅Π΅ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹Π΅ вСрсии ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ доступны, Ρ‡Ρ‚ΠΎ Π΄Π°Ρ‘Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚Π°.
  • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ ΠΎΠΊΠ½ΠΎ настроСк, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ΅ ΠΈΠ· мСню Π² систСмном Ρ‚Ρ€Π΅Π΅. Π Π°Π½Π΅Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΎ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ рСдактирования Ρ„Π°ΠΉΠ»Π° ~/.config/fluxcast/config. Π’ интСрфСйсС доступны 20 ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Miracast ΠΈ ΠΏΠΎ 8 для DLNA ΠΈ Chromecast.
    Π’Π²ΠΎΠ΄ΠΈΠΌΡ‹Π΅ значСния ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, Π° ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π² Ρ„Π°ΠΉΠ», ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ ΠΏΡ€ΠΈ записи. Окно построСно с использованиСм Tkinter ΠΈ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Π² систСмС ΡΠ²Π΅Ρ‚Π»ΡƒΡŽ ΠΈΠ»ΠΈ Ρ‚Ρ‘ΠΌΠ½ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ оформлСния.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ кодирования Π²ΠΈΠ΄Π΅ΠΎ Ρ‡Π΅Ρ€Π΅Π· VA-API, Π²ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠ°Ρ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Β«β€”wfd-encoder vaΒ» ΠΈ Π·Π°Π΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ элСмСнт vah264enc. Π’ конфигурациях, Π³Π΄Π΅ ΠΊΠΎΠΌΠΏΠΎΠ·ΠΈΡ‚Π½Ρ‹ΠΉ сСрвСр ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘Ρ‚ ΠΊΠ°Π΄Ρ€Ρ‹ Π² Π²ΠΈΠ΄Π΅ DMABuf, ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ€ Β«pipewiresrc β€” vapostproc β€”
    vacompositor β€” ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΒ» ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π±Π΅Π· копирования Π² ΡΠΈΡΡ‚Π΅ΠΌΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Π’ ΠΏΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Ρ… тСстах ΠΏΡ€ΠΈ трансляции статичного изобраТСния Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°
    снизилась с 80% Π΄ΠΎ 1% ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ядра CPU, ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ двиТСния с 73-79% Π΄ΠΎ 6-7%, Π° Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΎΡ‚ измСнСния Π½Π° экранС Π΄ΠΎ поступлСния ΠΊΠ°Π΄Ρ€Π° Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΠ»Π°ΡΡŒ с 64 Π΄ΠΎ 27 мс. ВСстированиС ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠ»ΠΎΡΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° GPU Intel. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ
    примСняСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ x264, ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выполняСтся автоматичСски ΠΏΡ€ΠΈ отсутствии Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… элСмСнтов VA-API. Π Π΅ΠΆΠΈΠΌ управлСния Π±ΠΈΡ‚Ρ€Π΅ΠΉΡ‚ΠΎΠΌ задаётся ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Β«β€”wfd-rate-controlΒ», ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ qvbr.
  • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° согласования Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² WFD R2, активируСмая ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Β«β€”wfd-r2Β». ΠŸΡ€ΠΈ Π΅Ρ‘ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² запросС M3 Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ списки wfd2_video_formats ΠΈ wfd2_audio_codecs, Ρ‡Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ доступ ΠΊ Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΌ, ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ΅ΠΌΡ‹ΠΌ
    ΠΏΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Π²Ρ‚ΠΎΡ€ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ спСцификации. НапримСр, Π½Π° Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°Ρ… LG C2 становится доступСн Ρ€Π΅ΠΆΠΈΠΌ 1080p60, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π² спискС R1, ΠΈΠ·-Π·Π° Ρ‡Π΅Π³ΠΎ запрос 60
    ΠΊΠ°Π΄Ρ€ΠΎΠ² Π² сСкунду Ρ€Π°Π½Π΅Π΅ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ» ΠΊ ΠΎΡ‚ΠΊΠ°Ρ‚Ρƒ Π½Π° 1080p30. Если ΠΏΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚
    ΠΈΠ»ΠΈ отклоняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ R2, выполняСтся Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Ρ€Π΅Π΄Π°ΠΊΡ†ΠΈΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ
    ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈ ΠΏΠΎΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π° Π½Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚Π΅Π»Π΅Π²ΠΈΠ·ΠΎΡ€Π°.
  • УстранСно ΠΎΡˆΠΈΠ±ΠΎΡ‡Π½ΠΎΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ iw ΠΈ wpa_cli ΠΊΠ°ΠΊ
    ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…, Ссли ΠΎΠ½ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ /usr/sbin, Π½Π΅ входящСм Π² PATH
    Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² Debian ΠΈ Ubuntu (ошибка Π·Π°Ρ‚Ρ€Π°Π³ΠΈΠ²Π°Π»Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
    Π²Ρ‹Π²ΠΎΠ΄ Ρ€Π΅ΠΆΠΈΠΌΠ° Β«β€”doctorΒ», Π½ΠΎ ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ бСспроводного интСрфСйса Π² бэкСндС wpas).
  • Π Π΅ΠΆΠΈΠΌ Β«β€”doctorΒ» Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π½Π΅Π·Π°ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… интСрфСйсов
    Wi-Fi Direct, ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ ΠΎΡ‚ ΠΏΡ€Π΅Ρ€Π²Π°Π½Π½Ρ‹Ρ… сСансов, ΠΈ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ для ΠΈΡ… удалСния.
  • Π’ ΠΊΠΎΠ΄Π΅ WFD-сСссии Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сигнала SIGTERM (Ρ€Π°Π½Π΅Π΅ остановка трансляции ΠΈΠ· трСя ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»Π° ΠΊ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡŽ процСсса Π±Π΅Π· освобоТдСния рСсурсов ΠΈ увСдомлСния ΠΏΡ€ΠΈΡ‘ΠΌΠ½ΠΈΠΊΠ°).
  • УстранСно искаТСниС ΠΏΡ€ΠΎΠΏΠΎΡ€Ρ†ΠΈΠΉ ΠΈ зависаниС ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π΄ΠΎ 9 сСкунд ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° Π² сСансах Π·Π°Ρ…Π²Π°Ρ‚Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠΎΠ½ Π² KDE.
  • Число ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊΠ° x264 ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ min (4, число CPU), Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Β«tune=zerolatencyΒ» ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ создаёт ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ слайсу Π½Π° ΠΏΠΎΡ‚ΠΎΠΊ, Ρ‡Ρ‚ΠΎ Π½Π° систСмах с 16 ядрами ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠ»ΠΎ ΠΊ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ Π΄Ρ€ΠΎΠ±Π»Π΅Π½ΠΈΡŽ ΠΊΠ°Π΄Ρ€Π° ΠΈ росту Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Π½Π° Ρ‚Ρ€Π΅Ρ‚ΡŒ.
  • Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΏΠ΅Ρ€Π΅Π²Π΅Π΄Ρ‘Π½ Π½Π° Ρ‚ΡƒΡ€Π΅Ρ†ΠΊΠΈΠΉ язык, ΠΎΠ±Ρ‰Π΅Π΅ число ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… языков Π΄ΠΎΠ²Π΅Π΄Π΅Π½ΠΎ Π΄ΠΎ
    дСсяти. Π€Π°ΠΉΠ»Ρ‹ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Ρ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„Π°ΠΉΠ»Ρ‹ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ языка.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры πŸ”₯ ΠšΡƒΠΏΠΈΡ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΉ хостинг для сайтов с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ ΠΎΡ‚ DDoS, VPS VDS сСрвСры | ProHoster