[tor-dev] tor-browser-build : any way to get it to use system packages for building?
Jason Vas Dias
jason.vas.dias at gmail.com
Wed Jun 15 00:22:41 UTC 2022
Thanks Peir -
Then there IS a need for some kind of "Native System Build",
LIKE the Fedora Firefox RPM, that can build ONLY against
the SYSTEM LIBRARIES provided by the OS that tor-browser
IS CONFIGURED to link to, as opposed to those it is configured
to download the GIT & build ...
I will take as my guide the Fedora Firefox RPM and build the Tor
Extensions into the same later version of Firefox as
my system Firefox is.
Out of this I want to get:
Ultimate Goal:
o a Firefox Extension I can load into Modern Mozilla v101+
as shipped on Fedora that can access the SYSTEM /usr/bin/tor
daemon as shipped, and perhaps fire up a GUI to Configure it.
OR: the current tor-browser that DOES NOT HAVE the busy-waiting problem
I reported:
https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41028
will do!
I can see this might turn into a long project.
I'd just like to be able to:
o Tell my standard Firefox, with all its Color / User CSS
customizations, to use Tor / onion DNS + onion Search for A TAB,
NOT the whole browser.
o OR, just run standard Tor , I can handle switching browsers,
but only if they just don't consume 150% CPU when idle !
o Additionally, it would be great if I could install some sort
of DNS Block List into Onion DNS, so that a set of DNS names
in a file like that from :
https://someonewhocares.org/hosts
and names like 'analytics.google.com' / 'analytics.foresee.com'
'google.syndication.com' , ie AdWare sites, can be automatically
blocked from being requested by the browser to Onion DNS
(the names are resolved to 0.0.0.0).
I have a local BIND DNS server set up to serve a Response Policy
Zone (RPZ)
converted from the above hosts file to do this for all my normal
browsers - they display ZERO ads - browsing is about 10 times faster!
Why is the Onion DNS server resolving all these horrible
AdWare and Google Tracking sites ?
I created this project on GitLab:
https://gitlab.torproject.org/jvd66/sigio
demonstrating use of SIGIO driven I/O - I have used basically exactly
the same library under Java, Common Lisp, Bash Shell built-ins -
and processes which use its methods instead of poll() use MINIMUM cpu
to get MAXIMUM responsiveness to input than any other method I
know.
Basically whatever is doing that 40-microsecond poll() in tor-browser
needs to be replaced by code that calls setitimer(), enables SIGIO
for polled FDs, and enters pause(), which will return ONLY when
a signal (SIGIO+RTMIN, or SIGALRM+RTMIN) has occurred
(with errno set to EINTR, since it was interrupted).
Firefox itself with 120 tabs open does not use 1/10th of the CPU
that tor-browser does with 1 tab open to duckduckgo/onion search.
This is just unacceptable!
There has got to be a better way than that to listen to Radio Sputnik!
( Like vote in non-brain-dead governments in EU, perhaps , who will
repeal ludicrous censorship laws ...)
And there has got to be a better way of building tor-browser than
downloading (I stopped at @ 4GB) of container / source code data.
I specifically require the build to use the compilers & link against
the libraries I tell it to!
I understand that for a single reproducible build for general distribution
for ALL Linux systems, you need to build to use the environment
YOU tell it to, of course - if I get this working, I'll have to
rent a Cloud Server for a week or so to be able to
check out the whole GIT on ITs network bandwidth,
and port my work to build under tor-browser-build .
If anyone knows of a working Tor Extension for Firefox v101+
that can use the System Tor, and which does not use tor-browser or
a browser-wide proxy server, or of a tor-browser WITHOUT
the busy-waiting problem, please let me know! Thanks.
I'll go back to building the Firefox RPM and try to get the Tor
Connectivity & Onion-DNS added for an 'New Incognito Tor Tab'
Extension for standard Firefox - surely that would be best?
What are the main obstacles to doing this? I guess I'll find out...
If they are too insurmountable, at least I'll try to fix
tor-browser NOT to do any busy-waiting anymore , and
get it to build with a system firefox-like RPM -
the current version is really unusable except for very brief intervals
between 'kill -CONT ${torBrowserPid}' and
'kill -STOP ${torBrowerPid}' - my laptop goes into meltdown.
Thanks anyway for responding,
All the best,
Jason
On 14/06/2022, Pier Angelo Vendrame <pierov at torproject.org> wrote:
> On 14/06/22 02:47, Jason Vas Dias wrote:
>> Good day -
>>
>> I recently attempted to check-out and build tor-browser-build -
>> MUST it download ALL the gits, if system packages
>> are found to satisfy version dependencies ?
>>
>> I just don't have enough storage / network bandwidth .
>> Why am I downloading the llvm source when I already
>> have llvm and clang 13 (-devel packages also) on my
>> Fedora 36 system ?
>>
>> Is there any interest in producing a version of tor-browser-build
>> to use installed system packages if they meet version requirements
>> instead of checking out GITs & building for ALL dependencies ?
>> It could be enabled with a USE_SYSTEM_PKGS=1 make
>> option or something.
> Hello,
>
> the tor-browser-build repository is used to create reproducible builds
> of the Tor Browser Bundle.
>
> For this reason it runs on a strictly controlled environment (typically,
> Debian containers with tools such as compilers built during the process).
>
>
>> I'm going to have to develop this if I want to work on tor-browser,
>> which I do want to do.
>
> When we develop new features on Tor Browser, we compile Firefox with our
> system compilers, and then copy the new binaries on an existing TBB.
>
> The procedure is explained in our hacking page [0] on the wiki. It is a
> bit outdated, but it should still work. Firefox development guides
> should apply as well.
>
> However, this procedure is a hack that should be used for testing
> purposes only and is not supported by us in any way.
>
> Also, if you want to contribute to Tor Browser, the modifications must
> be buildable in tor-browser-build.
>
>
> Best,
>
> Pier Angelo Vendrame
>
>
> [0]
> https://gitlab.torproject.org/tpo/applications/tor-browser/-/wikis/Hacking
>
>
>> Best Regards,
>> Jason
>> _______________________________________________
>> tor-dev mailing list
>> tor-dev at lists.torproject.org
>> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
> _______________________________________________
> tor-dev mailing list
> tor-dev at lists.torproject.org
> https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
>
More information about the tor-dev
mailing list