Skip to content

Commit 9669fde

Browse files
authored
Merge pull request #1 from large/develop
Update to TLS1.2 + Kodi script to Matrix V19 support
2 parents 4a05373 + a2fb3b1 commit 9669fde

32 files changed

+337
-129
lines changed

Installer/Installer.vcxproj

+5-5
Original file line numberDiff line numberDiff line change
@@ -21,32 +21,32 @@
2121
<PropertyGroup Label="Globals">
2222
<ProjectGuid>{98DE6E8B-FFBF-468B-973E-31892046B29B}</ProjectGuid>
2323
<RootNamespace>Installer</RootNamespace>
24-
<WindowsTargetPlatformVersion>10.0.16299.0</WindowsTargetPlatformVersion>
24+
<WindowsTargetPlatformVersion>10.0</WindowsTargetPlatformVersion>
2525
</PropertyGroup>
2626
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.Default.props" />
2727
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'" Label="Configuration">
2828
<ConfigurationType>Application</ConfigurationType>
2929
<UseDebugLibraries>true</UseDebugLibraries>
30-
<PlatformToolset>v141</PlatformToolset>
30+
<PlatformToolset>v142</PlatformToolset>
3131
<CharacterSet>MultiByte</CharacterSet>
3232
</PropertyGroup>
3333
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'" Label="Configuration">
3434
<ConfigurationType>Application</ConfigurationType>
3535
<UseDebugLibraries>false</UseDebugLibraries>
36-
<PlatformToolset>v141</PlatformToolset>
36+
<PlatformToolset>v142</PlatformToolset>
3737
<WholeProgramOptimization>true</WholeProgramOptimization>
3838
<CharacterSet>MultiByte</CharacterSet>
3939
</PropertyGroup>
4040
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'" Label="Configuration">
4141
<ConfigurationType>Application</ConfigurationType>
4242
<UseDebugLibraries>true</UseDebugLibraries>
43-
<PlatformToolset>v141</PlatformToolset>
43+
<PlatformToolset>v142</PlatformToolset>
4444
<CharacterSet>MultiByte</CharacterSet>
4545
</PropertyGroup>
4646
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|x64'" Label="Configuration">
4747
<ConfigurationType>Application</ConfigurationType>
4848
<UseDebugLibraries>false</UseDebugLibraries>
49-
<PlatformToolset>v141</PlatformToolset>
49+
<PlatformToolset>v142</PlatformToolset>
5050
<WholeProgramOptimization>true</WholeProgramOptimization>
5151
<CharacterSet>MultiByte</CharacterSet>
5252
</PropertyGroup>

Installer/MOTRInstall-1.41beta.exe

-27 MB
Binary file not shown.

Installer/MOTRInstall-1.45beta.exe

-27 MB
Binary file not shown.

Installer/MOTRInstall-1.9beta.exe

2.38 MB
Binary file not shown.

Installer/MOTRdInstaller.nsi

+77-8
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
; HM NIS Edit Wizard helper defines
66
!define PRODUCT_NAME "Movies On The Run (MOTR)"
7-
!define PRODUCT_VERSION "1.46betaGit"
7+
!define PRODUCT_VERSION "1.9beta"
88
!define PRODUCT_PUBLISHER "Lars Werner"
99
!define PRODUCT_WEB_SITE "http://lars.werner.no/motrd/"
1010
!define PRODUCT_DIR_REGKEY "Software\MOTR\InstallerPath"
@@ -89,6 +89,9 @@ Function .onInit
8989
Quit
9090
${EndIf}
9191

92+
;Check which dot.net we have installed
93+
call CheckAndInstallDotNet
94+
9295
!insertmacro MUI_LANGDLL_DISPLAY
9396
!insertmacro INSTALLOPTIONS_EXTRACT "serviceinstaller.ini"
9497
!insertmacro INSTALLOPTIONS_EXTRACT "initialinstallation.ini"
@@ -149,6 +152,7 @@ Section -Post
149152
pop $1
150153
DetailPrint $1
151154
DetailPrint "Creating SSL certificate"
155+
152156
;Create certificate in the directory installed
153157
nsExec::ExecToStack '"$INSTDIR\MOTRd.exe" -CERT'
154158
pop $0
@@ -171,13 +175,13 @@ Section -Post
171175
;Creates a URL
172176
WriteIniStr "$INSTDIR\Links\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}"
173177

