Invalidate this versions file entirely.
[torbrowser.git] / TODO
blob2b387f935c405d5f66dd1be20ac47ab454afd568
1 ###
2 ### Plans for USB Tor bundle
3 ### Steven J. Murdoch <http://www.cl.cam.ac.uk/users/sjm217/>
4 ###
6 Firefox modifications
7 ---------------------
9 - Apply chrisd's SOCKS patch to remove the need for an http proxy
10   altogether. chrisd's patch is linked here,
11 https://bugzilla.mozilla.org/show_bug.cgi?id=280661
12   (NB: Currently applied in the Linux version of TBB, as of 1.1.0 -- EC)
14 - Produce new branding so we don't infringe on the Mozilla trademarks
15 [ Instructions here http://kb.mozillazine.org/Rebranding_Firefox ]
16 [ We've sent 3 emails with no response so far.  -Andrew]
17 [mid priority]
19 - Get FirefoxPortable building
20 OR (preferably)
21   Build our own firefox with our desired customizations
22 OR (possibly better)
23   Scrap Firefox and switch to a browser with Tor integration.
24 [mid priority]
26 - Eventually try to remove NSIS dependency for FirefoxPortable and
27   move any necessary code into Vidalia. See docs/ToaST-startup.txt
28   for what we will want to do.
29 [low priority]
31 - Tailor error messages so are more appropriate to Tor (e.g. point out
32   dangers when submitting forms to non-HTTPS URLs)
33 [low priority]
35 - Check if setting -UILocale command line option, and match is a more reliable
36   way of setting locale than general.useragent.locale.
37   Alternatively, try intl.locale.matchOS=false and set environment
38   variable from Vidalia
39   See related Firefox code:
40    http://lxr.mozilla.org/mozilla1.8.0/source/xpfe/bootstrap/nsAppRunner.cpp#802
42 Pidgin modifications
43 --------------------
45 - Check that SOCKS 5 proxy is always used if configured
47 - Don't include real account name when generating IRC realname
49 General
50 -------
52 - OCSP_RESPONSE is defined both in ssl/include/openssl/ossl_typ.h and
53   wincrypt.h, which causes an error on building Tor. This can be fixed
54   by renameing the #define in wincrypt.h, but something better should
55   be done. See:
56    http://www.mail-archive.com/openssl-dev@openssl.org/msg24079.html
58 - Use process monitor to watch filesystem activity:
59   http://www.microsoft.com/technet/sysinternals/utilities/processmonitor.mspx
61   [ Vidalia doesn't appear to alter the registry other than the RNG
62     seed and MountPoints2. Tor does this too, so can it be stopped? 
63     Firefox/FirefoxPortable alters other keys (Audio Compression
64     Manager, Tcpip\Parameters, Shell Folders, Internet Settings) ]
65 [low priority]
67 - What should the installer look like (should it have the Tor logo)?
68   We need to be clear in the documentation about the difference between
69   the installer and the actual bundle
70 [mid priority]
72 - Ensure Firefox update works securely
73 [low priority]
75 - Investigate updating Tor automatically
76 [low priority]
78 - Add ToaST-like bootstrap mode/other pre-caching/disk-caching
79   performance improvements (and understand the bottleneck)
81 - Move "installer" to something more usable (NSIS?)
82   - Set default extraction location the Desktop
83   - Allow it to be translated
84   - Make the directory selector clearer (not "...")
86 - Investigate how to build Windows packages in a deterministic way so
87   others can build them and compare digests.
89 - Ask specific vendors to sign their packaged binary releases, probably with
90   pgp/gpg. The packages are: 7zip, MinGW, MSYS, CMake, QT, msysDTK,
91   zlib, FirefoxPortable
93   Letters requesting package signatures have been sent to: zlib, MinGW, MSYS, 
94   CMake
96   Soon letters will be sent to:
97   QT, msysDTK, FirefoxPortable
99   A forum post requesting package signatures have been posted for 7zip:
100   http://sourceforge.net/forum/message.php?msg_id=4982530
102 Done
103 ====
105 [ Done: 2008-06-18 ]
107 - Make Vidalia show some evidence of activity while it is starting Tor
108 [mid priority -- what do you have in mind here?]
110 - Also make Vidalia show what percentage progress Tor has made in
111   building a circuit (needs Tor to send events while startup is proceeding)
112   - Tor should send out more status_event messages based on various
113     milestones towards its circuit-establishment phase.
114   - Vidalia should recognize these and either change the text for
115     "Tor is starting up", or have a status bar, or something.
116 [high priority]
118 - Implement UPNP
119   Perhaps based on this library http://search.cpan.org/src/SKONNO/Net-UPnP-1.2.1/
121 - Check if Torbutton behaves as intended if pre-configures by prefs.js
123 - Modify Torbutton to prevent user from disabling Tor (easily)
124 [mid priority]
126 - Split archive or make auto-downloader to help people who cannot
127   download large files in one go
129 [ Done: 2008-05-27 ]
131 - If we can't make a static build of Vidalia, produce a small
132   executable to launch Vidalia (so the top level folder doesn't have
133   random DLLs lying around)
134 [mid priority]
136 - Because the batch file cannot have an icon other than the default windows
137   icon, perhaps we should abandon the batch file and use a windows specific
138   shortcut. This would allow us to use the Vidalia icon and Vidalia will do all
139   of the work that the batchfile once did. This may not work if shortcuts are 
140   all absolute.
142 [ Done: 2008-02-15 ]
144 - Make it easier to include optional Firefox extensions
146 [ Done: 2008-01-30 ]
147 - Make Vidalia start and stop Polipo too
148 [high priority]
150 [ Done: 2008-01-22 ]
151 - Make a web page for bundle
153 [ Done: 2007-12-12 ]
154 - Add bookmarks that will help people understand tor better
155   - The Tor frontpage
156   - A hidden service of some sort?
157   - A "check if your Tor is leaking" page
158 [low priority]
160 [ Done: 2007-12-12 ]
161 - Build Tor myself
162 [high priority]
164 [ Done: 2007-12-12 ]
165 - Add version numbers to builds
166 [mid priority]
168 [ Done: 2007-12-13 -- I think users should be able to stop (and
169   restart Tor) without exiting Firefox. I've added the code to kill
170   the browser when Vidalia exits but this won't work until
171   PortableFirefox is replaced with Vidalia. ]
172 - What to do when user clicks "Stop Tor" or exits Vidalia: Don't let them do it?
173   Kill Firefox? Show a helpful message?
174   We could make Vidalia change its button labels when it has launched Firefox
175   for us, to make it clearer what clicking "stop tor" and "exit" will do.
177 [ Done: 2007-12-19 -- it does guess, but this isn't good for a
178 portable bundle ]
179 - Check whether Vidalia auto-detects language if not specified. If
180   this is likely to guess right, then maybe we should not specify in
181   the config file.
182 [high priority]
184 [ Done: 2007-12-19 -- as of r12876 ]
185 - Let us build a Simplified-Chinese and Farsi version. These
186   would have Vidalia and Firefox configured to use these languages
187   by default.
188 [top priority]
190   * We need a better Farsi translation in that case
191   Once we have it working reasonably well, we should bug our Farsi-speaking
192   friends (for example, our friends at IBB) for help.
194 [ Done: 2007-12-20 ]
195 - Investigate how to programmatically add extensions and modify
196   preference files (partially complete).
197   Adding them to user.js will override user modifications (sometimes
198   not good).
199   Adding them to all.js is better, but entries must be sorted (are
200   there other constraints?)
202   http://forums.mozillazine.org/viewtopic.php?p=1270157&sid=4fe009726e77cb0ae2a07dcf1e179fe6
204    [ Sorting them didn't work -- there is more magic here ]
206    Extensions we want:
207     Torbutton [important]
208      https://addons.mozilla.org/en-US/firefox/addon/2275
209      [We should use the latest dev version of this -RD]
211    Extensions we might want (from xB Browser and ToaST):
212     Adblock Plus
213      https://addons.mozilla.org/en-US/firefox/addon/1865
214     ChatZilla
215      https://addons.mozilla.org/en-US/firefox/addon/16
216     PrefBar
217      http://prefbar.mozdev.org/
218     Quick Locale Switcher
219      https://addons.mozilla.org/en-US/firefox/addon/1333
220     Firesomething
221      https://addons.mozilla.org/en-US/firefox/addon/31
222     Restart Firefox
223      https://addons.mozilla.org/en-US/firefox/addon/1249
224     Window Styles
225      http://www.bamm.gabriana.com/ [inaccessible 2007-12-13]
227    Extensions we don't want (from xB Browser and ToaST):
228     ErrorZilla Mod
229      https://addons.mozilla.org/en-US/firefox/addon/3336
230      [Once we have polipo, it will be the one providing error
231       messages. Does that make this extension moot? I think so. -RD]
232     Flush Tor Circuit [superseded by Vidalia]
233      ?
234     NoScript [probably superseded by Torbutton]
235      https://addons.mozilla.org/en-US/firefox/addon/722
236 [high priority]
238 - Decide what preferences to set and what extensions to pre-install
239   [ xB use this: http://archives.seul.org/or/talk/Nov-2007/msg00227.html ]
240 [high priority]
242 - Restore some/all Firefox settings on exit
243   For example, if the user turned off Torbutton.
244   We should accumulate other examples here.
245 [mid priority]
247 [ Done 2007-12-25 -- it's the "Tor Browser Bundle" ]
249 - Come up with a new name
250 [top priority]
252 Vidalia modifications
253 ---------------------
255 - Prevent user from starting Firefox manually while Tor is still
256   starting up
257   OR (preferably)
258 - Allow normal Firefox and Tor Browser to co-exist safely
259 [mid priority]
261 - Make Vidalia kill Firefox when it exits. Currently Vidalia
262   terminates the process, but killing FirefoxPortable does not end Firefox.
263   Either we could kill firefox.exe directly, or wait until Vidalia
264   launches Firefox.
266 - Firefox 3 will not support Windows prior to XP. Is this a problem for
267   our userbase?  [Turns out, no -Andrew]