Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Promoting the Snowflake extension in Brave #25315

Closed
fmarier opened this issue Sep 9, 2022 · 4 comments · Fixed by brave/brave-core#15907
Closed

Promoting the Snowflake extension in Brave #25315

fmarier opened this issue Sep 9, 2022 · 4 comments · Fixed by brave/brave-core#15907

Comments

@fmarier
Copy link
Member

fmarier commented Sep 9, 2022

Now that Brave has support for Tor bridges, we should try to help build bridge network capacity by making it easy for users to run the Snowflake extension.

There is a detailed spec for this, but the basic idea is a new toggle in the _Tor windows* section of brave://settings/privacy:

Volunteer to help others connect to the Tor network [ OFF / on ]
Enable the Snowflake extension to allow users in censored countries to connect to the Tor network via your network connection. Learn more.

@LaurenWags
Copy link
Member

@fmarier @boocmp looked at the document in brave/brave-core#15907 (comment) but wasn't entirely clear on the test plan - some items are mentioned as optional, where they implemented? Document is still in draft status as well.

Any clarifications/additional information on what needs to be verified would be appreciated, thanks!

@fmarier
Copy link
Member Author

fmarier commented Dec 2, 2022

@LaurenWags I've updated the status of the doc (I completely forgot to change that, sorry!) and marked the optional section around the NTP notice as "not for MVP".

I've looked through the doc again and it should be a good reflection of what got implemented now.

@MadhaviSeelam
Copy link

MadhaviSeelam commented Dec 10, 2022

Verification PASSED using

