Hi Richard, this is great! I appreciate all the insights you gave me. about the build setup i would definitely go with your suggestion. maybe it would be possible to also use these build scripts inside a docker composer for a reload on demand during development. and about windows, it is a requirement for my situation , but i just saw some build scripts regarding windows in the tbb repo you mentioned; i would be happy to hear from you about tips and tricks regarding windows!
basically what i am about to implement are as below:
[image: image.png]
[image: image.png]
[image: image.png]
above screen shots are from the browser extension that i have already implemented and want to integrate with the tbb.
1) padding is the time period which i send random packets to random destinations for generating fake browsing pattern.
2) rotation is a fancy name for MaxCircuitDirtiness
3) idle timeout is a custom clock which will close the tbb automatically in case of no interaction from the user
4) use proxy & use bridge is already available inside tbb
5) entry, middle and exit countries will fill the torrc with user selected options
based on the commit you mentioned for "about:preferences#tor pane", i believe that commit is the right place i should start coding.
Best Regards, Sarpedon
On Wed, Nov 13, 2019 at 9:33 PM Richard Pospesel richard@torproject.org wrote:
Hey Sarpedon,
The tor-browser-build project ( https://gitweb.torproject.org/builders/tor-browser-build.git/ ) can be used to build tor-browser for all the various environments, and you can updated the /projects/firefox/config file to point to your own git repo and commit for development. Unfortunately this is not particularly fast, but it's really the only way to go if you need builds for platforms other than Linux.
Alternatively, you can just build tor-browser ( https://gitweb.torproject.org/tor-browser.git/ ), and copy the relevant bits over an existing tor-browser install. This is the workflow I use during development on Linux and is generally pretty straight forward to use once you have scripts setup to do the deploying.
It's theoretically possible to get this sort of incremental build setup working for other platforms (ie building windows bins in a linux dev environment), but it's a pain and would require delving into the tor-browser-build firefox build and config scripts. I've done it before for our older windows build target (before we switched to clang and friends) and can give you some tips on how to do that if necessary.
The Tor Browser Hacking Guide should be a good resource as well, though it is a living document so might be out of date:
https://trac.torproject.org/projects/tor/wiki/doc/TorBrowser/Hacking
If you're interested in updating/improving/adding to the about:preferences#tor pane, than you can start by looking at this commit which added the page:
https://gitweb.torproject.org/tor-browser.git/commit/?h=tor-browser-68.2.0es...
In general, the relevant things there are in:
/browser/components/torpreferences/* /browser/modules/TorProtocolService.jsm /browser/modules/TorStrings.jsm
What sort of improvements are you looking to add? If you're interested in submitting a patch, you should open a ticket that tracks whatever feature you're looking to add. There we can give you early code and design/UX feedback to improve the odds of us accepting your patch :)
best, -Richard
On 11/9/19 4:04 PM, sarpedon montecarlo wrote:
Hello to the community! my first question is that is there a solution for rapid development of tbb? i was wondering that each time a contributor wants to change something in the tbb or add extra functionality, they have to go through the build process which i just guess would be very time consuming. i was wondering that is there any containerized environment for this? any docker ecosystem available or other solutions that might help? my second question is about the changes that i want to implement. i am interested into the graphical settings page about bridges and tor process that currently tbb is exposing to the end users. if we want to add more functionality into this settings page, where should we start to change? and is there any possibility that we may have some control over the underlying tor process as well, for instance controlling it's launching or it's torrc configuration; because as i see, there must be a link between the graphical interface of tbb and the underlying tor process so that is the way we can control bridges for instance. similar to this i was planning to add more graphical options to the interface for controlling other configuration aspects of the tor process through it's torrc or other workarounds. in the past i have achieved this by writing a browser extension that benefits from native messaging for communication to the tor process; but this is not really performance friendly and an intuitive experience for the end users.i am not satisfied with the result. so i was interested on mirroring these functionalities inside tbb. i really appreciate your insights and thoughts on the matter, have a great day, Sarpedon.
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
tor-dev mailing list tor-dev@lists.torproject.org https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev