Автор Тема: AceProxy: HTTP прокси для Ace Stream  (Прочитано 1551226 раз)

Pepsik

  • Hero Member
  • *****
  • Сообщений: 715
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5025 : Октябрь 17, 2017, 08:04:38 »
Чудный тест ... Наконец-то хоть кто-то начал "грызть гранит науки" ... Осталось осознать из всего вышеизложенного что , если речь идет о "удаленном" компе, под ним мы понимаем некий обособленнй (отдельно стоящий) комп в локальной/глобальной сети под управлением  MustDie (Видовз), то надо каким-то "Божественным образом" средствами прокси, установленной совершено на другом компе, вначале влезть на ваш удаленный комп, считать из реестра ключ HKEY_CURRENT_USER\Software\TorrentStream\EnginePath, найти acestream.port и считать его содержимое  ... а потом стукануть по telnet на найденный порт согласно API движка по ссылочке на wiki :) ... И проводить сию процедуру регулярно при падении движка на удаленном компе в автоматическом режиме  ;D
Что касаемо локального запуска движка , например при acespawn=True ... то спешу Вас огорчить , Америку - Вы не открыли, Колумб это сделал задолго до Вас  :'( ... Оно где-то так именно и работает .. и при старте все автоматом определяет и читает , стартует и рестартует ... при условии что прокся и движок установлены на одном и том же компе под управлением ОС Windows  ;)
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ

Pljushevij

  • Sr. Member
  • ****
  • Сообщений: 258
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5026 : Октябрь 17, 2017, 12:16:42 »
Чудный тест ... Наконец-то хоть кто-то начал "грызть гранит науки" ... Осталось осознать из всего вышеизложенного что , если речь идет о "удаленном" компе, под ним мы понимаем некий обособленнй (отдельно стоящий) комп в локальной/глобальной сети под управлением  MustDie (Видовз), то надо каким-то "Божественным образом" средствами прокси, установленной совершено на другом компе, вначале влезть на ваш удаленный комп, считать из реестра ключ HKEY_CURRENT_USER\Software\TorrentStream\EnginePath, найти acestream.port и считать его содержимое  ... а потом стукануть по telnet на найденный порт согласно API движка по ссылочке на wiki :) ... И проводить сию процедуру регулярно при падении движка на удаленном компе в автоматическом режиме  ;D
Что касаемо локального запуска движка , например при acespawn=True ... то спешу Вас огорчить , Америку - Вы не открыли, Колумб это сделал задолго до Вас  :'( ... Оно где-то так именно и работает .. и при старте все автоматом определяет и читает , стартует и рестартует ... при условии что прокся и движок установлены на одном и том же компе под управлением ОС Windows  ;)
Зачем так сложно. Надо всего лишь выполнить эту команду:
mount.cifs //192.168.1.104/C$/Users/Maximus/AppData/Roaming/ACEStream/engine  /mnt/win -o user=administrator,pass='PASSWORD'
В результате имеем в папке /mnt/win нужный нам acestream.port
Это "//192.168.1.104/C$/Users/Maximus/AppData/Roaming/ACEStream/engine" сделать изменяемым параметром.
P.S. Для работы mount.cifs нужен пакет cifs-utils (apt install cifs-utils)
LG 47LM660S + AceProxy (Pepsik) на Win7
Тестирование AceProxy + Ubuntu 16.04 x64 Server на Atom 330/2Gb/250Gb

Pepsik

  • Hero Member
  • *****
  • Сообщений: 715
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5027 : Октябрь 17, 2017, 12:56:33 »
Вот и поиграешься... сегодня выложу все измененя.... работает- "изЮмительно".... два дня гоняю.... теперь Ваша очередь искать "дыры"  ;D
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ

Pljushevij

  • Sr. Member
  • ****
  • Сообщений: 258
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5028 : Октябрь 17, 2017, 14:02:49 »
Вот и поиграешься... сегодня выложу все измененя.... работает- "изЮмительно".... два дня гоняю.... теперь Ваша очередь искать "дыры"  ;D
При старте AceProxy надо выполнить эти команды:
mount.cifs //192.168.1.104/C$/Users/Maximus/AppData/Roaming/ACEStream/engine  /mnt/win -o user=administrator,pass='qwe123!@#'
portnum=$(cat /mnt/win/acestream.port)
И соответственно присвоить aceport = $portnum
Но... portnum это переменная в самом Linux, а как её использовать/объявить для Python?
Или проще добавить в python строки:
portnum = open('/mnt/win/acestream.port')
portnum.read()

Я далеко не программер, но как-то так :)))
« Последнее редактирование: Октябрь 17, 2017, 14:59:41 от Pljushevij »
LG 47LM660S + AceProxy (Pepsik) на Win7
Тестирование AceProxy + Ubuntu 16.04 x64 Server на Atom 330/2Gb/250Gb

Pepsik

  • Hero Member
  • *****
  • Сообщений: 715
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5029 : Октябрь 17, 2017, 16:48:03 »
https://github.com/pepsik-kiev/aceproxy TOTAL REMASTERING !

Рекомендую скачать с нуля. Там много "перековыряно"
Из последнего
1) Реализована "хочуха" - http://mytalks.ru/index.php?topic=4506.msg77273#msg77273
Скажем так логика такова что если acespawn= False, то ищет "удаленные" движки сначала на acehost, а потом в acehostlist по порядку как они туда внесены ... При пропадании "связи" с текущим движком выполняется "рескан" при старте любого канала и т.д. При acespawn=True используется только acehost и "удаленные" движки не "перебираются" ибо прокся сама локально рестартует движок если он "помер".
2) Добавлены новые параметры при START на движке ... preferred_audio_language ... "первая эскадрилья" обещала в ближайших релизах исправить "дисбаланс" между HTTP API и Engine API .. ждем'c ! ... у нас уже все готово. Это должно спасти ситуацию кто пользует vlcuse=True . При таком варианте, из-за глюка самого vlc, исчезают из потока все дорожки кроме первой, а первая не всегда =rus и далеко не всегда в 5+1 звуке и т.д.
3) В плагине /torrentfilms добавлена возможность выбора hls/http + учитываются настройки транскодирования аудио из aceconfig.py
4) Куча всего "по мелочи" везде и всюду ...+ в aceconfig.py прописаны оптимальные, в моем понимании, значения параметров для нормальной работы прокси в 95% случаев .... 
5) Естественно все предыдущие "хочухи" и добавки уже включены .....

ТЕСТИРУЙТЕ ! И помните ЛУЧШЕЕ - ВРАГ ХОРОШЕГО !
« Последнее редактирование: Октябрь 19, 2017, 11:14:37 от Pepsik »
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ

Pljushevij

  • Sr. Member
  • ****
  • Сообщений: 258
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5030 : Октябрь 17, 2017, 19:24:47 »
https://github.com/pepsik-kiev/aceproxy TOTAL REMASTERING !

Рекомендую скачать с нуля. Там много "перековыряно"
Из последнего
1) Реализована "хочуха" - http://mytalks.ru/index.php?topic=4506.msg77273#msg77273
Скажем так логика такова что если acespawn= False, то ищет "удаленные" движки сначала на acehost, а потом в acehostlist по порядку как они туда внесены ... При пропадании "связи" с текущим движком выполняется "рескан" при старте любого канала и т.д. При acespawn=True используется только acehost и "удаленные" движки не "перебираются" ибо прокся сама локально рестартует движок если он "помер". Поддерживаются только hostы с *nix based движками !
2) Добавлены новые параметры при START на движке ... preferred_audio_language ... "первая эскадрилья" обещала в ближайших релизах исправить "дисбаланс" между HTTP API и Engine API .. ждем'c ! ... у нас уже все готово. Это должно спасти ситуацию кто пользует vlcuse=True . При таком варианте, из-за глюка самого vlc, исчезают из потока все дорожки кроме первой, а первая не всегда =rus и далеко не всегда в 5+1 звуке и т.д.
3) Куча всего "по мелочи" везде и всюду ...+ в aceconfig.py прописаны оптимальные, в моем понимании, значения параметров для нормальной работы прокси в 95% случаев .... 
4) Естественно все предыдущие "хочухи" и добавки уже включены .....

ТЕСТИРУЙТЕ ! И помните ЛУЧШЕЕ - ВРАГ ХОРОШЕГО !

Не большое замечание - надо букву "h" добавить:

useproxy = True
proxies = {'http' : 'socks5h://127.0.0.1:9050',
           'https' : 'socks5h://127.0.0.1:9050'}

Это актуально, если прокси крутиться на Windows.

И ещё. Прокся перебирает айпишки если локальная AceStream недоступна/отсутствует. Перебирает она по порту, который прописан в "aceport". А если порты разные на разных айпи?
LG 47LM660S + AceProxy (Pepsik) на Win7
Тестирование AceProxy + Ubuntu 16.04 x64 Server на Atom 330/2Gb/250Gb