Brave 1.47.121 Chromium: 108.0.5359.99 (Official Build) beta (64-bit)
Revision 410951fc34bb4b2cbf182231f9f779efaafaf682-refs/branch-heads/5359_71@{#9}
OS Windows 11 Version 21H2 (Build 22000.1219)
  • Install 1.47.121
  • launch Brave

Case 1: Brave toggle is Off as a default - PASSED

  1. open brave://settings/privacy in a new-tab
  2. clicked on Learn more link
  3. verified the link redirected to support page https://support.brave.com/hc/en-us/articles/9059440641421

Confirmed Volunteer to help others connect to the Tor network toggle is available with Off as a default

step 3 result
image image

Case 2: Snowflake extension UI - PASSED

  1. opened brave://settings/privacy in a new-tab
  2. enabled Volunteer to help others connect to the Tor network toggle
  3. verified Snowflake extension has been added to Brave with Snowflake has been added to Brave text
  4. clicked on extensions puzzle >>Snowflake
  5. popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  6. clicked Learn more link
  7. link redirected to https://snowflake.torproject.org/
step 1 step 2 step 4 step 5a step 5b step 7
image image image image image image
Light-1 Light-2 Light-3 Dark-1 Dark-2 Dark-3
image image image image image image

Case 3: Enable Brave toggle and enable Snowflake in the extension - PASSED

  1. opened brave://settings/privacy in a new-tab
  2. enabled Volunteer to help others connect to the Tor network toggle
  3. clicked on extensions puzzle>>Snowflake
  4. opened brave://extensions in a new-tab
  5. Snowflake extension is shown

Confirmed Snowflake extension is enabled and Brave toggle is enabled

step 2 step 3 step 4-5 result
image image image image

Case 4: Enable Brave toggle and disable Snowflake in the extension - PASSED

  1. continued from Case 3:
    • Snowflake extension is enabled
  2. clicked Snowflake in the Extensions popup
  3. disabled Snowflake Enabled toggle
  4. keep Brave toggle Volunteer to help... enabled
  5. visually Snowflake icon shown gray
  6. the text reads Snowflake is off

Confirmed Snowflake extension state shows disabled

step 1 step 3 step 4
image image image

Light mode

ex1 ex2 ex3
image image image

Case 5: If Snowflake extension is disabled, Brave toggle is disabled - PASSED

  1. new profile
  2. opened brave://settings/privacy
  3. enabled Volunteer to help others connect to the Tor network toggle
  4. enabled Snowflake extension
  5. opened brave://extensions
  6. toggled OFF on Snowflake extension card
  7. opened brave://settings/privacy

Confirmed Volunteer to help others connect to the Tor network toggle is disabled

step3 step 4 step 5 result
image image image image

Case 6: Remove Snowflake extension - PASSED

  1. opened brave://extensions
  2. clicked Remove for Snowflake extension
  3. clicked Remove
  4. opened brave://settings/privacy
  5. Volunteer to help... toggle is disabled

Confirmed Snowflake extension is removed

step 1-2 step 3 step 5 result
image image image image

Case 7 : Disconnect/Reconnect WiFi during Snowflake extension installation - PASSED

  1. New profile
  2. launch Brave
  3. opened brave://settings/privacy in a new-tab
  4. disconnected Wi-Fi quickly after enabling Volunteer to help others connect to the Tor network
  5. The Snowflake extension necessary... error message is rendered
  6. Brave toggle is disabled
  7. reconnected to Wi-Fi
  8. clicked OK on `error message
  9. enabled Brave toggle
  10. clicked Snowflake
  11. Snowflakeextension toggle showsEnabled`

Confirmed Snowflake bridge is successfully connected after disconnecting and reconnecting to WiFi

Ex1 Ex2 Ex3 Ex4 Ex5 Ex6
image image image image image image

Bonus points:
II. disconnect Wi-Fi (to let the extension download) and reconnect

  • enable Volunteer to help others connect to the Tor network
  • a second later, disconnected Wi-Fi (this enabled to download the extension)
  • close the popup Snowflake has been added to Brave
  • click Snowflake in the extension
  • Snowflake is off dialog is shown along with the gray icon Could not connect to the bridge error message
  • re-connect Wi-Fi
  • click Retry button
  • click on Snowflake
  • Snowflake toggle shows Enabled

Confirmed Snowflake is successfully connected after disconnecting and reconnecting to Wi-FI

ex1 ex2 ex3 ex4 ex5 ex6 ex7
image image image image image image image

Case 8: Verify HTTPS Connection - PASSED

Pre-req: Disable Snowflake connection in the Brave extensions

  1. Opened Charles
  2. clicked extensions puzzle>>Snowflake
  3. toggled Enabled for Snowflake extension
  4. observed the network connections to snowflake host https://snowflake-broker.freehaven.net

Confirmed traffic to the host snowflake-broker.freehaven.net

pre-req step 3 step 4
image image image

Case 9: User can independently install Snowflake extension (via Chrome webstore) - PASSED

  1. new profile
  2. launch Brave
  3. visit chrome webstore and search for snowflake
  4. clicked Add to Brave>>Add extension
  5. Snowflake extension is added
  6. clicked Extension puzzle>Snowflake
  7. Brave toggle is enabled in brave://settings/privacy

Confirmed Snowflake extension installed

step4 step5 step 6 step 7 result
image image image image image

Case 10: Upgrade - PASSED

  1. Install 1.46.141
  2. launch Brave
  3. renamed the profile Brave-Beta
  4. launch with 1.47.121
  5. opened brave://settings/privacy in a new-tab
  6. verified Volunteer to help others connect to the Tor network toggle is available with Off as a default
  7. enabled Volunteer to help others connect to the Tor network toggle
  8. confirmed Snowflake extension has been added to Brave with a popup Snowflake has been added to Brave text in the toolbar
  9. clicked on Extensions puzzle
  10. verified extensions popup displayed with the Snowflake extension shown
  11. clicked Snowflake to enable extension
  12. verified popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  13. opened brave://extensions in a new-tab
  14. Snowflake` extension is shown

Confirmed Snowflake extension is enabled and Brave toggle is enabled

step 1 step 4 step 6 step 7-8 step11 step 12 step 14
image image image image image image image

Case 11: Windows Group Policy - Failed

Encountered:

*#17609

Scenario 1: Modify Reg keys for TorDisabled - Failed

  1. Install 1.47.121
  2. launch Brave
  3. opened brave://settings/privacy in a new-tab
  4. enabled Volunteer to help others connect to the Tor network toggle
  5. clicked on Extensions puzzle>>Snowflake
  6. opened brave://extensions in a new-tab
  7. Snowflake extension is shown
  8. close the browser
  9. opened Registry Editor
  10. created BraveSoftware/Brave key under `HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Policies\
  11. create DWORD (32-bit) value named TorDisabled with value 1
  12. launch Brave
  13. open brave://policy
  14. confirmed TorDisabled is true
  15. open brave://settings/privacy
  16. click Extension puzzle>>Snowflake extension
  • Confirmed Volunteer to help others connect to the Tor Network toggle is Off and greyed out
  • Snowflake toggle was not disabled
step 4 step5 step 6 step 11 step 13-14 step 15 step 16
image image image image image image image

Scenario 2: Windows Group Policy templates for TorDisabled - Not implemented

  1. Install 1.47.121
  2. launch Brave
  3. open https://github.com/brave/brave-browser/releases/tag/v1.47.125
  4. click to download `policy_templates.zip file
  5. extract policy_templates.zip
  6. open Local Group Policy editor (Windows>>Run>>enter gpedit.msc>>OK)
  7. right click Administrative Templates under Computer Configuration
  8. clicked Add/Remove templates
  9. clicked Add
  10. go to Downloads > policy_templates > windows > adm > en-US > braveadm > open
  11. click close on Administrative Templates dialog
  12. click Local Group Policy Editor >> Administrative Templates
  13. expand `Classic Administrative Templates (ADM) >>Brave >> Brave
  14. verify TorDisabled setting in Content Settings

TorDisabled setting is not available as this is not implemented

image

Here is the thread: https://bravesoftware.slack.com/archives/C85NV6NSG/p1670860924727929?thread_ts=1670860444.950009&cid=C85NV6NSG](https://bravesoftware.slack.com/archives/C85NV6NSG/p1670860444950009)

@stephendonner
Copy link

stephendonner commented Dec 10, 2022

Verification PASSED using

Brave 1.47.121 Chromium: 108.0.5359.99 (Official Build) beta (x86_64)
Revision 410951fc34bb4b2cbf182231f9f779efaafaf682-refs/branch-heads/5359_71@{#9}
OS macOS Version 13.1 (Build 22C65)

NOTE: The failure at the end -- group policy -- is due to pre-existing #17609.

Case 1: Brave toggle is Off by default - PASSED

  1. installed 1.47.121
  2. launched Brave
  3. opened brave://settings/privacy
  4. confirmed Volunteer to help others connect to the Tor network is toggled to Off by default
Screenshot 2022-12-09 at 6 28 44 PM

Case 2: Snowflake extension UI - PASSED

  1. opened brave://settings/privacy in a new tab
  2. enabled Volunteer to help others connect to the Tor network toggle
  3. verified Snowflake extension has been added to Brave with Snowflake has been added to Brave text
  4. clicked on extensions puzzle -> Snowflake
  5. popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  6. clicked Learn more link
  7. confirmed link redirected to https://snowflake.torproject.org

Light

step 2 step 4 step 5 step 7
Screen Shot 2022-12-12 at 8 46 27 AM Screen Shot 2022-12-12 at 8 46 30 AM Screen Shot 2022-12-12 at 8 46 53 AM Screen Shot 2022-12-12 at 8 47 07 AM

Dark

step 2 step 4 step 5 step 7
Screen Shot 2022-12-12 at 8 54 12 AM Screen Shot 2022-12-12 at 8 54 15 AM Screen Shot 2022-12-12 at 8 54 20 AM Screen Shot 2022-12-12 at 8 54 43 AM

Case 3: enable Brave toggle and enable Snowflake in the extension - PASSED

  1. installed 1.47.121
  2. launched Brave
  3. opened brave://settings/privacy in a new tab
  4. enabled Volunteer to help others connect to the Tor network toggle
  5. confirmed Snowflake extension has been added to Brave with a popup Snowflake has been added to Brave text in the toolbar
  6. click on Extensions puzzle-piece
  7. extensions popup displayed with the Snowflake extension shown
  8. clicked Snowflake to enable Snowflake
  9. popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  10. opened brave://extensions in a new tab
  11. Snowflake extension is shown
step 4 step 5 step 6 step 8 step 9-11
Screenshot 2022-12-09 at 6 51 36 PM Screenshot 2022-12-09 at 6 51 40 PM Screenshot 2022-12-09 at 6 52 06 PM Screenshot 2022-12-09 at 6 55 17 PM Screenshot 2022-12-09 at 6 52 50 PM

Case 4: Enable Brave toggle and disable Snowflake in the extension - PASSED

  1. continue from Case:

Snowflake extension is enabled

  1. click on Snowflake in the Extensions popup
  2. disable the Enabled toggle
  3. visually Snowflake icon shown gray
  4. the text reads Snowflake is off
step 1 step 3
Screenshot 2022-12-09 at 7 05 41 PM Screenshot 2022-12-09 at 7 05 47 PM

Case 5: When Snowflake extension is disabled, Brave toggle should also be disabled - PASSED

  1. enabled Volunteer to help others connect to the Tor network toggle
  2. enabled Snowflake extension
  3. opened brave://extensions
  4. toggled Off on Snowflake extension card
  5. opened brave://settings/privacy
step 1 step 2 step 3 step 4
Screenshot 2022-12-09 at 7 24 19 PM Screenshot 2022-12-09 at 7 25 19 PM Screenshot 2022-12-09 at 7 25 52 PM Screenshot 2022-12-09 at 7 25 58 PM

Case 6: Remove Snowflake extension - PASSED

  1. opened brave://extensions
  2. clicked Remove
  3. clicked Remove
  4. opened brave://settings/privacy
  5. Volunteer to help... toggle is Off
steps 1-2 step 3 step 5 result
Screenshot 2022-12-09 at 7 25 52 PM Screenshot 2022-12-09 at 7 40 24 PM Screenshot 2022-12-09 at 7 40 28 PM Screenshot 2022-12-09 at 7 40 51 PM

Case 7: Disconnect/reconnect Wi-Fi during Snowflake extension installation - PASSED

  1. new profile
  2. launched Brave
  3. opened brave://settings/privacy in a new-tab
  4. enabled Volunteer to help others connect to the Tor network toggle
  5. disabled Wi-Fi
  6. close the popup Snowflake has been added to Brave
  7. clicked Snowflake in the extension
  8. it shows Snowflake is off along with the icon shows gray
  9. enabled Wi-FI
  10. clicked Retry button
  11. waited

Confirmed the Snowflake extension reconnected

step 3 step 5 step 7 step 10 step 11
Screenshot 2022-12-09 at 8 03 20 PM Screenshot 2022-12-09 at 8 03 59 PM Screenshot 2022-12-09 at 8 06 06 PM Screenshot 2022-12-09 at 8 06 28 PM Screenshot 2022-12-09 at 8 06 31 PM

Case 8: HTTPS connection - PASSED

Pre-req: Disable Snowflake connection in the Brave extensions

  1. opened Charles Proxy
  2. enabled Snowflake extension
  3. observe the network connections to Snowflake host https://snowflake-broker.freehaven.net
pre-req step 2 step 3
Screenshot 2022-12-09 at 7 05 47 PM Screenshot 2022-12-09 at 7 18 49 PM Screenshot 2022-12-09 at 7 18 44 PM

Case 9: User can independently install Snowflake extensions (via Chrome store) - PASSED

  1. new profile
  2. launch Brave
  3. visited https://chrome.google.com/webstore/category/extensions and searched for Snowflake
  4. clicked Add to Brave -> Add extension
  5. Snowflake extension is added
  6. clicked Extension puzzle -> Snowflake
  7. Brave toggle is enabled in brave://settings/privacy
step 4 step 5 step 6 step 7
Screen Shot 2022-12-12 at 9 09 09 AM Screen Shot 2022-12-12 at 9 09 14 AM Screen Shot 2022-12-12 at 9 13 40 AM Screen Shot 2022-12-12 at 9 09 52 AM

Case 10: Upgrade - PASSED

  1. installed 1.46.140
  2. launched Brave
  3. renamed the profile Brave-Browser-Beta
  4. launched with 1.47.125
  5. opened brave://settings/privacy in a new tab
  6. verified Volunteer to help others connect to the Tor network toggle is available with Off as a default
  7. enabled Volunteer to help others connect to the Tor network toggle
  8. confirmed Snowflake extension has been added to Brave with a popup Snowflake has been added to Brave text in the toolbar
  9. clicked on Extensions puzzle
  10. verified extensions popup displayed with the Snowflake extension shown
  11. clicked Snowflake to enable extension
  12. verified popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  13. opened brave://extensions in a new tab
  14. Snowflake extension is shown
step 6 step 7-8 step 11 step 12 step 14
Screen Shot 2022-12-12 at 9 49 21 AM Screen Shot 2022-12-12 at 9 49 49 AM Screen Shot 2022-12-12 at 9 59 55 AM Screen Shot 2022-12-12 at 9 50 19 AM Screen Shot 2022-12-12 at 9 50 58 AM

Case 11: macOS group policy - FAILED

  1. installed 1.47.125
  2. launched Brave
  3. confirmed Tor works by loading check.torproject.org
  4. confirmed Volunteer to help others connect to the Tor network is toggled Off / Disabled, by default
  5. shut down Brave
  6. opened Terminal
  7. pasted in defaults write com.brave.Browser.beta TorDisabled -bool true and hit return
  8. launched Brave
  9. confirmed New Private Window with Tor menu item is now missing
  10. confirmed policy via brave://policy/

Restored permissions by running defaults write com.brave.Browser.beta TorDisabled -bool false

NOTE: Unable to confirm disabled states for both Tor and its Snowflake entry in brave://settings/help due to #17609

step 9 step 10
Screen Shot 2022-12-12 at 10 35 46 AM Screen Shot 2022-12-12 at 10 34 54 AM

Verification passed on

Brave 1.47.125 Chromium: 108.0.5359.99 (Official Build) beta (x86_64)
Revision 410951fc34bb4b2cbf182231f9f779efaafaf682-refs/branch-heads/5359_71@{#9}
OS Ubuntu 18.04 LTS

Case 1: Brave toggle is Off by default - PASSED

  1. installed 1.47.121
  2. launched Brave
  3. opened brave://settings/privacy
  4. confirmed Volunteer to help others connect to the Tor network is toggled to Off by default

image

Case 2: Snowflake extension UI - PASSED

  1. opened brave://settings/privacy in a new tab
  2. enabled Volunteer to help others connect to the Tor network toggle
  3. verified Snowflake extension has been added to Brave with Snowflake has been added to Brave text
  4. clicked on extensions puzzle -> Snowflake
  5. popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  6. clicked Learn more link
  7. confirmed link redirected to https://snowflake.torproject.org

Light
image
image
image

Dark
image

Case 3: enable Brave toggle and enable Snowflake in the extension - PASSED

  1. installed 1.47.121
  2. launched Brave
  3. opened brave://settings/privacy in a new tab
  4. enabled Volunteer to help others connect to the Tor network toggle
  5. confirmed Snowflake extension has been added to Brave with a popup Snowflake has been added to Brave text in the toolbar
  6. click on Extensions puzzle-piece
  7. extensions popup displayed with the Snowflake extension shown
  8. clicked Snowflake to enable Snowflake
  9. popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  10. opened brave://extensions in a new tab
  11. Snowflake extension is shown

image

Case 4: Enable Brave toggle and disable Snowflake in the extension - PASSED

  1. continue from Case:

Snowflake extension is enabled

  1. click on Snowflake in the Extensions popup
  2. disable the Enabled toggle
  3. visually Snowflake icon shown gray
  4. the text reads Snowflake is off

image

Case 5: When Snowflake extension is disabled, Brave toggle should also be disabled - PASSED

  1. enabled Volunteer to help others connect to the Tor network toggle
  2. enabled Snowflake extension
  3. opened brave://extensions
  4. toggled Off on Snowflake extension card
  5. opened brave://settings/privacy

image
image

Case 6: Remove Snowflake extension - PASSED

  1. opened brave://extensions
  2. clicked Remove
  3. clicked Remove
  4. opened brave://settings/privacy
  5. Volunteer to help... toggle is Off

image
image

Case 7: Disconnect/reconnect Wi-Fi during Snowflake extension installation - PASSED

  1. new profile
  2. launched Brave
  3. opened brave://settings/privacy in a new-tab
  4. enabled Volunteer to help others connect to the Tor network toggle
  5. disabled Wi-Fi
  6. close the popup Snowflake has been added to Brave
  7. clicked Snowflake in the extension
  8. it shows Snowflake is off along with the icon shows gray
  9. enabled Wi-FI
  10. clicked Retry button
  11. waited

Confirmed the Snowflake extension reconnected

Case 8: HTTPS connection - PASSED

Pre-req: Disable Snowflake connection in the Brave extensions

  1. opened Charles Proxy
  2. enabled Snowflake extension
  3. observe the network connections to Snowflake host https://snowflake-broker.freehaven.net

image

Case 9: User can independently install Snowflake extensions (via Chrome store) - PASSED

  1. new profile
  2. launch Brave
  3. visited https://chrome.google.com/webstore/category/extensions and searched for Snowflake
  4. clicked Add to Brave -> Add extension
  5. Snowflake extension is added
  6. clicked Extension puzzle -> Snowflake
  7. Brave toggle is enabled in brave://settings/privacy

Case 10: Upgrade - PASSED

  1. installed 1.46.140
  2. launched Brave
  3. renamed the profile Brave-Browser-Beta
  4. launched with 1.47.125
  5. opened brave://settings/privacy in a new tab
  6. verified Volunteer to help others connect to the Tor network toggle is available with Off as a default
  7. enabled Volunteer to help others connect to the Tor network toggle
  8. confirmed Snowflake extension has been added to Brave with a popup Snowflake has been added to Brave text in the toolbar
  9. clicked on Extensions puzzle
  10. verified extensions popup displayed with the Snowflake extension shown
  11. clicked Snowflake to enable extension
  12. verified popup with Your Snowflake is ready to help users circumvent censorship text with user count is displayed
  13. opened brave://extensions in a new tab
  14. Snowflake extension is shown

Case 11: Linux group policy - FAILED

  1. installed 1.47.125
  2. launched Brave
  3. confirmed Tor works by loading check.torproject.org
  4. confirmed Volunteer to help others connect to the Tor network is toggled Off / Disabled, by default
  5. shut down Brave
  6. opened Terminal
  7. turn off tor group policy
  8. launched Brave
  9. confirmed New Private Window with Tor menu item is now missing
  10. confirmed policy via brave://policy/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants