07th-mod / 07th-mod/python-patcher
Add workaround for occasional SSL errors
- Dominant language
- JavaScript
- Stars
- 214
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
We occasionally get users who cannot download using our installer using Aria2c, with a
`SSL/TLS handshake failure: Error: The revocation function was unable to check revocation because the revocation server was offline.`
Most recently, a Windows user reported this issue, who had no problem with installing ch1-3, but only on ch4 had this issue. Interestingly the installer will only show a warning on startup, despite not being able to download from the https of 07th-mod server, and startup will take a very long time. But the installer will still continue anyway.
See https://07th-mod.com/wiki/Installer/faq/#download-or-init-stage-fails-i-get-a-ssltls-handshake-failure-from-aria2c for more details
Usually, they can still download via their browser (and I'm unsure as to why).
There are a couple of workarounds for this:
- Implement https://github.com/07th-mod/python-patcher/issues/188 - download manually, but install automatically option, then let the user manually download all the files.
- The downside of this option is the user still needs to manually manage/download all the files
- Add an option to disable SSL (transform all https:// links to http://). This is already done for the 'query' stage on MacOS to bypass some MacOS SSL errors on old MacOS, but not for the actual download portion to ensure the download is still secure.
- This is generally a *bad idea* but still an option.
- Use a different download tool than Aria2c/add different tool as fallback
- From memory, this issue only affects Aria2c and not other download tools, but I would need to verify this
Contributor guide
No contributing guide indexed for this repository
Research direction
Look at the download logic in the installer, likely in a file handling aria2c calls. The issue mentions an existing SSL bypass for queries on macOS; find that code to understand the pattern. Check how URLs are transformed and where aria2c is invoked. Testing will require simulating SSL errors or checking with users who encounter them.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, python
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100