doc: documentation updates for torPrivacyLevel as well as multiple other important user safety and privacy areas of code. #290
Open
scramblr wants to merge 2 commits intofeather-wallet:masterfrom
Conversation
Add comments to the PrivacyLevel enum in config.h and the Tor settings block in config.cpp explaining the three privacy levels and the initSyncThreshold setting.
Document the following previously-undocumented behaviors: - Whonix/Tails/torsocks auto-detection and its effects on Tor daemon management and connection checking - TorManager restart limit (max 4 attempts) and silent failure mode - Automatic clearnet-to-onion reconnection on wallet refresh during allTorExceptInitSync mode - torOnlyAllowOnion overriding torPrivacyLevel regardless of setting - Dual port architecture: managed Tor on 19450 vs system Tor on 9050 - Proxy address selection logic in connectToNode() - Fixed misleading comment in useSocks5Proxy()
Author
|
Documentation is always the most annoying and hard to do part of any project, so.. since I saw that there was zero documentation for one of the settings in settings.json I figured I might as well go through the project and find the most critical things that needed to be documented/fixed that related to user safety and privacy. Hope this helps. Peace! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Document previously-undocumented Tor subsystem behaviors:
PrivacyLevelenum inconfig.hexplaining each value and its effect on node traffic routingtorPrivacyLevel,torOnlyAllowOnion,socks5Port,torManagedPort,useLocalTor, andinitSyncThresholdsettings.json keys inconfig.cppwhonix.h,whonix.cpp,tails.h)TorManager.h,TorManager.cpp)checkConnection()priority order (6 code paths) andshouldStartTorDaemon()return conditionsstateChanged()auto-restart behavior after Tor crashonWalletRefreshed()useOnionNodes()full decision tree includingtorOnlyAllowOnionoverrideconnectToNode()useSocks5Proxy()This addresses the MAINTENANCE.md goal of documenting default settings.
Companion PR: feather-wallet/feather-docs#18
Test plan