lists.torproject.org
Sign In Sign Up
Manage this list Sign In Sign Up

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

tbb-commits

Thread Start a new thread
Download
Threads by month
  • ----- 2025 -----
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2018 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2017 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2016 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2015 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2014 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
tbb-commits@lists.torproject.org

  • 1 participants
  • 18563 discussions
[Git][tpo/applications/tor-browser][tor-browser-128.5.0esr-14.5-1] 2 commits: Bug 1909625 - Ignore CSS zoom and text zoom for canvas. r=gfx-reviewers,lsalzman
by morgan (@morgan) 09 Dec '24

09 Dec '24
morgan pushed to branch tor-browser-128.5.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 0ee9170b by Emilio Cobos Álvarez at 2024-12-09T16:40:36+00:00 Bug 1909625 - Ignore CSS zoom and text zoom for canvas. r=gfx-reviewers,lsalzman The spec doesn't mention anything about applying them, and other browsers don't, so let's just be consistent... Differential Revision: https://phabricator.services.mozilla.com/D221709 - - - - - 8b8b4a99 by Emilio Cobos Álvarez at 2024-12-09T16:40:36+00:00 Bug 1918454 - Prevent divide by zero when inverting effective zoom. r=firefox-style-system-reviewers,layout-reviewers,boris See comment. Differential Revision: https://phabricator.services.mozilla.com/D222090 - - - - - 9 changed files: - dom/canvas/CanvasRenderingContext2D.cpp - servo/components/style/properties/cascade.rs - servo/components/style/properties/properties.mako.rs - servo/components/style/values/computed/box.rs - servo/components/style/values/specified/length.rs - servo/ports/geckolib/glue.rs - + testing/web-platform/tests/css/css-viewport/zoom/canvas-ref.html - + testing/web-platform/tests/css/css-viewport/zoom/canvas.html - + testing/web-platform/tests/css/css-viewport/zoom/textarea-very-small-zoom-crash.html Changes: ===================================== dom/canvas/CanvasRenderingContext2D.cpp ===================================== @@ -6,6 +6,7 @@ #include "CanvasRenderingContext2D.h" #include "mozilla/gfx/Helpers.h" +#include "nsCSSValue.h" #include "nsXULElement.h" #include "nsMathUtils.h" @@ -2585,14 +2586,8 @@ static already_AddRefed<StyleLockedDeclarationBlock> CreateDeclarationForServo( return nullptr; } - // From canvas spec, force to set line-height property to 'normal' font - // property. if (aProperty == eCSSProperty_font) { - const nsCString normalString = "normal"_ns; - Servo_DeclarationBlock_SetPropertyById( - servoDeclarations, eCSSProperty_line_height, &normalString, false, - env.mUrlExtraData, StyleParsingMode::DEFAULT, env.mCompatMode, - env.mLoader, env.mRuleType, {}); + Servo_DeclarationBlock_SanitizeForCanvas(servoDeclarations); } return servoDeclarations.forget(); @@ -2657,12 +2652,9 @@ static already_AddRefed<const ComputedStyle> GetFontStyleForServo( // The font-size component must be converted to CSS px for reserialization, // so we update the declarations with the value from the computed style. if (!sc->StyleFont()->mFont.family.is_system_font) { - nsAutoCString computedFontSize; - sc->GetComputedPropertyValue(eCSSProperty_font_size, computedFontSize); - Servo_DeclarationBlock_SetPropertyById( - declarations, eCSSProperty_font_size, &computedFontSize, false, nullptr, - StyleParsingMode::DEFAULT, eCompatibility_FullStandards, nullptr, - StyleCssRuleType::Style, {}); + float px = sc->StyleFont()->mFont.size.ToCSSPixels(); + Servo_DeclarationBlock_SetLengthValue(declarations, eCSSProperty_font_size, + px, eCSSUnit_Pixel); } // The font getter is required to be reserialized based on what we ===================================== servo/components/style/properties/cascade.rs ===================================== @@ -1247,7 +1247,7 @@ impl<'b> Cascade<'b> { ); debug_assert!( !text_scale.text_zoom_enabled(), - "We only ever disable text zoom (in svg:text), never enable it" + "We only ever disable text zoom never enable it" ); let device = builder.device; builder.mutate_font().unzoom_fonts(device); @@ -1257,9 +1257,8 @@ impl<'b> Cascade<'b> { debug_assert!(self.seen.contains(LonghandId::Zoom)); // NOTE(emilio): Intentionally not using the effective zoom here, since all the inherited // zooms are already applied. - let zoom = builder.get_box().clone_zoom(); let old_size = builder.get_font().clone_font_size(); - let new_size = old_size.zoom(zoom); + let new_size = old_size.zoom(builder.resolved_specified_zoom()); if old_size == new_size { return; } ===================================== servo/components/style/properties/properties.mako.rs ===================================== @@ -2711,6 +2711,19 @@ impl<'a> StyleBuilder<'a> { self.get_box().clone_zoom() } + /// The zoom we need to apply for this element, without including ancestor effective zooms. + pub fn resolved_specified_zoom(&self) -> computed::Zoom { + let zoom = self.specified_zoom(); + if zoom.is_document() { + // If our inherited effective zoom has derived to zero, there's not much we can do. + // This value is not exposed to content anyways (it's used for scrollbars and to avoid + // zoom affecting canvas). + self.inherited_effective_zoom().inverted().unwrap_or(computed::Zoom::ONE) + } else { + zoom + } + } + /// Inherited zoom. pub fn inherited_effective_zoom(&self) -> computed::Zoom { self.inherited_style.effective_zoom @@ -2747,7 +2760,7 @@ impl<'a> StyleBuilder<'a> { let lh = device.calc_line_height(&font, writing_mode, None); if line_height_base == LineHeightBase::InheritedStyle { // Apply our own zoom if our style source is the parent style. - computed::NonNegativeLength::new(self.get_box().clone_zoom().zoom(lh.px())) + computed::NonNegativeLength::new(self.resolved_specified_zoom().zoom(lh.px())) } else { lh } ===================================== servo/components/style/values/computed/box.rs ===================================== @@ -357,6 +357,21 @@ impl Zoom { self == Self::ONE } + /// Returns whether we're the `document` keyword. + #[inline] + pub fn is_document(self) -> bool { + self == Self::DOCUMENT + } + + /// Returns the inverse of our value. + #[inline] + pub fn inverted(&self) -> Option<Self> { + if self.0.value == 0 { + return None; + } + Some(Self(Self::ONE.0 / self.0)) + } + /// Returns the value as a float. #[inline] pub fn value(&self) -> f32 { ===================================== servo/components/style/values/specified/length.rs ===================================== @@ -103,7 +103,7 @@ impl FontBaseSize { Self::InheritedStyle => { // If we're using the size from our inherited style, we still need to apply our // own zoom. - let zoom = style.get_box().clone_zoom(); + let zoom = style.resolved_specified_zoom(); style.get_parent_font().clone_font_size().zoom(zoom) }, } ===================================== servo/ports/geckolib/glue.rs ===================================== @@ -4972,6 +4972,21 @@ fn set_property( ) } +#[no_mangle] +pub unsafe extern "C" fn Servo_DeclarationBlock_SanitizeForCanvas( + declarations: &LockedDeclarationBlock, +) { + use style::properties::PropertyDeclaration; + use style::values::specified::{LineHeight, XTextScale, Zoom}; + // From canvas spec, force to set line-height property to 'normal' font property. + // Also, for compat, disable text scaling and CSS zoom. + write_locked_arc(declarations, |decls: &mut PropertyDeclarationBlock| { + decls.push(PropertyDeclaration::LineHeight(LineHeight::Normal), Importance::Normal); + decls.push(PropertyDeclaration::Zoom(Zoom::Document), Importance::Normal); + decls.push(PropertyDeclaration::XTextScale(XTextScale::None), Importance::Normal); + }); +} + #[no_mangle] pub unsafe extern "C" fn Servo_DeclarationBlock_SetProperty( declarations: &LockedDeclarationBlock, ===================================== testing/web-platform/tests/css/css-viewport/zoom/canvas-ref.html ===================================== @@ -0,0 +1,15 @@ +<!DOCTYPE html> +<style> +canvas { + width: 600px; + height: 200px; +} +</style> +<script> +document.addEventListener("DOMContentLoaded", () => { + const ctx = document.getElementById("canvas").getContext("2d"); + ctx.font = "48px serif"; + ctx.fillText(ctx.font, 10, 50); +}); +</script> +<canvas id="canvas" width="300" height="100"></canvas> ===================================== testing/web-platform/tests/css/css-viewport/zoom/canvas.html ===================================== @@ -0,0 +1,20 @@ +<!DOCTYPE html> +<link rel="help" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1909625"> +<link rel="help" href="https://html.spec.whatwg.org/#dom-context-2d-font"> +<link rel="author" href="mailto:emilio@crisal.io" title="Emilio Cobos Álvarez"> +<link rel="author" href="https://mozilla.org" title="Mozilla"> +<link rel="match" href="canvas-ref.html"> +<title>zoom is ignored for canvas</title> +<style> +canvas { + zoom: 2; +} +</style> +<script> +document.addEventListener("DOMContentLoaded", () => { + const ctx = document.getElementById("canvas").getContext("2d"); + ctx.font = "48px serif"; + ctx.fillText(ctx.font, 10, 50); +}); +</script> +<canvas id="canvas" width="300" height="100"></canvas> ===================================== testing/web-platform/tests/css/css-viewport/zoom/textarea-very-small-zoom-crash.html ===================================== @@ -0,0 +1,6 @@ +<style> +*:nth-of-type(1) { + zoom: 5%; +} +</style> +<textarea> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e4b644… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/e4b644… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.5.0esr-14.5-1] 2 commits: fixup! Add CI for Tor Browser
by Pier Angelo Vendrame (@pierov) 05 Dec '24