174-
CreateShortCut "${PRODUCT_STARTMENU}\Movies On The Run (console mode).lnk" "$INSTDIR\MOTRd.exe" "" "$INSTDIR\MOTRd.exe" 0
175-
176-
CreateShortCut "${PRODUCT_STARTMENU}\Scripts.lnk" "${PRODUCT_SCRIPTS}" "" "${PRODUCT_SCRIPTS}" 0
177-
178-
CreateShortCut "${PRODUCT_STARTMENU}\Visit MOTR online.lnk" "$INSTDIR\Links\${PRODUCT_NAME}.url" "" "$INSTDIR\link.ico" 0
179-
CreateShortCut "${PRODUCT_STARTMENU}\InstallerLicense.lnk" "$INSTDIR\InstallerLicense.txt" "" "$INSTDIR\InstallerLicense.txt" 0
180-
CreateShortCut "${PRODUCT_STARTMENU}\Uninstall.lnk" "$INSTDIR\Uninstaller-MOTR.exe" "" "$INSTDIR\Uninstaller-MOTR.exe" 0
178+
;Create start menu items
179+
CreateShortCut "${PRODUCT_STARTMENU}\Domain certification.lnk" "${PRODUCT_SCRIPTS}\domaincert.bat" "" "${PRODUCT_SCRIPTS}\domaincert.bat" 0
180+
CreateShortCut "${PRODUCT_STARTMENU}\Movies On The Run (console mode).lnk" "$INSTDIR\MOTRd.exe" "" "$INSTDIR\MOTRd.exe" 0
181+
CreateShortCut "${PRODUCT_STARTMENU}\InstallerLicense.lnk" "$INSTDIR\InstallerLicense.txt" "" "$INSTDIR\InstallerLicense.txt" 0
182+
CreateShortCut "${PRODUCT_STARTMENU}\Scripts.lnk" "${PRODUCT_SCRIPTS}" "" "${PRODUCT_SCRIPTS}" 0
183+
CreateShortCut "${PRODUCT_STARTMENU}\Visit MOTR online.lnk" "$INSTDIR\Links\${PRODUCT_NAME}.url" "" "$INSTDIR\link.ico" 0
184+
CreateShortCut "${PRODUCT_STARTMENU}\Uninstall.lnk" "$INSTDIR\Uninstaller-MOTR.exe" "" "$INSTDIR\Uninstaller-MOTR.exe" 0
181185
SectionEnd
182186

183187

@@ -275,6 +279,7 @@ Function ServiceInstallerPost
275279
;Create the bat-scripts needed
276280
call CreateServiceInstallerBat
277281
call CreateServiceUnInstallerBat
282+
call CreateCertDomainBat
278283

279284
;Check if the port selected is available
280285
${If} ${TCPPortOpen} $R1
@@ -439,4 +444,68 @@ Function CreateServiceUnInstallerBat
439444
FileClose $0
440445
FunctionEnd
441446

