-
Notifications
You must be signed in to change notification settings - Fork 4
/
configure_client.bat
169 lines (159 loc) · 9.62 KB
/
configure_client.bat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
@ECHO OFF
TITLE configure_client
ECHO Configuring Zwift client to use zoffline
ECHO.
NET SESSION >nul 2>&1 || ( PowerShell start -verb runas '"%~0"' & EXIT /B )
CD /D "%~dp0"
SET HOSTS="%WINDIR%\system32\drivers\etc\hosts"
COPY %HOSTS% %HOSTS%.bak >nul
TYPE %HOSTS%.bak | FINDSTR /V /I zwift > %HOSTS%
ECHO Adding servers to hosts file
ECHO 127.0.0.1 us-or-rly101.zwift.com secure.zwift.com cdn.zwift.com launcher.zwift.com>>%HOSTS%
ECHO.
certutil.exe -store Root | FIND /C /I "54f7f293407370a07679885767e5bd599458e471" >nul 2>&1
IF %ERRORLEVEL% NEQ 0 (
ECHO Importing certificate
(
ECHO -----BEGIN CERTIFICATE-----
ECHO MIIK/QIBAzCCCsMGCSqGSIb3DQEHAaCCCrQEggqwMIIKrDCCBOcGCSqGSIb3DQEH
ECHO BqCCBNgwggTUAgEAMIIEzQYJKoZIhvcNAQcBMBwGCiqGSIb3DQEMAQYwDgQIY6PJ
ECHO vb+86aMCAggAgIIEoCQbnzNfXivoA8tNaMbaHobG3XMGstm7ouyZIvk0Ohd/j//N
ECHO bT/QaGXKT/961E9WOewkprtpAmZOP7LGF52INGlGI4hi4Nz385vXURIag0Dcpi+u
ECHO 12LTF0HIv2Lnma8y9zljjQfN7g23b5plxgXu/JWeT421/agArsnE6zB5p/m8HjPB
ECHO IaaaN8ird5IKAEfYY7dRyEFmr+7QuEqorK4ebjpaXbK4/C79Imtmg1rdv31uUb9C
ECHO bSOfsXSfu5kloL1e1onAaSrokNPQ2zr14xU8QYhhXYG+0/NphrqJOV8uomisx18K
ECHO AJ1nZJE8BlwpnISzQeHEJ21js+QOWJrusDFI9AO6+wP2ojPRv+UI5dZYN19McO7b
ECHO PqNS8DJ6zTfQgSOTs/3D1Gh9prIciC915ifJoEbCCrwHFhUXcp/3K+pQEHODqhFb
ECHO EJ5xzvJjgpEMAxdYxmfqctTZSZyUb0SqAwMYfIXnWTWXIuow1Ffmmy/qCI49sZIo
ECHO MyaE9VCpXTOFxEp/BeIeor5PBd/MqNPGaJwGo7ZuUdBgengHqOJzCbQ0JDF8HSmL
ECHO hi78eHoC6qf6vkYNYM0cBvuX46mCHbVaMdWQwKcVwhVHLKcxjyvT/B0kpWVWiGX8
ECHO Ol86k9+VO/kMzZkCGA2r01T0SVj04SZJ1jizqRZKEuUOF1pm9mRuHhgKAfNNMcKi
ECHO UvQ71HWCKMEKu1I9gau++GHCgztC6rGnKLNOIUaix9o7To1EKBVA352pJTJ5weav
ECHO HonRB0oroxdMfPQ/LanbYvsxpgkiwq/9mxsPTNfZZGuPgOyptXu6AYGVbUN47Wwf
ECHO jzHFnHcTyuyZMOsCZ/3SgICwQCNNc8sbamAu1e60KVsc8H4ttpAgxcEL4ssz1qPG
ECHO xFBqWJQm5HshzZ+3mYPz/G5b1BcvniMsWDZQcm5TlpyNVd+LvCPSEFER8SBXl0P6
ECHO E6aUyVqLCdoR3oaQSyTgIxKRSbOM0PNX2m5kquWusbfdl+QdsK1iuY0hEd6hqXQ4
ECHO +Sa1xXhKUCWgzol8FcQduLriw6SpnBk/toqRSzcDZzqNSQAuOKIm6qlvmwn4FLYT
ECHO UlRuwAzB4qX04hdtSR15LUANVWI9Dp85FaZjIoa+Fdf55kQuBlgBKJ50kzDSwJxa
ECHO y2EsLS5L+3cqhb/7Px2yDgCpbEDB0/ildwhJiHd6Co/JbQMCpIsN70qHrFuvlmSy
ECHO XTx46Fg5uixNCZnoH88h7irDTtdOBL84D32WIZPSQBVHv+ffOmqudJm9kC/k2OHV
ECHO vy3FXsxC+6swOro25A02pEcKRmfStRfxpiq8/RsftpsWlFdCsZ8gOtfhDKfS8fSN
ECHO OGo1MUWGAbL2OQfsAKNGQzNRdjxJENMc7fyZJYOrYw9gmDJSZqU5II9Y8yabgHWS
ECHO T14jRZXemBkoo1AtE9cAq0wUv0hWz8QAVzwXYBw87zhxMtIeZHZIbNKLKyTEW9AK
ECHO EX3wBHLbvN09ikZ6OBWFxKPw2SyJE3wsJcNXbQihNZJCZCslOLxrrSikC03XI1mT
ECHO mwgnlmqFuOXDr6Vt4ec2Z0a8FZLZK6rlmmo9SI6wPjGZtkNVU8NA40yQO904MIIF
ECHO vQYJKoZIhvcNAQcBoIIFrgSCBaowggWmMIIFogYLKoZIhvcNAQwKAQKgggTuMIIE
ECHO 6jAcBgoqhkiG9w0BDAEDMA4ECMiTbXZ/qCvdAgIIAASCBMh+f1Rq5A8s910Bjhhz
ECHO MQaBM9Q9KOwkJL2+slx9h3BCxBENRqVgIhCTKsibpuDecbFHJakJ1RY7msjZaHAR
ECHO e6Ib4Tso0MgVXRNBMarSLSEb1ePLcm1nfk3o5Z8lKtlZ10097URcvan1SrYBASgz
ECHO EFcj8Sv6vD27YkC2snbGLxr9aTMg6slvFLHrQ9lVWnK77jejNc/8ZF1FgwpD1l5I
ECHO sQbosEL/4xCX8GGUxAulIzn8LuZCCqZwJHpsBOApXfpRJOejeq6qGCDkmgrJm3AL
ECHO 5PI4IJBS5diNtht+jii4Ht4s/mVb+f9p6ENVOwqfgJADA3cw0H8uvFdhVAZjp3nw
ECHO VAeKkZc/D0ExvQrjqMUK5c8q9lhql0E+2Pu9C694NxP8dl9jK44z8EIPpUw54rou
ECHO CaCzqqB6mYgWzwNoHQrhfDYaiB0bSjt+DV5Yb3WN40Y6I9/sxen/BF37SjYh3A86
ECHO XxhaEyrHo0MWIp/FbUvCBBWFYpP2s7KzluO2Gz3YepjQTbmDea+Gfds1yKTFdXY8
ECHO ocr6evqBXFhFeRL4+vrhzCiu8MUHN4F+lLzwWqkXtHnk09RDaiojUYAYHYXnF8cR
ECHO NaOKdZ+Q9bLL1XHoeQHHuc4UP3PvE4y0tqgbYEJX2HGtmL1prsqPiwTPv4kFBKjr
ECHO x6Beqf2TMVQHVfJKmH4gxJYjsL6cwDGza6YL9YzEVqiBQju4gsxmRuDZNrly/p83
ECHO iWzpRomDC2PIyD0zODHDaIceDoS3/CEu2i3X5IlNZEJ3Xve4hiBUHJIQZ/LVjmN2
ECHO 5SOl09FNQ5zCbbynfEZT4RZ61O8+JJqOvWDAKKqAT/J23XdmV8l6ykPPfFrJHGYB
ECHO 8P65zy9ukQ1Dp6bDRWJBs1+UseVfSufTcflr0dzPZH2AiX5XyyL6sFzdCCAvmDUU
ECHO D5YD9CY6G5+6/g+1lefVsCIYPYtip0EG7FKnMGzYWsx4lhW/S3wBPhY9N09owhVd
ECHO qD/xW4FyTIJbUY+wuo4h2RQOKu8AxOp3DY0BzOyY29Hv+Drh09J+1xZs5vooVKum
ECHO E/0oYwG84OMpCvQBPZO8XZ5rw7gOnhFj5A21LKI6ghtKgB9TDmAEaKTKPHmj4kJL
ECHO TMqjZIPzzwtR0XXsRND6OVQbi1aIYCjjaHs6+OUAB6h4VeKv2MTcl7QtIn6cv2Ik
ECHO k5O9Rt6ukrjU7z6dy3evQVDoUKMEohda+OXwcKyTWk+/n0bqt9uqEVZKhbaleg05
ECHO 96bEoedUXl/8YHaQQwc2+oiXERkaFAayqgxbn+dM+bWZ3dWahmI83IF0M+O6RT+k
ECHO XdQoJodYm/rlAd6QJ/UcKXPqP769Z5girD55tv/xhF1iYPU5wY8+WmERiz8P9XGE
ECHO ih5RcEY7JQB9kEPGvaJv1xEW0kCFakRC3V0Z3HsqW0XjV6d1SfJ1VK7Fkhu4amEO
ECHO yC9WRAPjqwNSpBqwLGzp8xsNWzknip9lcHjjsjyrbaAhOTtSiNA9DsHGi0adtxoo
ECHO oWNv3bw2WdyCPhewhDLbAVUVL2dFhLznoaz0G89+kNKQVsIem7ANxKZjqAzpN2p5
ECHO 9oxVpMA0b3o/S51L40WhBoU6VygvX0ThQ/tdnFc4GJBTsGIEChf1U/bafHlAN4m3
ECHO dV3JZLnMwr3yRtAxgaAwIwYJKoZIhvcNAQkVMRYEFJ/4v2OquLIbakW67GEqbbZT
ECHO HN6IMHkGCSsGAQQBgjcRATFsHmoATQBpAGMAcgBvAHMAbwBmAHQAIABFAG4AaABh
ECHO AG4AYwBlAGQAIABSAFMAQQAgAGEAbgBkACAAQQBFAFMAIABDAHIAeQBwAHQAbwBn
ECHO AHIAYQBwAGgAaQBjACAAUAByAG8AdgBpAGQAZQByMDEwITAJBgUrDgMCGgUABBRY
ECHO wC0BH1M4q6B4EMZNfhWa1kz8PAQIaQoA0Y9lFm4CAggA
ECHO -----END CERTIFICATE-----
)>cert-zwift-com.tmp
certutil.exe -decode cert-zwift-com.tmp cert-zwift-com.p12 >nul
DEL cert-zwift-com.tmp
ECHO.|certutil.exe -importpfx Root cert-zwift-com.p12
DEL cert-zwift-com.p12
) ELSE ( ECHO Certificate found in root store, no changes will be made )
ECHO.
SET ZWIFT=zwift_location.txt
IF EXIST %ZWIFT% ( SET /P FOLDER=<%ZWIFT%
) ELSE ( SET FOLDER="%SystemDrive%\Program Files (x86)\Zwift")
SET CACERT=%FOLDER%\data\cacert.pem
IF EXIST %CACERT% GOTO:FOUND
:NOT_FOUND
SET COMMAND="(new-object -COM 'Shell.Application').BrowseForFolder(0,'Please locate Zwift folder',0,0).self.path"
FOR /F "usebackq delims=" %%I IN (`PowerShell %COMMAND%`) DO SET FOLDER="%%I"
SET CACERT=%FOLDER%\data\cacert.pem
IF NOT EXIST %CACERT% GOTO:NOT_FOUND
ECHO %FOLDER%>%ZWIFT%
:FOUND
>nul 2>&1 FIND /C "MIIEQTCCAymgAwIBAgIUVPfyk0BzcKB2eYhXZ+W9WZRY5HEwDQYJKoZIhvcNAQEL" %CACERT%
IF %ERRORLEVEL% NEQ 0 (
ECHO Adding certificate to cacert.pem
(
ECHO.
ECHO -----BEGIN PRIVATE KEY-----
ECHO MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDmmdIPj0YJfQfU
ECHO Hi1ox3X4XvbkZV09dYJ65+jcOlajD+yLLC7FEsRr4l3poIpHpElCXMN33xVPAP8s
ECHO oLMw14Z86BzKFxh3mHMldSTQoSNUEvPmZsmOOj306Y2B9kDZYm5i1enOZAzrljPb
ECHO QwZ80/7QlilnPRfv7xP4eUzqpjjUtwbVu/0TylX5X6LniGuylNfk5wn+Fxsck5C4
ECHO PKUc6VdeOnhVYAN6wwQxbXnQeg5T4FZN6z0tuhtXDQinNtd3F+NMazGup6YZxi5C
ECHO +KU+6MXIqyh16iOwyN0UDrj2jiIchV62uJ11mLW6n9zSXH002Z5pn5DGGtA116WT
ECHO G2FtbxnjAgMBAAECggEAMXYi2VWI1zYrPLMwWD4YLqrn1/tp8WnID+a4Sqx0sssS
ECHO mJNkgL7SxLUsIZVes5koYYSWJJsD7gsvsHnTlZFU9muu6SXlCJn5cLpcqCc39auP
ECHO BwdbChex/FswEAUqybXUKXzqhmttXga8nrYUqSeriz/6J3uyK7OjG/OgrN/0ZqNn
ECHO J6c4SMXoWQeC+Ap5netzzjDgxUtQ5U6TlHvafkM/LGLZO2Vm4qynpT2Wb9be+gNW
ECHO 7AcUCFzqIwlKBY6KWaFkmZ2QfG1uUm9aQATHn/5vabQYbTONbJTMl+4ApY+dGjDJ
ECHO ss+ISCyYDc/UdJgeGDwZfhhf1L0kvUHc0eVwZ6V5WQKBgQD0NHeOaun5cm1YarNK
ECHO g9VuKcPHJ2lCqJcHFWzekiN0iegKTIiNsdD86h5iUz0keK64LOCcRknsFBaqhlyM
ECHO 7Tk5wguGHpjIQcelxzCBwyhi2NjV/cI3j+pps3jYrvPVFP9aqDhCfTmc1e+9MIZH
ECHO AsWEBZH652mlo+1w2CMJ6pjTBwKBgQDxvSR0MjTTET9mFhfO8z/PP6/yNn0STMSz
ECHO +g4rNqiTYQYvWIrIxg7jUAcuHlBLQPj2cs+7MYrDr84ee1FJiKd+x5RtXtDFCsF+
ECHO Yza+cyLnVRY7D+UluqlcXOCtwCPujSTN9ReQdoHN6K2tqA3/2IwDVNlNJiebCY3M
ECHO kIhMfdS/RQKBgCgik1+pvKiNoOD+MFdX0XUYkh+iH4+gC6pTYCA4XnFh1OwUZgD7
ECHO r4BRrgq06YCcAQMuBQBKIQ4Wwx7llEJpHpWaibBSSQPoo7pgQV2iSHnub7zDxu7A
ECHO zWLv5zWdk1964vjwWsa6tARNuOgcGIWFNBcdnz9gVyGtDnIUY7XWg6VzAoGBAMiv
ECHO VD8emxoKfI58kuFcscGVRrUXJTf3AWnEktSvOL25U5Akunq5agyuGHfh9Ji05Lp8
ECHO UBZAp8mS/tPxXmdkimDGwWMWzsx2BHKvXPg4z2YrDhyUMpDi6Mzj0iaMl4foJwDQ
ECHO kvJ8X4CYxO6g0JZwqLPvUcMphMHB6bVE29JcuCzdAoGBALY0epEYNARqmhYdILrd
ECHO eK2e0c24dsY7XiLnMxGUY7RhLp4pTpy6bvlI2GN84DB/yTMTrxGE7e+om5LTW5at
ECHO UANwOx+nZ9oDF43mMDqgT22Q+KBgr19Ei4jT+/zzn3GXaNWGaTO08tKCa+pw2g5E
ECHO NUacoS2LNYc1/oucAs94qgBT
ECHO -----END PRIVATE KEY-----
ECHO -----BEGIN CERTIFICATE-----
ECHO MIIEQTCCAymgAwIBAgIUVPfyk0BzcKB2eYhXZ+W9WZRY5HEwDQYJKoZIhvcNAQEL
ECHO BQAweTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQHDApMb25nIEJl
ECHO YWNoMQ4wDAYDVQQKDAVad2lmdDEUMBIGA1UEAwwLKi56d2lmdC5jb20xIjAgBgkq
ECHO hkiG9w0BCQEWE3dlYm1hc3RlckB6d2lmdC5jb20wHhcNMjIwMTEyMjIwMDI5WhcN
ECHO MzIwMTEwMjIwMDI5WjB5MQswCQYDVQQGEwJVUzELMAkGA1UECAwCQ0ExEzARBgNV
ECHO BAcMCkxvbmcgQmVhY2gxDjAMBgNVBAoMBVp3aWZ0MRQwEgYDVQQDDAsqLnp3aWZ0
ECHO LmNvbTEiMCAGCSqGSIb3DQEJARYTd2VibWFzdGVyQHp3aWZ0LmNvbTCCASIwDQYJ
ECHO KoZIhvcNAQEBBQADggEPADCCAQoCggEBAOaZ0g+PRgl9B9QeLWjHdfhe9uRlXT11
ECHO gnrn6Nw6VqMP7IssLsUSxGviXemgikekSUJcw3ffFU8A/yygszDXhnzoHMoXGHeY
ECHO cyV1JNChI1QS8+ZmyY46PfTpjYH2QNlibmLV6c5kDOuWM9tDBnzT/tCWKWc9F+/v
ECHO E/h5TOqmONS3BtW7/RPKVflfoueIa7KU1+TnCf4XGxyTkLg8pRzpV146eFVgA3rD
ECHO BDFtedB6DlPgVk3rPS26G1cNCKc213cX40xrMa6nphnGLkL4pT7oxcirKHXqI7DI
ECHO 3RQOuPaOIhyFXra4nXWYtbqf3NJcfTTZnmmfkMYa0DXXpZMbYW1vGeMCAwEAAaOB
ECHO wDCBvTAdBgNVHQ4EFgQUilrTM6VVDhGPOMkGaiBRBpanbYYwHwYDVR0jBBgwFoAU
ECHO ilrTM6VVDhGPOMkGaiBRBpanbYYwCQYDVR0TBAIwADALBgNVHQ8EBAMCBeAwHQYD
ECHO VR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMDMBYGA1UdEQQPMA2CCyouendpZnQu
ECHO Y29tMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVyYXRlZCBDZXJ0aWZpY2F0
ECHO ZTANBgkqhkiG9w0BAQsFAAOCAQEA0B5lBps3UfixLFUWchEOOgU/bIl6AVr7bfgY
ECHO tqJBv4r6aJi7OhLNx4iz+QszJpU5gePnYWJEvvuLo8FQMB9/4ZbD/Z5kM31I6khB
ECHO OO6SvpGIjr8I576/ICCv8kv3A9pbjwgdIwkcHssjG03+hLU9j7Z1meep2pHRAYOe
ECHO tajt/3ZS2isijJZHPPl5O0ObiE2n5G4+IHbaWhVR4lk85YuKrhrTeBBOHAX4YIhv
ECHO ScDddr3aEIPguMwvbMDiBPnRewAFNCiUVpe9XuLX7thIbz23UxA8mB2lG4U9URd6
ECHO CqZGFc8ss1RMWFYOZfjDam37wbQAw55h8QxsSu3jijMSy/75Sg==
ECHO -----END CERTIFICATE-----
)>>%CACERT%
) ELSE ( ECHO Certificate found in cacert.pem, no changes will be made )
ECHO.
TASKKILL /F /IM ZwiftLauncher.exe >nul 2>&1
PAUSE