05 Dec '24
Pier Angelo Vendrame pushed to branch tor-browser-128.5.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 14a0cbe0 by Henry Wilkes at 2024-12-05T14:26:15+00:00 fixup! Add CI for Tor Browser Bug 43345: Exclude android strings from the legacy branch. - - - - - e4b64479 by Henry Wilkes at 2024-12-05T14:26:54+00:00 fixup! Bug 42305: Add script to combine translation files across versions. Bug 43345: Add an option to exclude contributions from the legacy branch for some files. - - - - - 2 changed files: - .gitlab/ci/update-translations.yml - tools/torbrowser/l10n/combine-translation-versions.py Changes: ===================================== .gitlab/ci/update-translations.yml ===================================== @@ -41,7 +41,11 @@ combine-en-US-translations: { "name": "torConnect.properties", "branch": "tor-browser" }, { "name": "torlauncher.properties", "branch": "tor-browser" }, { "name": "base-browser.ftl", "branch": "base-browser" }, - { "name": "torbrowser_strings.xml", "branch": "fenix-torbrowserstringsxml" } + { + "name": "torbrowser_strings.xml", + "branch": "fenix-torbrowserstringsxml", + "exclude-legacy": true + } ]' TRANSLATION_INCLUDE_LEGACY: "true" cache: ===================================== tools/torbrowser/l10n/combine-translation-versions.py ===================================== @@ -309,7 +309,7 @@ for file_dict in json.loads(args.files): f"Will be unused in Tor Browser {current_branch.browser_version}!", ) - if legacy_branch: + if legacy_branch and not file_dict.get("exclude-legacy", False): legacy_file = legacy_branch.get_file(name, where_dirs) if legacy_file is not None and current_file is None and stable_file is None: logger.warning(f"{name} still exists in the legacy branch") @@ -332,6 +332,8 @@ for file_dict in json.loads(args.files): legacy_file.content, f"Unused in Tor Browser {stable_branch.browser_version}!", ) + elif legacy_branch: + logger.info(f"Excluding legacy branch for {name}") files_list.append( { View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/fe2071… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/fe2071… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.5.0esr-14.5-1] 2 commits: fixup! [android] Add Tor integration and UI
by Pier Angelo Vendrame (@pierov) 05 Dec '24