447+
448+
Function CreateCertDomainBat
449+
FileOpen $0 "${PRODUCT_SCRIPTS}\domaincert.bat" "w"
450+
FileWrite $0 "@ECHO OFF$\r$\n"
451+
FileWrite $0 "REM Check if command prompt is elevated$\r$\n"
452+
FileWrite $0 "net session >nul 2>&1$\r$\n"
453+
FileWrite $0 "if %errorLevel% == 0 ($\r$\n"
454+
FileWrite $0 " goto STARTING$\r$\n"
455+
FileWrite $0 ") else ($\r$\n"
456+
FileWrite $0 " ECHO Warning: This script needs to be runned as administrator.$\r$\n"
457+
FileWrite $0 " pause$\r$\n"
458+
FileWrite $0 " goto THEEND$\r$\n"
459+
FileWrite $0 ")$\r$\n"
460+
FileWrite $0 ":STARTING$\r$\n"
461+
FileWrite $0 "cd $\"${PRODUCT_INSTALLDIRECTORY}$\"$\r$\n"
462+
FileWrite $0 "ECHO Please enter top-level domainname.$\r$\n"
463+
FileWrite $0 "ECHO Example: site.com$\r$\n"
464+
FileWrite $0 "ECHO (Do not enter sub domains like motr.site.com)$\r$\n"
465+
FileWrite $0 "ping 127.0.0.1 -n 5 -w 2000 >nul$\r$\n"
466+
FileWrite $0 "ECHO. $\r$\n"
467+
FileWrite $0 "ECHO Please stop MOTRd before you proceed to gain access to keyfile$\r$\n"
468+
FileWrite $0 "ping 127.0.0.1 -n 5 -w 2000 >nul$\r$\n"
469+
FileWrite $0 "ECHO. $\r$\n"
470+
FileWrite $0 "ECHO Enter domain and press ENTER to continue or CTRL+C to abort$\r$\n"
471+
FileWrite $0 "ECHO. $\r$\n"
472+
FileWrite $0 "set /p id=$\"Domain: $\"$\r$\n"
473+
FileWrite $0 "MOTRd.exe -CERT %id%$\r$\n"
474+
FileWrite $0 "ECHO. $\r$\n"
475+
FileWrite $0 "ECHO Please restart MOTRd if the cert-file creation was OK$\r$\n"
476+
FileWrite $0 "pause$\r$\n"
477+
FileWrite $0 ":THEEND$\r$\n"
478+
FileWrite $0 "exit$\r$\n"
479+
FileClose $0
480+
FunctionEnd
481+
482+
483+
Function CheckAndInstallDotNet
484+
; Magic numbers from http://msdn.microsoft.com/en-us/library/ee942965.aspx
485+
ClearErrors
486+
ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full" "Release"
487+
488+
IfErrors NotDetected
489+
490+
; 4.7.2 on all Windows version that support it
491+
${If} $0 >= 461814
492+
493+
DetailPrint "Microsoft .NET Framework 4.7.2 is installed ($0)"
494+
${Else}
495+
NotDetected:
496+
DetailPrint "Installing Microsoft .NET Framework 4.7.2"
497+
SetDetailsPrint listonly
498+
ExecWait '"$INSTDIR\Tools\dotNetFx45_Full_setup.exe" /passive /norestart' $0
499+
${If} $0 == 3010
500+
${OrIf} $0 == 1641
501+
DetailPrint "Microsoft .NET Framework 4.7.2 installer requested reboot"
502+
SetRebootFlag true
503+
${EndIf}
504+
SetDetailsPrint lastused
505+
DetailPrint "Microsoft .NET Framework 4.7.2 installer returned $0"
506+
${EndIf}
507+
508+
FunctionEnd
509+
510+
442511
;-------------- END BAT SCRIPTS

Installer/PackfilestoZip.bat

+4-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
REM Start with the MOTRd files
44
set archivename="MOTRd.zip"
5-
set sourcepath="C:\Source\MOTRd"
5+
set sourcepath="C:\Users\Large\source\repos\MOTRd"
66
set sourcepathbin="%sourcepath%\MOTRd\bin\Release\"
77
set sourcepathmime="%sourcepath%\WebSockets\"
88
set zipfile=7za.exe a -tzip -bd -bb0 "%archivename%"
@@ -32,8 +32,8 @@ del /S %archivename2%
3232
REM Copy the Android installfile motr.apk to the webfiles
3333
mkdir %sourcepath2%\android
3434
del /S %sourcepath2%\android\motr.apk
35-
set sourcepath3=C:\Source\MOTRApp\MOTRApp\MOTRApp.Android\bin\Release
36-
copy %sourcepath3%\Lars.Werner.MOTR-Signed.apk %sourcepath2%\android\motr.apk
35+
set sourcepath3=C:\Users\Large\source\repos\MOTRApp\MOTRApp\MOTRApp.Android\bin\Release
36+
copy %sourcepath3%\com.larswerner.motr-Signed.apk %sourcepath2%\android\motr.apk
3737

3838
REM Copy all the webfiles
3939
mkdir WebFiles
@@ -46,4 +46,5 @@ REM Now launch the NSIS installer
4646
"C:\Program Files (x86)\NSIS\Bin\makensis" MOTRdInstaller.nsi
4747
del /S %archivename%
4848
del /S %archivename2%
49+
pause
4950
exit

Kodi/script.motr/addon.xml

+10-9
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
2-
<addon id="script.motr" name="Movies On The Run" version="0.2.6" provider-name="Lars Werner">
2+
<addon id="script.motr" name="Movies On The Run" version="19.0.2" provider-name="Lars Werner">
33
<requires>
4-
<import addon="xbmc.python" version="2.25.0"/>
4+
<import addon="xbmc.python" version="3.0.0"/>
55
</requires>
66
<extension point="xbmc.python.script" library="main.py">
7-
<provides>executable</provides>
7+
<provides>video</provides>
88
</extension>
99
<extension point="xbmc.addon.metadata">
10-
<summary lang="en_GB">Kodi client for connecting to your MOTR server.
10+
<summary lang="en_GB">Updated for Kodi Matrix!
11+
Kodi client for connecting to your MOTR server.
1112
Convert, stream or download your movies in Kodi on the go.
1213