Pepsik

  • Hero Member
  • *****
  • Сообщений: 715
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5031 : Октябрь 17, 2017, 19:38:10 »
Не большое замечание - надо букву "h" добавить:

useproxy = True
proxies = {'http' : 'socks5h://127.0.0.1:9050',
           'https' : 'socks5h://127.0.0.1:9050'}

Это актуально, если прокси крутиться на Windows.

И ещё. Прокся перебирает айпишки если локальная AceStream недоступна/отсутствует. Перебирает она по порту, который прописан в "aceport". А если порты разные на разных айпи?
1) h надо только пользователям винды .. там в коментах есть пример если что ...
2) C разными портами - не сложно ..  при необходимости можно сделать. Просто для "домашнего" пользования не совсем думаю востребовано.
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ

Pljushevij

  • Sr. Member
  • ****
  • Сообщений: 258
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5032 : Октябрь 17, 2017, 20:17:36 »
Для себя решил (как смог) проблему динамического порта AceStream в Windows. Актуально, тогда когда AceProxy крутиться например на Linux, а движок AceStream на Windows:

mount.cifs //192.168.1.104/C$/Users/Maximus/AppData/Roaming/ACEStream/engine  /mnt/win -o user=USERNAME,pass='PASSWORD'
portnum=$(cat /mnt/win/acestream.port)
sed -i 's/.*aceport = .*/    aceport = '$portnum'/' /home/maximus/aceproxy/aceconfig.py

192.168.1.104 - IP компа с Windows на котором крутиться AceStream
Maximus - имя локального пользователя на Windows машине
USERNAME и PASSWORD - логин и пароль пользователя на Windows машине с правами администратора (ну лень мне было шарить папку)
/home/maximus/aceproxy - Расположение прокси на Linux машине/устройстве

На Windows машине после запуска AceStream надо отработать такой bat-файл:

@echo off
set /p f=< C:\Users\Maximus\AppData\Roaming\ACEStream\engine\acestream.port
netsh advfirewall firewall delete rule name="AceStreamPortDyn"
echo Port is %f%
timeout /t 3
netsh advfirewall firewall add rule name="AceStreamPortDyn" dir=in action=allow protocol=TCP localport=%f%

Всё это безобразие запускается автоматом при старте/рестарте Linux и Windows машин.
Как-то так. Работает на ура. Проверил.
Если AceStream на Windows падает, то AceProxy перебирает остальные IP указанные в параметре "acehostslist".
« Последнее редактирование: Октябрь 17, 2017, 20:37:44 от Pljushevij »
LG 47LM660S + AceProxy (Pepsik) на Win7
Тестирование AceProxy + Ubuntu 16.04 x64 Server на Atom 330/2Gb/250Gb

spawn_lmg

  • Newbie
  • *
  • Сообщений: 4
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5033 : Октябрь 17, 2017, 22:54:40 »
Есть такая утилитка для винды :)
TSPorts называется, так вот она при запуске вычисляет порт запущенного ACE, и переадресует его на постоянный порт 50555. Она еще переадресует порт 6878 на порт 50666, но зачем не заню, ведь 6878 постоянный у АСЕ. И еще я когда тестил, то именно если гнать потока через 50666, а не через 6878, то в этой проге утечка памяти, короче забивало всю оперативу вплоть до повисания всей системы. Но это нам не надо. А вот нужный нам порт на 50555 переадресует без проблем.
Так что для движка Винды можно использовать это решение.

https://drive.google.com/uc?export=download&id=0B3uMOhjxGl5USHp6eVpCZ1VYX0E

Pljushevij

  • Sr. Member
  • ****
  • Сообщений: 258
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5034 : Октябрь 17, 2017, 23:01:25 »
Есть такая утилитка для винды :)
TSPorts называется, так вот она при запуске вычисляет порт запущенного ACE, и переадресует его на постоянный порт 50555. Она еще переадресует порт 6878 на порт 50666, но зачем не заню, ведь 6878 постоянный у АСЕ. И еще я когда тестил, то именно если гнать потока через 50666, а не через 6878, то в этой проге утечка памяти, короче забивало всю оперативу вплоть до повисания всей системы. Но это нам не надо. А вот нужный нам порт на 50555 переадресует без проблем.
Так что для движка Винды можно использовать это решение.