05 Dec '24
Pier Angelo Vendrame pushed to branch tor-browser-128.5.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 3e999182 by Henry Wilkes at 2024-12-05T11:19:00+00:00 fixup! [android] Add Tor integration and UI Bug 43350: Revert changes from 938f751c and ff438022, which should have targeted a different commit. - - - - - fe207126 by Henry Wilkes at 2024-12-05T11:26:30+00:00 fixup! [android] Implement Android-native Connection Assist UI Bug 43350: Remove all caps comment from android string. Also made sure comments end in a full stop. - - - - - 1 changed file: - mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml Changes: ===================================== mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml ===================================== @@ -149,9 +149,9 @@ <string name="connection_assist_final_error_troubleshoot_connection_link">troubleshooting your connection</string> <!-- Connection assist. --> <string name="connection_assist_final_error_learn_more_link">Learn more</string> - <!-- Connection assist. Description for a shown "Snackbar" (special popup notification) with an action to connect --> + <!-- Connection assist. Description for a shown "Snackbar" (special popup notification) with an action to connect. --> <string name="connection_assist_connect_to_tor_before_opening_links">Connect to Tor before opening links</string> - <!-- Connection assist. Confirmation button for a shown "Snackbar" (special popup notification) that has a previously mentioned description. Automatically shown in ALL CAPS if available, regardless of the localized string --> + <!-- Connection assist. Confirmation button for a shown "Snackbar" (special popup notification). --> <string name="connection_assist_connect_to_tor_before_opening_links_confirmation">CONNECT</string> </resources> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ff4380… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/compare/ff4380… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.5.0esr-14.5-1] fixup! [android] Add Tor integration and UI
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch tor-browser-128.5.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: ff438022 by Morgan at 2024-12-04T22:24:32+00:00 fixup! [android] Add Tor integration and UI - revert re-add of YEC strings - - - - - 1 changed file: - mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml Changes: ===================================== mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml ===================================== @@ -149,31 +149,9 @@ <string name="connection_assist_final_error_troubleshoot_connection_link">troubleshooting your connection</string> <!-- Connection assist. --> <string name="connection_assist_final_error_learn_more_link">Learn more</string> - <!-- Connection assist. Description for a shown "Snackbar" (special popup notification) with an action to connect --> <string name="connection_assist_connect_to_tor_before_opening_links">Connect to Tor before opening links</string> <!-- Connection assist. Confirmation button for a shown "Snackbar" (special popup notification) that has a previously mentioned description. Automatically shown in ALL CAPS if available, regardless of the localized string --> <string name="connection_assist_connect_to_tor_before_opening_links_confirmation">CONNECT</string> - <!-- 2024 YEC. --> - <string name="YEC_2024_right_to_speak">You have a right to SPEAK without uninvited listeners.</string> - <!-- 2024 YEC. --> - <string name="YEC_2024_right_to_BROWSE">You have a right to BROWSE without being watched.</string> - <!-- 2024 YEC. --> - <string name="YEC_2024_right_to_SEARCH">You have a right to SEARCH without being followed.</string> - - <!-- 2024 YEC. --> - <string name="YEC_2024_donation_encouragement">Join the thousands of Tor supporters building an internet powered by privacy. Make a donation today.</string> - - <!-- 2024 YEC. --> - <string name="YEC_2024_donation_match_text">Through December 31, your gift will be matched, up to $300,000!</string> - - <!-- 2024 YEC. %1$s is the app name "Tor Browser". Since this will only ever show on release, it will always be "Tor Browser" (and not "Tor Browser Alpha" for instance) --> - <string name="YEC_2024_tor_browser_for_android_will_always_be_free_no_donation_required">%1$s for Android will always be free to use—no donation is required to use this app.</string> - - <!-- 2024 YEC. Accessible name for the "X" button. --> - <string name="YEC_2024_close">Close</string> - - <!-- 2024 YEC. --> - <string name="YEC_2024_donate_now">Donate now</string> </resources> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ff43802… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/ff43802… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.5.0esr-14.5-1] fixup! Bug 40597: Implement TorSettings module
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch tor-browser-128.5.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 4cccc26d by Morgan at 2024-12-04T22:11:01+00:00 fixup! Bug 40597: Implement TorSettings module - Bug 41333: Update STUN servers in Snowflake builtin bridges - Also remove webtunnel and add to lyrebird - - - - - 1 changed file: - toolkit/content/pt_config.json Changes: ===================================== toolkit/content/pt_config.json ===================================== @@ -2,9 +2,8 @@ "_comment": "Used for dev build, replaced for release builds in tor-browser-build. This file is copied from tor-browser-build 0554d981:projects/tor-expert-bundle/pt_config.json", "recommendedDefault" : "obfs4", "pluggableTransports" : { - "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit exec ${pt_path}lyrebird${pt_extension}", + "lyrebird" : "ClientTransportPlugin meek_lite,obfs2,obfs3,obfs4,scramblesuit,webtunnel exec ${pt_path}lyrebird${pt_extension}", "snowflake" : "ClientTransportPlugin snowflake exec ${pt_path}snowflake-client${pt_extension}", - "webtunnel" : "ClientTransportPlugin webtunnel exec ${pt_path}webtunnel-client${pt_extension}", "conjure" : "ClientTransportPlugin conjure exec ${pt_path}conjure-client${pt_extension} -registerURL https://registration.refraction.network/api" }, "bridges" : { @@ -25,8 +24,8 @@ "obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0" ], "snowflake" : [ - "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn", - "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn" + "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn", + "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn" ] } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4cccc26… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/4cccc26… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Bug 41331: Add linux-aarch64 build target to update_responses_config.yml
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: f96868f8 by Nicolas Vigier at 2024-12-04T20:43:56+00:00 Bug 41331: Add linux-aarch64 build target to update_responses_config.yml - - - - - 2 changed files: - projects/release/update_responses_config.yml - tools/signing/nightly/update-responses-base-config.yml Changes: ===================================== projects/release/update_responses_config.yml ===================================== @@ -16,6 +16,7 @@ download: mars_url: 'https://cdn.mullvad.net/browser' [% END -%] build_targets: + linux-aarch64: Linux_aarch64-gcc3 linux-i686: Linux_x86-gcc3 linux-x86_64: Linux_x86_64-gcc3 windows-i686: ===================================== tools/signing/nightly/update-responses-base-config.yml ===================================== @@ -2,6 +2,7 @@ download: mars_url: https://nightlies.tbb.torproject.org/nightly-updates build_targets: + linux-aarch64: Linux_aarch64-gcc3 linux-i686: Linux_x86-gcc3 linux-x86_64: Linux_x86_64-gcc3 windows-i686: View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser][tor-browser-128.5.0esr-14.5-1] fixup! [android] Add Tor integration and UI
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch tor-browser-128.5.0esr-14.5-1 at The Tor Project / Applications / Tor Browser Commits: 938f751c by clairehurst at 2024-12-04T11:50:34-07:00 fixup! [android] Add Tor integration and UI - - - - - 9 changed files: - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt - mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt - mobile/android/fenix/app/src/main/res/layout/fenix_snackbar.xml - mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml - mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml Changes: ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt ===================================== @@ -25,6 +25,7 @@ import android.view.MotionEvent import android.view.View import android.view.ViewConfiguration import android.view.WindowManager.LayoutParams.FLAG_SECURE +import androidx.activity.viewModels import androidx.annotation.CallSuper import androidx.annotation.IdRes import androidx.annotation.RequiresApi @@ -32,7 +33,6 @@ import androidx.annotation.VisibleForTesting import androidx.appcompat.app.ActionBar import androidx.appcompat.widget.Toolbar import androidx.core.splashscreen.SplashScreen.Companion.installSplashScreen -import androidx.core.content.ContentProviderCompat.requireContext import androidx.lifecycle.lifecycleScope import androidx.navigation.NavController import androidx.navigation.fragment.NavHostFragment @@ -151,10 +151,10 @@ import org.mozilla.fenix.utils.Settings import java.lang.ref.WeakReference import java.util.Locale -import androidx.navigation.fragment.findNavController import mozilla.components.browser.engine.gecko.GeckoEngine -import mozilla.components.browser.state.selector.findCustomTab +import org.mozilla.fenix.components.FenixSnackbar import org.mozilla.fenix.home.HomeFragment +import org.mozilla.fenix.tor.TorConnectionAssistViewModel import org.mozilla.geckoview.TorIntegrationAndroid /** @@ -238,6 +238,8 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorIn private var dialog: RedirectDialogFragment? = null + private val torConnectionAssistViewModel: TorConnectionAssistViewModel by viewModels() + @Suppress("ComplexMethod") final override fun onCreate(savedInstanceState: Bundle?) { // DO NOT MOVE ANYTHING ABOVE THIS getProfilerTime CALL. @@ -1115,6 +1117,25 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorIn historyMetadata: HistoryMetadataKey? = null, additionalHeaders: Map<String, String>? = null, ) { + if (!components.torController.isBootstrapped && !searchTermOrURL.startsWith("about:")) { + FenixSnackbar.make( + view = binding.root, + isDisplayedWithBrowserToolbar = true, + ) + .setText(getString(R.string.connection_assist_connect_to_tor_before_opening_links)) + .setAction(getString(R.string.connection_assist_connect_to_tor_before_opening_links_confirmation)) { + torConnectionAssistViewModel.handleConnect(searchTermOrURL) + if (navHost.navController.previousBackStackEntry?.destination?.id == R.id.torConnectionAssistFragment) { + supportFragmentManager.popBackStack() + } else { + navHost.navController.navigate( + TorConnectionAssistFragmentDirections.actionConnectToTorBeforeOpeningLinks() + ) + } + } + .show() + return + } openToBrowser(from, customTabSessionId) load( searchTermOrURL = searchTermOrURL, @@ -1434,8 +1455,10 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity, TorIn override fun onBootstrapStateChange(state: String) = Unit override fun onBootstrapProgress(progress: Double, hasWarnings: Boolean) = Unit override fun onBootstrapComplete() { - components.useCases.tabsUseCases.removeAllTabs() - navHost.navController.navigate(NavGraphDirections.actionStartupHome()) + if (settings().useHtmlConnectionUi) { + components.useCases.tabsUseCases.removeAllTabs() + navHost.navController.navigate(NavGraphDirections.actionStartupHome()) + } } override fun onBootstrapError(code: String?, message: String?, phase: String?, reason: String?) = Unit } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt ===================================== @@ -160,6 +160,7 @@ import org.mozilla.fenix.tabstray.TabsTrayAccessPoint import org.mozilla.fenix.theme.FirefoxTheme import org.mozilla.fenix.tor.TorBootstrapFragmentDirections import org.mozilla.fenix.tor.TorBootstrapStatus +import org.mozilla.fenix.tor.TorConnectionAssistViewModel import org.mozilla.fenix.utils.Settings.Companion.TOP_SITES_PROVIDER_MAX_THRESHOLD import org.mozilla.fenix.utils.allowUndo import org.mozilla.fenix.wallpapers.Wallpaper @@ -179,6 +180,7 @@ class HomeFragment : Fragment(), UserInteractionHandler { private val binding get() = _binding!! private val homeViewModel: HomeScreenViewModel by activityViewModels() + private val torConnectionAssistViewModel: TorConnectionAssistViewModel by activityViewModels() private val snackbarAnchorView: View? get() = when (requireContext().settings().toolbarPosition) { @@ -899,6 +901,17 @@ class HomeFragment : Fragment(), UserInteractionHandler { view = view, ) + torConnectionAssistViewModel.urlToLoadAfterConnecting.also { + if(!it.isNullOrBlank()){ + (requireActivity() as HomeActivity).openToBrowserAndLoad( + searchTermOrURL = it, + newTab = true, + from = BrowserDirection.FromHome, + ) + torConnectionAssistViewModel.urlToLoadAfterConnecting = null // Only load this url once + } + } + // DO NOT MOVE ANYTHING BELOW THIS addMarker CALL! requireComponents.core.engine.profiler?.addMarker( MarkersFragmentLifecycleCallbacks.MARKER_NAME, ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SettingsFragment.kt ===================================== @@ -25,6 +25,7 @@ import androidx.lifecycle.Observer import androidx.lifecycle.lifecycleScope import androidx.navigation.NavDirections import androidx.navigation.findNavController +import androidx.navigation.fragment.findNavController import androidx.navigation.fragment.navArgs import androidx.preference.Preference import androidx.preference.PreferenceFragmentCompat @@ -40,6 +41,7 @@ import mozilla.components.concept.sync.OAuthAccount import mozilla.components.concept.sync.Profile import mozilla.components.feature.addons.ui.AddonFilePicker import mozilla.components.service.glean.private.NoExtras +import mozilla.components.support.base.feature.UserInteractionHandler import mozilla.components.support.ktx.android.view.showKeyboard import mozilla.components.ui.widgets.withCenterAlignedButtons import org.mozilla.fenix.BrowserDirection @@ -77,7 +79,7 @@ import kotlin.system.exitProcess import org.mozilla.fenix.GleanMetrics.Settings as SettingsMetrics @Suppress("LargeClass", "TooManyFunctions") -class SettingsFragment : PreferenceFragmentCompat() { +class SettingsFragment : PreferenceFragmentCompat(), UserInteractionHandler { private val args by navArgs<SettingsFragmentArgs>() private lateinit var accountUiView: AccountUiView @@ -883,4 +885,18 @@ class SettingsFragment : PreferenceFragmentCompat() { private const val FXA_SYNC_OVERRIDE_EXIT_DELAY = 2000L private const val AMO_COLLECTION_OVERRIDE_EXIT_DELAY = 3000L } + + override fun onBackPressed(): Boolean { + // If tor is already bootstrapped, skip going back to [TorConnectionAssistFragment] and instead go directly to [HomeFragment] + if (requireComponents.torController.isBootstrapped) { + val navController = findNavController() + if (navController.previousBackStackEntry?.destination?.id == R.id.torConnectionAssistFragment) { + navController.navigate( + SettingsFragmentDirections.actionGlobalHomeFragment(), + ) + return true + } + } + return false + } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistFragment.kt ===================================== @@ -19,7 +19,7 @@ import android.view.View import android.view.ViewGroup import androidx.appcompat.content.res.AppCompatResources import androidx.fragment.app.Fragment -import androidx.fragment.app.viewModels +import androidx.fragment.app.activityViewModels import androidx.lifecycle.Lifecycle import androidx.lifecycle.lifecycleScope import androidx.lifecycle.repeatOnLifecycle @@ -34,7 +34,7 @@ import org.mozilla.fenix.ext.hideToolbar class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { private val TAG = "TorConnectionAssistFrag" - private val viewModel: TorConnectionAssistViewModel by viewModels() + private val viewModel: TorConnectionAssistViewModel by activityViewModels() private var _binding: FragmentTorConnectionAssistBinding? = null private val binding get() = _binding!! @@ -46,6 +46,11 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { _binding = FragmentTorConnectionAssistBinding.inflate( inflater, container, false, ) + viewLifecycleOwner.lifecycleScope.launch { + repeatOnLifecycle(Lifecycle.State.STARTED) { + viewModel.collectLastKnownStatus() + } + } viewLifecycleOwner.lifecycleScope.launch { repeatOnLifecycle(Lifecycle.State.STARTED) { @@ -62,7 +67,6 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { override fun onResume() { super.onResume() hideToolbar() - viewModel.handleTorConnectStateToScreen() // Covers the case where the app is backgrounded when the bootstrap finishes } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { @@ -71,11 +75,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { viewModel.progress().observe( viewLifecycleOwner, ) { progress -> - if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { - binding.torBootstrapProgressBar.setProgress(progress, true) - } else { - binding.torBootstrapProgressBar.progress = progress - } + setProgressBarCompat(progress) } viewModel.quickstartToggle().observe( @@ -95,6 +95,14 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { } + private fun setProgressBarCompat(progress: Int) { + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { + binding.torBootstrapProgressBar.setProgress(progress, true) + } else { + binding.torBootstrapProgressBar.progress = progress + } + } + private fun showScreen(screen: ConnectAssistUiState) { setProgressBar(screen) setSettingsButton(screen) @@ -269,7 +277,7 @@ class TorConnectionAssistFragment : Fragment(), UserInteractionHandler { private fun openHome() { Log.d(TAG, "openHome()") - findNavController().navigate(TorConnectionAssistFragmentDirections.actionStartupHome()) + viewModel.openHome(findNavController()) } private fun openSettings(preferenceToScrollTo: String? = null) { ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorConnectionAssistViewModel.kt ===================================== @@ -10,6 +10,7 @@ import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.LifecycleCoroutineScope import androidx.lifecycle.LiveData import androidx.lifecycle.MutableLiveData +import androidx.navigation.NavController import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import org.mozilla.fenix.ext.components @@ -44,20 +45,25 @@ class TorConnectionAssistViewModel( } init { - Log.d(TAG, "initiating TorConnectionAssistViewModel") + Log.d(TAG, "initiating TorConnectionAssistViewModel $this") _torController.registerTorListener(this) - handleTorConnectStateToScreen() // should cover the case of when we have an onBootStrapStateChange() event before this is initialized, which lead to being stuck on the splash screen } - private fun handleConnect( + var urlToLoadAfterConnecting: String? = null + + fun handleConnect( + urlToLoadAfterConnecting: String? = null, withDebugLogging: Boolean = false, lifecycleScope: LifecycleCoroutineScope? = null, ) { - Log.d(TAG, "handleConnect initiatingTorBootstrap with lifecycleScope = $lifecycleScope") - _torController.initiateTorBootstrap( - withDebugLogging = withDebugLogging, - lifecycleScope = lifecycleScope, - ) + this.urlToLoadAfterConnecting = urlToLoadAfterConnecting + if (_torController.lastKnownStatus.value.isOff()) { + Log.d(TAG, "handleConnect() triggered, initiatingTorBootstrap") + _torController.initiateTorBootstrap( + withDebugLogging = withDebugLogging, + lifecycleScope = lifecycleScope, + ) + } } fun handleQuickstartChecked(checked: Boolean) { @@ -96,18 +102,19 @@ class TorConnectionAssistViewModel( _progress.value = progress.toInt() } - handleTorConnectStateToScreen() } - fun handleTorConnectStateToScreen() { - when (_torController.lastKnownStatus) { - TorConnectState.Initial -> _torConnectScreen.value = ConnectAssistUiState.Splash - TorConnectState.Configuring -> handleConfiguring() - TorConnectState.AutoBootstrapping -> handleBootstrap() - TorConnectState.Bootstrapping -> handleBootstrap() - TorConnectState.Bootstrapped -> _shouldOpenHome.value = true - TorConnectState.Disabled -> _shouldOpenHome.value = true - TorConnectState.Error -> handleError() + suspend fun collectLastKnownStatus() { + _torController.lastKnownStatus.collect { + when (it) { + TorConnectState.Initial -> _torConnectScreen.value = ConnectAssistUiState.Splash + TorConnectState.Configuring -> handleConfiguring() + TorConnectState.AutoBootstrapping -> handleBootstrap() + TorConnectState.Bootstrapping -> handleBootstrap() + TorConnectState.Bootstrapped -> _shouldOpenHome.value = true + TorConnectState.Disabled -> _shouldOpenHome.value = true + TorConnectState.Error -> handleError() + } } } @@ -254,4 +261,10 @@ class TorConnectionAssistViewModel( } return true } + + fun openHome(navController: NavController) { + navController.navigate( + TorConnectionAssistFragmentDirections.actionHome(), + ) + } } ===================================== mobile/android/fenix/app/src/main/java/org/mozilla/fenix/tor/TorControllerGV.kt ===================================== @@ -4,6 +4,8 @@ package org.mozilla.fenix.tor import android.content.Context import android.util.Log import androidx.lifecycle.LifecycleCoroutineScope +import kotlinx.coroutines.flow.MutableStateFlow +import kotlinx.coroutines.flow.StateFlow import mozilla.components.browser.engine.gecko.GeckoEngine import org.mozilla.fenix.ext.components import org.mozilla.geckoview.TorIntegrationAndroid @@ -54,20 +56,22 @@ class TorControllerGV( private var torListeners = mutableListOf<TorEvents>() private var torLogListeners = mutableListOf<TorLogs>() - internal var lastKnownStatus = TorConnectState.Initial + private val _lastKnownStatus = MutableStateFlow(TorConnectState.Initial) + internal val lastKnownStatus: StateFlow<TorConnectState> = _lastKnownStatus + internal var lastKnownError: TorError? = null private var wasTorBootstrapped = false private var isTorRestarting = false private var isTorBootstrapped = false - get() = ((lastKnownStatus.isStarted()) && wasTorBootstrapped) + get() = ((_lastKnownStatus.value.isStarted()) && wasTorBootstrapped) private val entries = mutableListOf<Pair<String?, String?>>() override val logEntries get() = entries - override val isStarting get() = lastKnownStatus.isStarting() + override val isStarting get() = _lastKnownStatus.value.isStarting() override val isRestarting get() = isTorRestarting override val isBootstrapped get() = isTorBootstrapped - override val isConnected get() = (lastKnownStatus.isStarted() && !isTorRestarting) + override val isConnected get() = (_lastKnownStatus.value.isStarted() && !isTorRestarting) override var quickstart: Boolean get() { @@ -267,13 +271,13 @@ class TorControllerGV( } override fun setTorStopped() { - lastKnownStatus = TorConnectState.Configuring + _lastKnownStatus.value = TorConnectState.Configuring onTorStatusUpdate(null, lastKnownStatus.toString(), 0.0) onTorStopped() } override fun restartTor() { - if (!lastKnownStatus.isStarted() && wasTorBootstrapped) { + if (!_lastKnownStatus.value.isStarted() && wasTorBootstrapped) { // If we aren't started, but we were previously bootstrapped, // then we handle a "restart" request as a "start" restart initiateTorBootstrap() @@ -321,42 +325,22 @@ class TorControllerGV( } } - if (lastKnownStatus.isOff() && newState.isStarting()) { + if (_lastKnownStatus.value.isOff() && newState.isStarting()) { isTorRestarting = false } - lastKnownStatus = newState + _lastKnownStatus.value = newState onTorStatusUpdate(null, newStateVal, null) } // TorEventsBootstrapStateChangeListener override fun onBootstrapProgress(progress: Double, hasWarnings: Boolean) { - Log.d(TAG, "onBootstrapProgress($progress, $hasWarnings)") - // TODO: onBootstrapProgress should only be used to change the shown - // bootstrap percentage or a Tor log option during a "Bootstrapping" - // stage. - // The progress value should not be used to change the `lastKnownStatus` - // value or determine if a bootstrap has started or completed. The - // TorConnectStage should be used instead. - if (progress == 100.0) { - lastKnownStatus = TorConnectState.Bootstrapped - wasTorBootstrapped = true - onTorConnected() - } else if (lastKnownStatus == TorConnectState.Bootstrapping) { - onTorConnecting() - } - onTorStatusUpdate("", lastKnownStatus.toTorStatus().status, progress) + Log.d(TAG, "onBootstrapProgress(progress = $progress, hasWarnings = $hasWarnings)") + onTorStatusUpdate("", _lastKnownStatus.value.toTorStatus().status, progress) } // TorEventsBootstrapStateChangeListener - override fun onBootstrapComplete() { - // TODO: There should be no need to respond to the BootstrapComplete - // event if we are already handling TorConnectStage.Bootstrapped. - // In particular, `lastKnownStatus` and onTorConnected should be set in - // response to a change in TorConnectStage instead. - lastKnownStatus = TorConnectState.Bootstrapped - this.onTorConnected() - } + override fun onBootstrapComplete() = Unit // TorEventsBootstrapStateChangeListener override fun onBootstrapError(code: String?, message: String?, phase: String?, reason: String?) { ===================================== mobile/android/fenix/app/src/main/res/layout/fenix_snackbar.xml ===================================== @@ -21,6 +21,12 @@ android:paddingStart="16dp" android:paddingEnd="16dp"> + <!-- + TextView below changed as part of tor-browser#43229 to match the designs + https://www.figma.com/design/vXrWeiV2IlKx5IIZVLtxBX/Android-Components?node… screenshot shown here + Line spacing eyeballed from screenshot here + https://gitlab.torproject.org/tpo/applications/tor-browser/-/merge_requests… + --> <TextView android:id="@+id/snackbar_text" android:layout_width="0dp" @@ -29,8 +35,9 @@ android:letterSpacing="0.05" android:minHeight="46dp" android:maxLines="2" - android:paddingTop="8dp" - android:paddingBottom="8dp" + android:paddingTop="12dp" + android:paddingBottom="12dp" + android:lineSpacingExtra="8sp" android:textAlignment="textStart" android:textColor="@color/photonWhite" android:textSize="18sp" ===================================== mobile/android/fenix/app/src/main/res/navigation/nav_graph.xml ===================================== @@ -27,6 +27,12 @@ app:popUpTo="@id/startupFragment" app:popUpToInclusive="true" /> + <action + android:id="@+id/action_connect_to_tor_before_opening_links" + app:destination="@+id/torConnectionAssistFragment" + app:popUpTo="@id/torConnectionAssistFragment" + app:popUpToInclusive="true"/> + <action android:id="@+id/action_global_home" app:destination="@id/homeFragment" @@ -264,7 +270,7 @@ <fragment android:id="@+id/torConnectionAssistFragment" android:name="org.mozilla.fenix.tor.TorConnectionAssistFragment" - tools:layout="@layout/fragment_home"> + tools:layout="@layout/fragment_tor_connection_assist"> <action android:id="@+id/action_home" app:destination="@id/homeFragment" ===================================== mobile/android/fenix/app/src/main/res/values/torbrowser_strings.xml ===================================== @@ -149,4 +149,31 @@ <string name="connection_assist_final_error_troubleshoot_connection_link">troubleshooting your connection</string> <!-- Connection assist. --> <string name="connection_assist_final_error_learn_more_link">Learn more</string> + + <!-- Connection assist. Description for a shown "Snackbar" (special popup notification) with an action to connect --> + <string name="connection_assist_connect_to_tor_before_opening_links">Connect to Tor before opening links</string> + <!-- Connection assist. Confirmation button for a shown "Snackbar" (special popup notification) that has a previously mentioned description. Automatically shown in ALL CAPS if available, regardless of the localized string --> + <string name="connection_assist_connect_to_tor_before_opening_links_confirmation">CONNECT</string> + + <!-- 2024 YEC. --> + <string name="YEC_2024_right_to_speak">You have a right to SPEAK without uninvited listeners.</string> + <!-- 2024 YEC. --> + <string name="YEC_2024_right_to_BROWSE">You have a right to BROWSE without being watched.</string> + <!-- 2024 YEC. --> + <string name="YEC_2024_right_to_SEARCH">You have a right to SEARCH without being followed.</string> + + <!-- 2024 YEC. --> + <string name="YEC_2024_donation_encouragement">Join the thousands of Tor supporters building an internet powered by privacy. Make a donation today.</string> + + <!-- 2024 YEC. --> + <string name="YEC_2024_donation_match_text">Through December 31, your gift will be matched, up to $300,000!</string> + + <!-- 2024 YEC. %1$s is the app name "Tor Browser". Since this will only ever show on release, it will always be "Tor Browser" (and not "Tor Browser Alpha" for instance) --> + <string name="YEC_2024_tor_browser_for_android_will_always_be_free_no_donation_required">%1$s for Android will always be free to use—no donation is required to use this app.</string> + + <!-- 2024 YEC. Accessible name for the "X" button. --> + <string name="YEC_2024_close">Close</string> + + <!-- 2024 YEC. --> + <string name="YEC_2024_donate_now">Donate now</string> </resources> View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/938f751… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser/-/commit/938f751… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-13.5] Update STUN servers in Snowflake builtin bridges
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch maint-13.5 at The Tor Project / Applications / tor-browser-build Commits: 7934e0fb by Cecylia Bocovich at 2024-12-04T19:55:42+00:00 Update STUN servers in Snowflake builtin bridges This removes STUN servers that are unreliable or no longer support NAT behaviour discovery, and adds a few new servers. - - - - - 1 changed file: - projects/tor-expert-bundle/pt_config.json Changes: ===================================== projects/tor-expert-bundle/pt_config.json ===================================== @@ -23,8 +23,8 @@ "obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0" ], "snowflake" : [ - "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn", - "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn" + "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn", + "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn" ] } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/7… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][maint-14.0] Update STUN servers in Snowflake builtin bridges
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch maint-14.0 at The Tor Project / Applications / tor-browser-build Commits: 81a1dab9 by Cecylia Bocovich at 2024-12-04T19:55:25+00:00 Update STUN servers in Snowflake builtin bridges This removes STUN servers that are unreliable or no longer support NAT behaviour discovery, and adds a few new servers. - - - - - 1 changed file: - projects/tor-expert-bundle/pt_config.json Changes: ===================================== projects/tor-expert-bundle/pt_config.json ===================================== @@ -23,8 +23,8 @@ "obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0" ], "snowflake" : [ - "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn", - "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn" + "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn", + "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn" ] } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/8… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
[Git][tpo/applications/tor-browser-build][main] Update STUN servers in Snowflake builtin bridges
by morgan (@morgan) 04 Dec '24

04 Dec '24
morgan pushed to branch main at The Tor Project / Applications / tor-browser-build Commits: f60ea24e by Cecylia Bocovich at 2024-12-04T19:53:35+00:00 Update STUN servers in Snowflake builtin bridges This removes STUN servers that are unreliable or no longer support NAT behaviour discovery, and adds a few new servers. - - - - - 1 changed file: - projects/tor-expert-bundle/pt_config.json Changes: ===================================== projects/tor-expert-bundle/pt_config.json ===================================== @@ -23,8 +23,8 @@ "obfs4 51.222.13.177:80 5EDAC3B810E12B01F6FD8050D2FD3E277B289A08 cert=2uplIpLQ0q9+0qMFrK5pkaYRDOe460LL9WHBvatgkuRr/SL31wBOEupaMMJ6koRE6Ld0ew iat-mode=0" ], "snowflake" : [ - "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn", - "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.l.google.com:19302,stun:stun.antisip.com:3478,stun:stun.bluesip.net:3478,stun:stun.dus.net:3478,stun:stun.epygi.com:3478,stun:stun.sonetel.net:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.voys.nl:3478 utls-imitate=hellorandomizedalpn" + "snowflake 192.0.2.3:80 2B280B23E1107BB62ABFC40DDCC8824814F80A72 fingerprint=2B280B23E1107BB62ABFC40DDCC8824814F80A72 url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn", + "snowflake 192.0.2.4:80 8838024498816A039FCBBAB14E6F40A0843051FA fingerprint=8838024498816A039FCBBAB14E6F40A0843051FA url=https://1098762253.rsc.cdn77.org/ fronts=www.cdn77.com,www.phpmyadmin.net ice=stun:stun.antisip.com:3478,stun:stun.epygi.com:3478,stun:stun.uls.co.za:3478,stun:stun.voipgate.com:3478,stun:stun.mixvoip.com:3478,stun:stun.nextcloud.com:3478,stun:stun.bethesda.net:3478,stun:stun.nextcloud.com:443 utls-imitate=hellorandomizedalpn" ] } } View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… -- View it on GitLab: https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/commit/f… You're receiving this email because of your account on gitlab.torproject.org.
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • ...
  • 1857
  • Older →

HyperKitty Powered by HyperKitty version 1.3.12.