1314
Remember queue is common for all users, hold the line.
1415

15-
Plug-in has been tested with Android, Nvidia Shield, Linux/OpenElec and Windows. Please inform me if it works on a Mac :)</summary>
16+
Plug-in has been tested with Android, Nvidia Shield, Linux/OpenElec, Mac and Windows.</summary>
1617
<description lang="en_GB"></description>
1718
<language>en</language>
1819
<platform>all</platform>
@@ -21,14 +22,14 @@ Plug-in has been tested with Android, Nvidia Shield, Linux/OpenElec and Windows.
2122
<website>www.motr.pw</website>
2223
<source>www.motr.pw</source>
2324
<email>[email protected]</email>
24-
<news>Soon to be a RC?</news>
25+
<news>Support for 19.0 Matrix, now a Video-plugin</news>
2526
<disclaimer>Session, username and password are stored in clear text in Kodi, use other clients for security</disclaimer>
2627
<assets>
2728
<icon>icon.png</icon>
2829
<fanart>fanart.jpg</fanart>
29-
<screenshot>screenshot1.jpg</screenshot>
30-
<screenshot>screenshot2.jpg</screenshot>
31-
<screenshot>screenshot3.jpg</screenshot>
30+
<screenshot>screenshot-1.jpg</screenshot>
31+
<screenshot>screenshot-2.jpg</screenshot>
32+
<screenshot>screenshot-3.jpg</screenshot>
3233
</assets>
3334
</extension>
3435
</addon>

Kodi/script.motr/resources/lib/kodiutils.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def dialogyesno(header, line1, line2='', line3=''):
2323
return xbmcgui.Dialog().yesno(header, line1, line2, line3) #True on yes
2424

2525
def dialogokerror(line1, line2='', line3=''):
26-
xbmcgui.Dialog().ok(__lang__(30101), line1, line2, line3)
26+
xbmcgui.Dialog().ok(__lang__(30101), line1 + "[CR]" + line2 + "[CR]" + line3)
2727

2828
def dialogstreamordownload(header):
2929
return xbmcgui.Dialog().select(header, [__lang__(30102), __lang__(30114), __lang__(30103), __lang__(30007)])
@@ -44,7 +44,7 @@ def show_settings():
4444
ADDON.openSettings()
4545

4646
def get_setting(setting):
47-
return ADDON.getSetting(setting).strip().decode('utf-8')
47+
return ADDON.getSetting(setting).strip()
4848

4949
def set_setting(setting, value):
5050
ADDON.setSetting(setting, str(value))
@@ -65,5 +65,5 @@ def get_setting_as_int(setting):
6565
return 0
6666

6767
def get_string(string_id):
68-
return ADDON.getLocalizedString(string_id).encode('utf-8', 'ignore')
68+
return ADDON.getLocalizedString(string_id)
6969

Kodi/script.motr/resources/lib/motrconvertdialog.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
from __future__ import unicode_literals
33

44
from traceback import print_exc
5-
import os, sys, re, socket, urllib, urllib2, unicodedata, threading, time
5+
import os, sys, re, socket, urllib, unicodedata, threading, time
66
from resources.lib import kodiutils
77
#from resources.lib import kodilogging
88
import logging
@@ -202,7 +202,7 @@ def __init__(self, *args, **kwargs):
202202
#print( '{0} = {1}'.format(name, value))
203203

204204
def onInit(self):
205-
print "Dialog init"
205+
print("Dialog init")
206206
self.AddProfiles()
207207
self.SetFilename("") #No profile selected at startup
208208

@@ -229,7 +229,7 @@ def onClick(self, controlID):
229229
self.CheckIfValidProfile(0) #Cancel
230230

231231
def CheckIfValidProfile(self, nReturn):
232-
if len(self.sProfile) == 0 and nReturn is not 0:
232+
if len(self.sProfile) == 0 and nReturn != 0:
233233
kodiutils.dialogokerror(__lang__(30300), __lang__(30301))
234234
return
235235
self.nReturnStatus = nReturn

Kodi/script.motr/resources/lib/motrwebsocket.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
import xbmc, xbmcaddon
22
from resources.lib import kodiutils
33

4-
import ws4py
5-
from ws4py.client.threadedclient import WebSocketClient
4+
from .ws4py import *
5+
from .ws4py.client.threadedclient import WebSocketClient
66

77
import sys
88
import threading

0 commit comments

Comments
 (0)