https://drive.google.com/uc?export=download&id=0B3uMOhjxGl5USHp6eVpCZ1VYX0E
Проверил - работает сие чудо! Спасибо за комментарий!
Теперь осталось, что бы Pepsik aceconfig.py допилил, что бы разным IP можно было разные порты присваивать ;)
« Последнее редактирование: Октябрь 17, 2017, 23:03:06 от Pljushevij »
LG 47LM660S + AceProxy (Pepsik) на Win7
Тестирование AceProxy + Ubuntu 16.04 x64 Server на Atom 330/2Gb/250Gb

marveltm

  • Full Member
  • ***
  • Сообщений: 172
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5035 : Октябрь 18, 2017, 09:38:55 »
Вот прям радость то какая =) Люблю всякие обновления! Поставил, будем проверять! Но, заметьте , что я давно уже не писал про ошибки. т.е. все работает замечательно!

Не писал бы про ошибки, может и не было такой хорошей работоспособной сборки!  8)

Pepsik

  • Hero Member
  • *****
  • Сообщений: 715
  • Лучшее - враг хорошего!
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5036 : Октябрь 18, 2017, 10:40:04 »
Проверил - работает сие чудо! Спасибо за комментарий!
Теперь осталось, что бы Pepsik aceconfig.py допилил, что бы разным IP можно было разные порты присваивать ;)

Дождались  ;D внесены соответствующие изменения в aceconfig.py и /aceclient/aceclient.py обновите с git и внесите свои настройки
« Последнее редактирование: Октябрь 18, 2017, 11:13:29 от Pepsik »
BTC:1J7YKUQ34mUsvXqLQ8aSWL2YtYHZX9RvbJ

sashokmc

  • Hero Member
  • *****
  • Сообщений: 927
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5037 : Октябрь 18, 2017, 13:47:10 »
Pepsik Дружище! Я победил наконец проблему с Acestream с отсутствием интернета в Chroot!
Поправьте пожалуйста скрипт acestream.start:
$PERMISSION mkdir -p $ACEADDON/$ACECHROOT/etc

$PERMISSION mount -o bind /etc/resolv.conf $ACEADDON/$ACECHROOT/etc/resolv.conf &>/dev/null
Веб-интерфейс наконец-то работает.
Без всяких теперь gaierror: [Errno 7] No address associated with hostname

Тупо копировать файлик. не помогает. только монтировать с bind
« Последнее редактирование: Октябрь 18, 2017, 13:55:59 от sashokmc »
BeeLine 70 мбит
Роутер Asus RT-N56U
LG 37LM620T, LG 32LF650V
Raspberry Pi 3 model B

Pljushevij

  • Sr. Member
  • ****
  • Сообщений: 258
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5038 : Октябрь 18, 2017, 17:50:54 »
Проверил - работает сие чудо! Спасибо за комментарий!
Теперь осталось, что бы Pepsik aceconfig.py допилил, что бы разным IP можно было разные порты присваивать ;)

Дождались  ;D внесены соответствующие изменения в aceconfig.py и /aceclient/aceclient.py обновите с git и внесите свои настройки
Спасибище! Человечище! ;)
Будем тестить...
Притаранил Linksys WRT54GL. Поставлю на него OpenWRT, а на неё соответственно AceProxy...
LG 47LM660S + AceProxy (Pepsik) на Win7
Тестирование AceProxy + Ubuntu 16.04 x64 Server на Atom 330/2Gb/250Gb

sashokmc

  • Hero Member
  • *****
  • Сообщений: 927
    • Просмотр профиля
Re: AceProxy: HTTP прокси для Ace Stream
« Ответ #5039 : Октябрь 19, 2017, 13:09:50 »
Движок что-то не работает.
2017-10-19 10:04:13,828|Instance2InstanceThread-26|acestream.coreapp|external_connection_made: ip=192.168.1.3 port=42126 myip=192.168.1.4 myport=62062 connections=1
2017-10-19 10:04:13,829|Instance2InstanceThread-26|acestream.coreapp|connection_lost: ip=192.168.1.3 port=42126
2017-10-19 10:04:13,831|Timer-Thread-205|acestream.BGInstanceConnection|shutdown: shutdownplugin=1
2017-10-19 10:04:13,832|Timer-Thread-205|acestream.BGInstanceConnection|cleanup_playback
2017-10-19 10:04:13,833|Timer-Thread-205|acestream.BGInstanceConnection|send NOTREADY
2017-10-19 10:04:13,834|Timer-Thread-205|acestream.coreapp|connection_lost: ip=192.168.1.3 port=42126

Может что не достроил в новом прокси? Последний от pepsik.
BeeLine 70 мбит
Роутер Asus RT-N56U
LG 37LM620T, LG 32LF650V
Raspberry Pi 3 model B