From 1ab724cc497443cf069586664b8790e2dc6e4ec4 Mon Sep 17 00:00:00 2001 From: evgenyzinoviev Date: Fri, 14 Aug 2015 15:02:00 +0300 Subject: [PATCH] readme update --- README.md | 8 ++++---- .../UserInterfaceState.xcuserstate | Bin 136452 -> 136454 bytes 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index c6152eb..49c83d4 100644 --- a/README.md +++ b/README.md @@ -2,9 +2,9 @@ VK Player Controller - приложение для OS X, позволяющее контролировать аудиоплеер vk.com медиа-клавишами (F7-F9) и иметь доступ к плейлисту из статусбара. #### Поддерживаемые браузеры: -* Chrome (+Opera, +Яндекс.Браузер) - *без расширения или с ним* +* Chrome, Яндекс.Браузер - *без расширения или с ним* * Safari - *только без расширения* -* Firefox - *с расширением* +* Firefox, Opera - *с расширением* #### Поддерживаемые системы Должно работать без проблем на OS X 10.8 и выше. @@ -24,7 +24,7 @@ VK Player Controller - приложение для OS X, позволяющее Судя по тому, что сообщали некоторые пользователи, метод AppleScript иногда не работает. Не очень понятно, от чего это зависит и как это воспроизвести, но на этот случай есть возможность включить режим расширения - для Chrome и Яндекс.Браузера. Теоретически такой workaround возможен и в Safari, но под него расширение еще не портировано (предлагаю желающим заняться этим :), поэтому там альтернативы нет. -#### Как приложение общается с брауером +#### Как приложение общается с браузером Для того, чтобы внедренный во вкладку скрипт имел возможность отправлять данные приложению и принимать их от него, приложение поднимает локальный WebSocket-сервер (с поддержкой SSL) на 127.0.0.1:56130 (в данный момент для SSL используется сертификат, выданный для домена vkpc-local.ch1p.com и истекающий 16 августа 2017 года. О том, зачем это нужно – ниже). Когда в плеере на сайте происходит какое-то событие (например, вы переключаете трек), скрипт через WS отправляет его приложению. Когда происходит событие в самом приложении (например, вы нажали F7 или кликнули на трек в плейлисте из статусбара), сообщение отправляется скрипту, который уже переключает трек на сайте. @@ -41,4 +41,4 @@ VK Player Controller - приложение для OS X, позволяющее P.S. Исторически сложилось, что однажды написанный говнокод в vkpc.js больше не менялся (нет желания туда лезть), его бы переписать... -P.P.S. HostsHack - более не используемая часть приложения. До того, как я додумался прописать в A-запись домена адрес 127.0.0.1, локальное подключение через этот домен требовало модификации /etc/hosts с запросом от пользователя root-прав на такое действие. К счастью, нашлось лучшее решение, так что эти файлы более не используются в проекте и остались для истории. :) +P.P.S. HostsHack - более не используемая часть приложения. До того, как я додумался прописать в A-запись домена адрес 127.0.0.1, локальное подключение через этот домен требовало модификации /etc/hosts с запросом от пользователя root-прав на такое действие. К счастью, нашлось лучшее решение, так что эти файлы более не используются в проекте и остались для истории. diff --git a/VKPC.xcodeproj/project.xcworkspace/xcuserdata/evgeny.xcuserdatad/UserInterfaceState.xcuserstate b/VKPC.xcodeproj/project.xcworkspace/xcuserdata/evgeny.xcuserdatad/UserInterfaceState.xcuserstate index 61f66faf5380db8920d615a9ba645ffe47db313d..b766dc228e1caedceb2e00c8e30fe9f611790f1b 100644 GIT binary patch delta 29384 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

UI z*>_K1JQC<`MBR1WeLn|+P>(bytVeDn*+Y^&hA_tbdyK^o_Lzj(_xOq(h_HtUd)x~` zJ(FQPJ$2ku$32^&u%2CrqzCV_7H9M{lAcD=^Fa{m<>z|&xn7Fsl^zZD>Wrp(g}Zt5 zWC@>O0ehKgF9-D2U2om>)?IJi^;TqW-SyU8Z{79QU2om>ad02q_0e6Qyy&iv`S!7Z zea>=@i$SQbQS_~d`1@9+hWYnh;AJJN_=wfm-o973h8^f@2VTGA~KyCCT)& z1N|&%zii|{0sSP=PvQLrGn8RysNXiWvy~WRr zByu|l#k8a=-RMDYK41fz*uvHzG%Pvx!T&e=(6Ainc33MS=}u4jpx9xbu!ePf#(CT| zEPU7FK97RXaPbVUOt-Z9ND}9M(Byosr!~~=?!pug9Z^RtlVHK-U+z1_wkjjXy ze8mpF;~>X5h0%;Knh`$15m)hhWyDSMAEEP+Dj%5{6^|6-$b1y07$qr0mL8o8={ZTxO__Z|EAnO_nAxIYm6xN|6a-1CAT@iYjHPf7~JKRzv@ADo?$9pWFq z5z&wT21Soo@c1Jf=M?`l|MB7RMbf)g@Ey%Tzlt z)!e6<@wB!?VuaJAHcj!Ovl;Nd@a+QIc+uJuRV724d1h$1N_1v{=g?Q?KuB% z5%Zj8@uuAfLeonk(&^?oy(V=Sg~p~&K~vK;HT_5a<}~Mm|NpOKN&F{o+{l(Bd+5Ud E0YVPWP5=M^