The Tor Project issueshttps://gitlab.torproject.org/groups/tpo/-/issues2023-11-06T20:15:12Zhttps://gitlab.torproject.org/tpo/web/support/-/issues/316Page about bookmarks is confusing2023-11-06T20:15:12ZemmapeelPage about bookmarks is confusingThe page about exporting your bookmarks is pretty confusing: https://support.torproject.org/tbb/export-and-import-bookmarks/
One thing it does is to mix instructions for different operating systems without warning.
It would be better t...The page about exporting your bookmarks is pretty confusing: https://support.torproject.org/tbb/export-and-import-bookmarks/
One thing it does is to mix instructions for different operating systems without warning.
It would be better to have different sections for Mac, Linux, Android, Windows
thanks translator @eulalio for the comment at https://hosted.weblate.org/translate/tor/support-portal/es/?checksum=3dc5a0cd207d143bhttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40232snowflake proxy README includes an old version of ./proxy --help2023-07-29T22:27:43ZRoger Dingledinesnowflake proxy README includes an old version of ./proxy --helpIn snowflake/proxy/README, we have this section:
```
The Snowflake proxy can be run with the following options:
Usage of ./proxy:
-broker string
broker URL (default "https://snowflake-broker.torproject.net/")
-capacity uint...In snowflake/proxy/README, we have this section:
```
The Snowflake proxy can be run with the following options:
Usage of ./proxy:
-broker string
broker URL (default "https://snowflake-broker.torproject.net/")
-capacity uint
maximum concurrent clients
-keep-local-addresses
keep local LAN address ICE candidates
-log string
log filename
-relay string
websocket relay URL (default "wss://snowflake.torproject.net/")
-stun string
stun URL (default "stun:stun.stunprotocol.org:3478")
-unsafe-logging
prevent logs from being scrubbed
```
but ./proxy --help now shows more options than that:
```
Usage of ./proxy:
-allow-non-tls-relay
allow relay without tls encryption
-allowed-relay-hostname-pattern string
a pattern to specify allowed hostname pattern for relay URL. (default "snowflake.torproject.net$")
-broker string
broker URL (default "https://snowflake-broker.torproject.net/")
-capacity uint
maximum concurrent clients
-ephemeral-ports-range string
ICE UDP ephemeral ports range (format:"<min>:<max>")
-keep-local-addresses
keep local LAN address ICE candidates
-log string
log filename
-nat-retest-interval duration
the time interval in second before NAT type is retested, 0s disables retest. Valid time units are "s", "m", "h". (default 24h0m0s)
-relay string
websocket relay URL (default "wss://snowflake.bamsoftware.com/")
-stun string
STUN URL (default "stun:stun.stunprotocol.org:3478")
-summary-interval duration
the time interval to output summary, 0s disables summaries. Valid time units are "s", "m", "h". (default 1h0m0s)
-unsafe-logging
prevent logs from being scrubbed
-verbose
increase log verbosity
```
The really simple fix would be to update the README with the newer text. The more robust approach would be to stop trying to maintain the same data in both places (because it's clearly not working), and change the README to teach you how to run ./proxy --help to get the usage, and/or change it to list just the most important options.https://gitlab.torproject.org/tpo/web/support/-/issues/315expand/collapse button has a reverted behavior in support.torproject.org2023-03-21T17:56:07Zcypherpunksexpand/collapse button has a reverted behavior in support.torproject.orgexpand/collapse button has a reverted behavior in e.g. https://support.torproject.org/tbb/tbb-10/expand/collapse button has a reverted behavior in e.g. https://support.torproject.org/tbb/tbb-10/Ashish SoniAshish Sonihttps://gitlab.torproject.org/tpo/web/donate-static/-/issues/97twitter metacard not appearing2022-11-07T22:06:55ZKeztwitter metacard not appearing@nicob pointed out in IRC that twitter is not showing our card image. i've checked with a few unofficial validators (<https://tweetpik.com/twitter-card-validator>, <https://www.bannerbear.com/tools/twitter-card-preview-tool/>) and they h...@nicob pointed out in IRC that twitter is not showing our card image. i've checked with a few unofficial validators (<https://tweetpik.com/twitter-card-validator>, <https://www.bannerbear.com/tools/twitter-card-preview-tool/>) and they have no issues. but on twitter, our card looks like this: ![image](/uploads/89374a3a73809ab58e8e5a86ad018c6b/image.png)
i think the issue is the robots.txt file i added to logo, it disallows crawlers from checking the /static directory (containing our card image), and twitter respects robots.txtYear End Campaign 2022https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41380Update bridges in our Makefile2023-01-05T18:05:33ZPier Angelo VendrameUpdate bridges in our MakefileBridges have been updated after tor-browser-build#40649 and a few other issues.
We should reflect the changes to tor-browser.git, too, if we want to test meek in our dev builds.
We could even remove the bridge file, and move them to `0...Bridges have been updated after tor-browser-build#40649 and a few other issues.
We should reflect the changes to tor-browser.git, too, if we want to test meek in our dev builds.
We could even remove the bridge file, and move them to `000-tor-browser.js`, if we have a macro that is defined only for dev builds (but not for nightlies; actually I'm a little bit confused about it).https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/130Upgrade telebot library to version 32022-11-03T16:39:33Zmeskiomeskio@torproject.orgUpgrade telebot library to version 3We use [telebot](https://github.com/tucnak/telebot) in our [bridges bot](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/telegram.md). But we are using the version 2 of the library, let's update it to version 3.We use [telebot](https://github.com/tucnak/telebot) in our [bridges bot](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/telegram.md). But we are using the version 2 of the library, let's update it to version 3.https://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40642statically-link dependencies into tor daemon2023-07-18T21:40:35Zrichardstatically-link dependencies into tor daemonWe ship our own versions of libevent, openssl, etc with tor in Tor Browser. This can cause issues when systems do not use these packaged libraries ( like in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41336 ).
We...We ship our own versions of libevent, openssl, etc with tor in Tor Browser. This can cause issues when systems do not use these packaged libraries ( like in https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41336 ).
We should statically link our dependencies into the tor daemon. This will ensure we are actually, using the implementation we think we are, and it should reduce the final package/install size as LTO will ensure we are only building and linking in the symbols actually used.
Ricochet-Refresh builds openssl, zlib and libevent this way for tor on Windows (x86,x64), Linux (x86,x64), and macOS (x64):
- openssl: https://github.com/blueprint-freespeech/ricochet-build/tree/main/projects/openssl
- libvent: https://github.com/blueprint-freespeech/ricochet-build/tree/main/projects/libevent
- zlib: https://github.com/blueprint-freespeech/ricochet-build/tree/main/projects/zlib
- tor: https://github.com/blueprint-freespeech/ricochet-build/tree/main/projects/tor
Android is not currently built/supported so anything in there referncing it is left-overs from the original tor-browser-build fork.Marco SimonelliMarco Simonellihttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40638Visit our website link after build-to-build upgrade in Nightly channel points...2022-10-27T22:48:08ZrichardVisit our website link after build-to-build upgrade in Nightly channel points to old v2 onionAfter upgrade nightly builds have the following copy on about:tor:
----
### Tor Browser has been updated.
For the most up-to-date information about this release, [visit our website](http://f4amtbsowhix7rrf.onion/).
----
We need to u...After upgrade nightly builds have the following copy on about:tor:
----
### Tor Browser has been updated.
For the most up-to-date information about this release, [visit our website](http://f4amtbsowhix7rrf.onion/).
----
We need to upgrade this to the new v3 onionSponsor 131 - Phase 3 - Major ESR 102 MigrationPier Angelo VendramePier Angelo Vendramehttps://gitlab.torproject.org/tpo/applications/tor-browser-build/-/issues/40634Update the project/browser path in tools/changelog-format-blog-post and other...2022-10-07T10:17:01ZPier Angelo VendrameUpdate the project/browser path in tools/changelog-format-blog-post and other filesIt's still leading to tor-browser on current main, and a 404 in turn in the 12.0a3 blog post.It's still leading to tor-browser on current main, and a 404 in turn in the 12.0a3 blog post.boklmboklmhttps://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/128Add microsoft onedrive provider to gettor2022-10-05T13:37:27Zmeskiomeskio@torproject.orgAdd microsoft onedrive provider to gettorThe [gettor updater](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/gettor.md) could upload Tor Browser also to a [microsoft OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive), like already do to o...The [gettor updater](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/gettor.md) could upload Tor Browser also to a [microsoft OneDrive](https://www.microsoft.com/en-us/microsoft-365/onedrive), like already do to other providers: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/tree/main/pkg/presentation/updaters/gettor
OneDrive free plan is only 5GBs, which is too small for our current needs, but this requirement might be reduced in the near future. Or we might consider paying for the service as OneDrive is probably reachable in most places.https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/127Add dropbox provider to gettor2022-10-05T13:19:15Zmeskiomeskio@torproject.orgAdd dropbox provider to gettorThe [gettor updater](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/gettor.md) could upload Tor Browser also to a [dropbox](https://dropbox.com), like already do to other providers: https://gitlab.torproject.org/...The [gettor updater](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/gettor.md) could upload Tor Browser also to a [dropbox](https://dropbox.com), like already do to other providers: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/tree/main/pkg/presentation/updaters/gettorhttps://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/126Telegram distributor: give some guidance on how to use bridges2022-10-28T15:58:28Zmeskiomeskio@torproject.orgTelegram distributor: give some guidance on how to use bridgesProvide some information on how to use bridges when the bot hands bridges over telegram. For example the following text might work:
```
Here are your bridges:
obfs4 ...
obfs4 ...
If you are using Tor Browser:
1. Choose "☰ ▸ Settings ▸...Provide some information on how to use bridges when the bot hands bridges over telegram. For example the following text might work:
```
Here are your bridges:
obfs4 ...
obfs4 ...
If you are using Tor Browser:
1. Choose "☰ ▸ Settings ▸ Tor" to open your Tor settings.
2. In the "Bridges" section, enter your bridge in the "Provide a bridge" field.
If you don't have Tor Browser you can download it from https://torbrowser.org or if this website is blocked ask the gettor bot for it: @gettor_bot
```
The implementation of the distributor is here: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/pkg/presentation/distributors/telegram/telegram.gohttps://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/125Add a prometheus exporter to gettor updater2022-10-05T12:53:23Zmeskiomeskio@torproject.orgAdd a prometheus exporter to gettor updaterLet's produce some metrics on the gettor updater for the latest TB version we have updated per platform and provider.
Some inspiration can be taken from how is the prometheus exporter in gettor: https://gitlab.torproject.org/tpo/anti-ce...Let's produce some metrics on the gettor updater for the latest TB version we have updated per platform and provider.
Some inspiration can be taken from how is the prometheus exporter in gettor: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/pkg/usecases/distributors/gettor/gettor.gohttps://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/issues/124Add a prometheus exporter to moat distributor2024-03-21T12:29:24Zmeskiomeskio@torproject.orgAdd a prometheus exporter to moat distributorLet's collect prometheus metrics on the Circumvention Settings [moat distributor](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/moat.md). We might want to collect metrics for:
* Requests to settings with country...Let's collect prometheus metrics on the Circumvention Settings [moat distributor](https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/doc/moat.md). We might want to collect metrics for:
* Requests to settings with country and *valid shim token* as labels
* Requests to other API endpoints with the endpoint as label (settings, defaults, map, builtin)
Some inspiration can be taken from how is the prometheus exporter in gettor: https://gitlab.torproject.org/tpo/anti-censorship/rdsys/-/blob/main/pkg/usecases/distributors/gettor/gettor.gomeskiomeskio@torproject.orgmeskiomeskio@torproject.orghttps://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40197nil pointer dereference in PeerConnection.PendingLocalDescription2022-10-03T11:53:14Zcypherpunksnil pointer dereference in PeerConnection.PendingLocalDescription```
info] {EDGE} connection_edge_process_inbuf(): data from edge while in 'waiting for circuit' state. Leaving it on buffer.
info] {EDGE} connection_edge_process_inbuf(): data from edge while in 'waiting for circuit' state. Leaving it on...```
info] {EDGE} connection_edge_process_inbuf(): data from edge while in 'waiting for circuit' state. Leaving it on buffer.
info] {EDGE} connection_edge_process_inbuf(): data from edge while in 'waiting for circuit' state. Leaving it on buffer.
info] {NET} parse_socks_client(): SOCKS 5 client: continuing without authentication
info] {NET} connection_read_proxy_handshake(): Proxy Client: OR connection (handshaking (proxy)) with 192.0.2.3:80 ID=1zOHpg+FxqQfi/6jDLtCpHHqBTH8gjYmCKXkus1D5Ko RSA_ID=2B280B23E1107BB62ABFC40DDCC8824814F80A72 successful
info] {BTRACK} bto_update_best(): ORCONN BEST_ANY state 2->3 gid=4
notice] {CONTROL} Bootstrapped 10% (conn_done): Connected to a relay
info] {BTRACK} bto_update_best(): ORCONN BEST_AP state 2->3 gid=4
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: panic: runtime error: invalid memory address or nil pointer dereference
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: [signal 0xc0000005 code=0x0 addr=0x0 pc=0x5ed17d]
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error:
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: goroutine 53 [running]:
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: github.com/pion/webrtc.(*PeerConnection).PendingLocalDescription(0x0)
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/github.com/pion/webrtc/peerconnection.go:2026 +0x1d
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: github.com/pion/webrtc.(*PeerConnection).LocalDescription(0xc00034c000)
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/github.com/pion/webrtc/peerconnection.go:1007 +0x1e
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib.(*WebRTCPeer).connect(0xc00034c000, 0x0, 0xc000345d48)
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib/webrtc.go:150 +0xd8
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib.NewWebRTCPeerWithEvents(0x35ee40, 0xc0000d6000, {0x223f8f30008, 0xc00022e220})
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib/webrtc.go:73 +0x38b
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib.WebRTCDialer.Catch(...)
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib/rendezvous.go:172
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib.(*Peers).Collect(0xc000234080)
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib/peers.go:69 +0x223
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib.connectLoop({0x846bd0, 0xc000234080})
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib/snowflake.go:345 +0x56
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: created by git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib.(*Transport).Dial
info] {PT} managed_proxy_stderr_callback(): Managed proxy at 'PluggableTransports\snowflake-client.exe' reported via standard error: /var/tmp/dist/gopath/src/git.torproject.org/pluggable-transports/snowflake.git/v2/client/lib/snowflake.go:170 +0x206
info] {NET} TLS error: <syscall error while handshaking> (errno=10054: Connection reset by peer [WSAECONNRESET ]; state=SSLv3/TLS write client hello)
info] {OR} connection_tls_continue_handshake(): tls error [connection reset]. breaking connection.
info] {CIRC} circuit_n_chan_done(): Channel failed; closing circ.
info] {GENERAL} circuit_mark_for_close_(): Circuit 0 (id: 1) marked for close at circuitbuild.c:687 (orig reason: 8, new reason: 0)
info] {HANDSHAKE} connection_or_note_state_when_broken(): Connection died in state 'handshaking (TLS) with SSL state SSLv3/TLS write client hello in HANDSHAKE'
info] {BTRACK} bto_status_rcvr(): ORCONN DELETE gid=4 status=2 reason=4
warn] {CONTROL} Problem bootstrapping. Stuck at 10% (conn_done): Connected to a relay. (CONNECTRESET; CONNECTRESET; count 1; recommendation warn; host 2B280B23E1107BB62ABFC40DDCC8824814F80A72 at 192.0.2.3:80)
warn] {HANDSHAKE} 1 connections have failed:
warn] {HANDSHAKE} 1 connections died in state handshaking (TLS) with SSL state SSLv3/TLS write client hello in HANDSHAKE
info] {OR} circuit_build_failed(): Our circuit 0 (id: 1) died before the first hop with no connection
info] {GUARD} entry_guards_note_guard_failure(): Recorded failure for primary guard $2B280B23E1107BB62ABFC40DDCC8824814F80A72 ($2B280B23E1107BB62ABFC40DDCC8824814F80A72)
info] {CIRC} circuit_free_(): Circuit 0 (id: 1) has been freed.
warn] {PT} Pluggable Transport process terminated with status code 2
```https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowflake/-/issues/40185overflow in bandwidth reporting2022-11-21T15:34:42Ztrinity-1686aoverflow in bandwidth reportingA user reported on `#tor` they see strange bandwidth report on their snowflake proxy.
![image](/uploads/2840f9598f1d194a89058c04a84023e4/image.png)
It looks very much like an overflowed signed 32b integer. They use snowflake on raspber...A user reported on `#tor` they see strange bandwidth report on their snowflake proxy.
![image](/uploads/2840f9598f1d194a89058c04a84023e4/image.png)
It looks very much like an overflowed signed 32b integer. They use snowflake on raspberry pi 3 (64 bit), however I've heard more than one time of things going 32b on raspberries, so may be reproducible only in 32b modehttps://gitlab.torproject.org/tpo/web/community/-/issues/295Change for Vultr's stance on Tor for Good Bad ISPs page2024-02-05T21:22:54ZGhost UserChange for Vultr's stance on Tor for Good Bad ISPs page```
Company/ISP: Vultr (https://vultr.com)
ASN: -
Bridges: No
Relay: No
Exit No
Comments: "TOR exit nodes are listed, merely as an example, as part of our Sample list of Prohibited Activities. We do not support any TOR related activity o...```
Company/ISP: Vultr (https://vultr.com)
ASN: -
Bridges: No
Relay: No
Exit No
Comments: "TOR exit nodes are listed, merely as an example, as part of our Sample list of Prohibited Activities. We do not support any TOR related activity on our network, including but not limited to TOR exit relays."
Last update: 20/09/2022 (D/M/Y)
```
After contacting Vultr support, they told me that they do not permit any Tor-related activity on their network. Even if someone manages to run nodes with them without getting in trouble for now, I feel it should still be updated to let others know about their stance and the potential risk of account termination.
![supportimage](/uploads/3ead185df4d77958c05fe54795e244d3/Untitled.jpg)GusGushttps://gitlab.torproject.org/tpo/core/arti/-/issues/580make arti client stop advertising TLS session tickets support in connection h...2023-04-06T12:42:35ZpseudonymisaTormake arti client stop advertising TLS session tickets support in connection handshakeClientHello includes `session_ticket Extension`.
But we disabled session tickets support server-side.
Ctor doesn't.
http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tpo/core/tor/-/blob/main/src/lib/tls/tortls_ope...ClientHello includes `session_ticket Extension`.
But we disabled session tickets support server-side.
Ctor doesn't.
http://eweiibe6tdjsdprb4px6rqrzzcsi22m4koia44kc5pcjr7nec2rlxyad.onion/tpo/core/tor/-/blob/main/src/lib/tls/tortls_openssl.c#L589-603https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41279TorConnect.jsm module added in the TorSettings commit but not added to moz.bu...2022-09-06T15:58:53ZrichardTorConnect.jsm module added in the TorSettings commit but not added to moz.build until the TorConnect commitSeems like we have some leftover stuff from when these two commits were more intertwined. A cursory look suggests the `TorConnect.jsm` module implementation should be moved from the TorSettings commit ( 4c501c79aed3cb7096997355ced2869cb3...Seems like we have some leftover stuff from when these two commits were more intertwined. A cursory look suggests the `TorConnect.jsm` module implementation should be moved from the TorSettings commit ( 4c501c79aed3cb7096997355ced2869cb342d6e3 ) to the TorConnect commit ( 777c84f5211c153beb3506c362ec5a37be0d9650 ).
@pierov please close this if I'm wrong here and we do actually need the TorConnect module this early in the history
@henry otherwise, the MR for this would be a pair of fixup! commits ( see https://git-scm.com/docs/git-commit#Documentation/git-commit.txt---fixupamendrewordltcommitgt for details ), one removing module from the TorSettings commit, and one adding it in the TorConnect commit.Sponsor 131 - Phase 3 - Major ESR 102 Migrationhenryhenryhttps://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41256pre-crunch and pre-strip PNG in tor-service-android to make it reproducible2022-11-30T14:46:13Zeighthavepre-crunch and pre-strip PNG in tor-service-android to make it reproduciblePNG crunching is not a deterministic process, especially the way aapt does it. This makes the builds not reproducible. The easy solution to this is to pre-crunch the PNGs and commit them to git. This also uses exiftool to strip any me...PNG crunching is not a deterministic process, especially the way aapt does it. This makes the builds not reproducible. The easy solution to this is to pre-crunch the PNGs and commit them to git. This also uses exiftool to strip any metadata from the PNG. This then disables running the crunch as part of the gradle build process.
https://medium.com/@duhroach/smaller-pngs-and-android-s-aapt-tool-4ce38a24019d
I have submitted this upstream to Orbot:
https://github.com/guardianproject/orbot/pull/252
And it is here in my tor-android-service-fork:
https://gitlab.com/eighthave/tor-android-service/commits/png-pre-compress
Once it is merged, someone will need to do:
```
$ sudo apt install exiftool zopfli
$ cd /path/to/tor-android-service
$ ./tools/png-pre-compress
```
Then commit all the changed PNGs.