123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- @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
|