|
|
ACTIVE TODO'S
|
|
|
=============
|
|
|
|
|
|
For 0.32:
|
|
|
---------
|
|
|
|
|
|
- Integrate modified pktstats
|
|
|
- Replace torksocks with torsocks.
|
|
|
- Add badexit icon
|
|
|
- Add KB/s to traffic logs
|
|
|
- implement bootstrap info
|
|
|
- fix use of mapaddress
|
|
|
|
|
|
New Features TODO sometime:
|
|
|
---------------------------
|
|
|
|
|
|
- upnp bug - Message: Ports 80 and 443 on your router
|
|
|
urn:schemas-upnp-org:device:WANConnectionDevice:1 successfully forwarded to the
|
|
|
ports 9030 and 9001 used by your Tor server.
|
|
|
|
|
|
- It would be nice if Tork integrates an option to make it possible to select
|
|
|
and exclude Tor servers that are running older and possibly (hacked) versions
|
|
|
of Tor, other then the current stable and some newer Alpha builds. Servers like
|
|
|
nixnix and bettyboob are at least suspicious because they use the same ISP, old
|
|
|
version, OS build, and push a huge amount of traffic.Adding this option would
|
|
|
make it easier to spot and add servers like these to the enemy server list.
|
|
|
|
|
|
- Fix the controlport warnings when we don't lock the controlport
|
|
|
quickly enough.
|
|
|
|
|
|
- If you don't apply settings and have select server in the drop down menu,
|
|
|
what are we supposed to do?
|
|
|
- Don't apply server/upnp settings (obviously)
|
|
|
- Just prevent server systray info from displaying? (And leave 'server'
|
|
|
selected in drop-down?)
|
|
|
- Leave 'server' grayed-out and unapplied until settings are applied?
|
|
|
|
|
|
- tdesudo is fucked. need to use the API.
|
|
|
|
|
|
- Add a 'monitor' option - tork does not do any setconf'ing.
|
|
|
|
|
|
|
|
|
- Ability to import blocklists. - tdehotnewstuff?
|
|
|
|
|
|
* customized pktstat to report all non-tor traffic
|
|
|
- non-tor traffic osd
|
|
|
- report kb/s in traffic log
|
|
|
- report tor kb/s in traffic log too!
|
|
|
|
|
|
* Separate profiles for separate tor servers.
|
|
|
Add an argument (-profile profilename) specifying the profilename to use.
|
|
|
Add a Tor->Create New Profile button
|
|
|
Add a Tor->Save Profile button (only enabled when non-default profile in
|
|
|
use).
|
|
|
-Saves to desktop file for launching the profile.
|
|
|
|
|
|
<kcfgfile arg="true"/>
|
|
|
|
|
|
TorkConfig::instance(QString());
|
|
|
delete TorkConfig::self();
|
|
|
TorkConfig::instance(configurationFile);
|
|
|
TorkConfig* config = TorkConfig::self();
|
|
|
|
|
|
//Make a copy of config for use in a profile
|
|
|
|
|
|
TorkConfig::self()->config()->copyTo("profilename",TorkConfig::self()->config()
|
|
|
);
|
|
|
|
|
|
|
|
|
//Load a profile
|
|
|
TDEConfig *tmpconfig;
|
|
|
tmpconfig = new TDEConfig("torkspecialrc", false, false);
|
|
|
tmpconfig->copyTo("torkspecialrctmp",TorkConfig::self()->config());
|
|
|
now delete torkspecialrctmp
|
|
|
|
|
|
- maybe I haven't noticed but vidalia gives other nodes time to re-route
|
|
|
when disconnecting does Tork do that? - DONE
|
|
|
|
|
|
* Add warning when tork is configured to expect privoxy to be running at
|
|
|
startup but there is no sign of it - DONE
|
|
|
|
|
|
- Fix: when selecting 'client' from start-up icon, ensure 'None is set
|
|
|
in server dropdown - DONE
|
|
|
|
|
|
- text alongside icons in toolbar - DONE
|
|
|
|
|
|
- If firstrun wizard cancelled, then cancel out of TorK and re-run it next
|
|
|
time Tor is run. - DONE
|
|
|
|
|
|
For 0.32:
|
|
|
|
|
|
- Use separate pidgin settings for anonymity.
|
|
|
|
|
|
- I just managed to explain how to edit torc to a total non-tech person,
|
|
|
but all that was about was simply adding "fascist firewall" parameter -
|
|
|
maybe Tork could check if there is one in it's way and try using http
|
|
|
port's if needed? (informing the user so that the firewall could be
|
|
|
edited if possible)
|
|
|
|
|
|
* [wish] the ability to choose to have the state "anonymized" or
|
|
|
"non-anonymized" by default
|
|
|
|
|
|
* investigate use of unix sockets a bit
|
|
|
|
|
|
* circuitidletimeout - set to 4 or 5 hours to prevent lag when building
|
|
|
circuits.
|
|
|
|
|
|
* keep track of programs anonymized from Tork/torkify and warn heavily if
|
|
|
they leak
|
|
|
traffic.
|
|
|
|
|
|
|
|
|
* merge torsocks patches
|
|
|
|
|
|
* Shallot Integration. To be useful would have to be bundled.
|
|
|
|
|
|
For 0.32:
|
|
|
|
|
|
- Port to KDE4 - End 2008
|
|
|
|
|
|
|
|
|
|
|
|
Sometime:
|
|
|
|
|
|
* use kpaaworddialog and tdesuclient for password requests
|
|
|
|
|
|
- Re-tool kicker applet
|
|
|
|
|
|
1. 'Optimize' button to replace 'Change Identity':
|
|
|
|
|
|
- 'For Speed'
|
|
|
CircuitBuildTimeout 5 (or values as low as 2)
|
|
|
KeepalivePeriod 60
|
|
|
NewCircuitPeriod 15
|
|
|
NumEntryGuards 8
|
|
|
CircuitIdleTimeout 600
|
|
|
- 'For Safety'
|
|
|
Default values of above.
|
|
|
|
|
|
Launches wizard that configures according to your requirements.
|
|
|
|
|
|
'Change ID' can remain in system tray.
|
|
|
Add changeID to OSD. - DONE
|
|
|
Add 'Optimize' to system tray.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3. Merge KB/s and onion progress display to a single column.
|
|
|
|
|
|
4. Integration with Firefox.
|
|
|
- Prompt for installation of TorButton when first launched.
|
|
|
- Ensure torbutton toggled on when launched.
|
|
|
|
|
|
|
|
|
6. A stacking OSD, i.e. no listview.
|
|
|
- Crystal-effect black with white/grey border
|
|
|
- Transparent
|
|
|
- Upright rounded rectangle.
|
|
|
- Each item represents an active stream.
|
|
|
- Each item contains:
|
|
|
- A 16x16 'cancel icon for killing the stream
|
|
|
- A 22x22 icon representing the site/service.
|
|
|
- The host name.
|
|
|
-
|
|
|
|
|
|
7. An Anonymous Email Wizard.
|
|
|
- Assist with download of mixminion.
|
|
|
- Explain 'advanced' usage with KMail.
|
|
|
- Explain 'simple' usage with plain interface.
|
|
|
- Install sendmail-mixminion script
|
|
|
|
|
|
A test tool:
|
|
|
- Build circuits with selected routers
|
|
|
- Fetch a specified resource with circuits
|
|
|
- B/W Graphs etc.
|
|
|
- Facility to distribute test specs to clients
|
|
|
|
|
|
* Toggle javascript and cookies from control button in konqueror
|
|
|
|
|
|
|
|
|
===============
|
|
|
PREVIOUS TODO'S
|
|
|
===============
|
|
|
|
|
|
Done in 0.31:
|
|
|
|
|
|
- fix version checking code for 'download stable'
|
|
|
- temp orport rather than torkconfig::orport
|
|
|
- Fix MapAddress
|
|
|
|
|
|
Done in 0.29.2:
|
|
|
|
|
|
* use a qvaluelist for the server list (speed up populating it).
|
|
|
likewise for the streamlist. (ALREADY DONE)
|
|
|
* add ability to reverse-resolve ip addresses in traffic log on-demand - DONE
|
|
|
* make log entries copyable - DONE
|
|
|
* add hidden service to 'run server' dropdown. - DONE
|
|
|
* ability to drag urls to system tray - DONE.
|
|
|
|
|
|
For 0.29:
|
|
|
|
|
|
1. Speed up pop-up windows - DONE
|
|
|
1. Disable padlock when performing updates. - CANTDO
|
|
|
1. RejectPlainTextPorts. Re-implement to block and warn. - DONE
|
|
|
8. Quick B/W Configuration in System Tray a la KTorrent. - DONE
|
|
|
1. Advise users on how to prevent privoxy running automatically. Attempt
|
|
|
to update privoxy conf and sighup it. - DONE
|
|
|
1. Force users to re-boot before running first-run wizard, just in case
|
|
|
they've installed tor/privoxy freshly, it isn't running, but will only
|
|
|
run at start-up - DONE
|
|
|
|
|
|
|
|
|
For 0.29:
|
|
|
|
|
|
1.
|
|
|
|
|
|
-
|
|
|
Redesign OSD. Make it more useful and less ugly.
|
|
|
|
|
|
-------------------------------------------
|
|
|
using TorK with konqueror
|
|
|
When switching konqueror's anonimity there are some problems:
|
|
|
1. Java and javascript uses same checkbox so you must use both of them or
|
|
|
not use at all.
|
|
|
2 When you turn off anonimity tork turn on all of things in list (java/js,
|
|
|
plugins, browser identification, etc) even they wasn't used before tork
|
|
|
reconfigure konqueror to use tor.
|
|
|
|
|
|
-------------------------------------------
|
|
|
>
|
|
|
> - In the First-Run Wizard I think it should be possible to enter a
|
|
|
> password for local Tor instances (it's already possible to do this for
|
|
|
> remote instances) if the user already has set one. Or do you have some
|
|
|
> kind of reason for the current absense of it?
|
|
|
>
|
|
|
|
|
|
|
|
|
|
|
|
TODO for 0.27:
|
|
|
- Upnp
|
|
|
|
|
|
|
|
|
* UPNP!!
|
|
|
o make dirport configurable
|
|
|
* Usability:
|
|
|
o Remove 'connect'/disconnect from toolbar
|
|
|
o Simple Mode:
|
|
|
- Add 'Advanced' button that will reveal:
|
|
|
- 'Launch/Server Filter' button
|
|
|
- 'Citizen' button
|
|
|
- 'Fail-Safe' button and 'Fail Safe' config
|
|
|
- 'Change Identity' button
|
|
|
- So in simple mode only 'server' and 'un-censor' remain
|
|
|
- 'Usability' config section
|
|
|
o 'My Tor Server', 'My Server BW', and 'Configure Server'remain hidden unless
|
|
|
a server is
|
|
|
actually running (and advanced mode is selected?).
|
|
|
o 'My Hidden Services' remains hidden unless user elects to create a hidden
|
|
|
service from main
|
|
|
listing.
|
|
|
o 'My Network View' remains hidden until user right-clicks on server list to
|
|
|
select servers.
|
|
|
* New Server wizard for UPNP and basic server info
|
|
|
|
|
|
* Integrate shallot into hidden service wizard?
|
|
|
* Get rid of libwhich for christ's sake
|
|
|
* Use overlays for server icon
|
|
|
QPixmap icon = DesktopIcon( m_iconName );
|
|
|
QPixmap overlay( locate ( "icon", KMimeType::favIconForURL(
|
|
|
m_filterData->uri() ) + ".png" ) );
|
|
|
if ( !overlay.isNull() )
|
|
|
{
|
|
|
int x = icon.width() - overlay.width();
|
|
|
int y = icon.height() - overlay.height();
|
|
|
if ( icon.mask() )
|
|
|
{
|
|
|
QBitmap mask = *icon.mask();
|
|
|
bitBlt( &mask, x, y,
|
|
|
overlay.mask() ? const_cast<QBitmap *>(overlay.mask()) :
|
|
|
&overlay,
|
|
|
0, 0, overlay.width(), overlay.height(),
|
|
|
overlay.mask() ? OrROP : SetROP );
|
|
|
icon.setMask(mask);
|
|
|
}
|
|
|
bitBlt( &icon, x, y, &overlay );
|
|
|
}
|
|
|
|
|
|
* gnutls
|
|
|
|
|
|
TODO FOR 0.23
|
|
|
---------------------
|
|
|
Major
|
|
|
* Applet that displays full raw running config and allows you to set raw
|
|
|
options manually and on the fly.
|
|
|
* Copy ktorrent's bandwidth toggling in the systray menu
|
|
|
* Review konqueror against threats in http://torbutton.torproject.org/dev/
|
|
|
* Check torkify installation when launching torkify
|
|
|
|
|
|
Minor
|
|
|
* use kpaaworddialog and tdesuclient for password requests
|
|
|
* Toggle javascript and cookies from control button in konqueror
|
|
|
* rename 'my network view'
|
|
|
* Use RelayBandwidthRate
|
|
|
* Use cookieauthfile and put in ~/.tork
|
|
|
* When server toggled off, throttle bandwidth or something to genuinely stop
|
|
|
it.
|
|
|
* Fiddle with screen dimensions - make usable for smaller resolutions
|
|
|
* Fix bridges
|
|
|
* Authentication cookie - more granular help
|
|
|
* Spiffify gpg refresh
|
|
|
|
|
|
TODO FOR 0.24
|
|
|
---------------------
|
|
|
* A servers history tab, built on a sqlite table. This will accumulate server
|
|
|
lifetime history. It will also collect user's usage history of each server.
|
|
|
|
|
|
|
|
|
TODO SOMETIME
|
|
|
-------------
|
|
|
* Keep lobbying for a friendlier tor landing-page with meaningful info.
|
|
|
* use "GETINFO addr-mappings/control".
|
|
|
* Fix installation paths - autoconf voodoo required.
|
|
|
* Use getinfo desc/id/or instead of getinfo server/status/fp
|
|
|
* Nested server list by subnet
|
|
|
* Customise ifdefs for livecd?
|
|
|
* reduce gcc warnings
|
|
|
* Improve stream OSD
|
|
|
* Re-write controller logic.
|
|
|
* use kompile instead of arkollon
|
|
|
* Split out tork.cpp a bit, at least a vagure gesture towards cleaner code
|
|
|
* Find and squash as many bugs as possible in tdeconfig and elsewhere.
|
|
|
* 'Configure KMail' wizard for Mixminion
|
|
|
* filter log with right-click
|
|
|
* Full-refresh-of-server-list button
|
|
|
* Blogging wizard
|
|
|
* Pre-configure hidden service irc on kopete
|
|
|
|
|
|
|
|
|
WON'T DO
|
|
|
--------
|
|
|
* universal sidebar (?)
|
|
|
|
|
|
|
|
|
DONE
|
|
|
----
|
|
|
* if authentication isn't enabled, enable authentication for the duration of
|
|
|
the session
|
|
|
|
|
|
Options
|
|
|
* for 'bw options' allow tork to always set values,even when greyed out.
|
|
|
selecting 'default' should reset
|
|
|
values to default.
|
|
|
* for 'performance' do the same
|
|
|
* for 'normal settings' do the same.
|
|
|
* for 'server' do not store 'old' values if greyed out, but always apply
|
|
|
values. this will work because
|
|
|
'never run as server' is tied to clientonly.
|
|
|
* remove 'i'm special'
|
|
|
* fix exitnode selection
|
|
|
* fix the way some options were being applied while tor is running
|
|
|
* make dynamic password setting the default authentication option
|
|
|
|
|
|
In 0.22
|
|
|
-------
|
|
|
* ifdefs for livecd:
|
|
|
|
|
|
Looking through the UI:
|
|
|
|
|
|
1. Remove options to download and install software X
|
|
|
2. Remove start/stop Tor since this really only connects/disconnects from
|
|
|
Tor.
|
|
|
3. Remove anonymous browsing with {Konqueror, Firefox, Opera). x
|
|
|
4. Remove create anonymous services, though the search for hidden services
|
|
|
is
|
|
|
nice. x
|
|
|
5. Remove anonymous kopete, IRC, SSH, Telnet, GPG keys (I may add the hidden
|
|
|
services to gpg.conf), shell. x
|
|
|
6. Remove fail-safe options, Incognito already has those. x
|
|
|
7. Remove run server options.x
|
|
|
8. Remove privoxy config options, the next version doesn't use privoxy.
|
|
|
Maybe
|
|
|
this could be determined at runtime depending on privoxy being installed.
|
|
|
9. Remove the "My Tor Client" config tab, I don't think there's anything
|
|
|
useful for Incognito there. x
|
|
|
10. Remove the "My Tor Server", I think Incognito should be left as middle
|
|
|
man. x
|
|
|
11. Remove "My Hidden Services", the next release has a different mechanism
|
|
|
for configuring that based on a certain directory structure on the USB drive.
|
|
|
x
|
|
|
12. remove konqueror plugin
|
|
|
|
|
|
* Flush circuits for pseudonymity
|
|
|
* Cope with new extra-info handling for servers
|
|
|
* Resolve dns through tor
|
|
|
* Fix stream bandwidth counting
|
|
|
* add n/a icon
|
|
|
* Privoxy config fix, see
|
|
|
http://archives.seul.org/or/talk/Oct-2007/msg00291.html
|
|
|
|
|
|
In 0.21:
|
|
|
* Apply settings - make togglebox allow you to apply in future always
|
|
|
* Make systray icon reflect client/server status rather than activity
|
|
|
* Create manpages for all binaries
|
|
|
* Make torkify installation easier to manage for packagers
|
|
|
* Build patches from Patrick Matth<74>i
|
|
|
* stop trying to connect if waiting more than 20 secs
|
|
|
* copy control_auth_cookie to ~/.tor in first-run wizard
|
|
|
* stop other passive popups when a showstopper popup has already been displayed
|
|
|
* zeroise netstats on disconnect
|
|
|
* Debug torkified mixminion
|
|
|
* also, the fonts are wonky. in the wizard when it first started, it couldn't
|
|
|
fit all the words it wanted to fit
|
|
|
* under 'my server bandwidth', there's an option to 'don't reuse a connection
|
|
|
if it is more than'. but that option is for clients, not servers.
|
|
|
*also, under 'my server bandwidth', there's an option 'max number of
|
|
|
simultaneous connections allowed'. my maxconn doesn't actually perform this
|
|
|
function. nothing does.
|
|
|
* remove ASSERT: "(mode & KFile::Files) == 0"
|
|
|
in/tmp/buildd/tdelibs-3.5.5a.dfsg.1/./tdeio/tdefile/kurlrequester.cpp (311)
|
|
|
|
|
|
|
|
|
In 0.19:
|
|
|
* Name filter for server list
|
|
|
* Fix 'My Client' bugs
|
|
|
* Improve cookieauth attempts to find cookie, search multiple dirs.
|
|
|
* Make passwords compulsory in firstrun wizard
|
|
|
* Fix My Family
|
|
|
* Add passive pop-up when hovering over system tray
|
|
|
* Display server/client info (maybe number of running servers too?) in
|
|
|
statusbar
|
|
|
* Reflect server status in system tray
|
|
|
* Complete Intro wizard - do's/dont's
|
|
|
|
|
|
|
|
|
In 0.18:
|
|
|
* Remove 'complete' server list from network view config. Speed up config page
|
|
|
loading.
|
|
|
* Use asynchronous dns
|
|
|
* 'Failsafe' button
|
|
|
* Add 'program' column to connection display
|
|
|
* Implement general, server and client status events
|
|
|
* Add country servers to exclude list if country blocked
|
|
|
* Add TorK generated messages to Tor log and flag accordingly.
|
|
|
* Implement entry-guards status events
|
|
|
|
|
|
In 0.17:
|
|
|
* Kicker applet
|
|
|
* Konqueror plugin
|
|
|
* Konqueror right-cliick actions
|
|
|
* Add tor: io slave.
|
|
|
* Reset filters when server list fully refreshed
|
|
|
|
|
|
In 0.15:
|
|
|
* If thttpd is installed, don't offer to download it.
|
|
|
* Add 'Run Server' button
|
|
|
* Alert user that KDE's non-anonymous settings have been restored when Tork is
|
|
|
closed.
|
|
|
* Beginnings of intro-wizard.
|
|
|
* Speed up sliding notifications
|
|
|
* Fix bug when stopping and restarting connection to tor.
|
|
|
* Turn off extended selection of circuits when dragging to circuit pane
|
|
|
|
|
|
In 0.14:
|
|
|
* Pseudonymity button
|
|
|
* Display servers by country
|
|
|
* Combo select for tor session type (beneath onion on main page)
|
|
|
* bw for streams
|
|
|
* dynamically block exits with right-click
|
|
|
* Fix browser settings for opera/firefox
|
|
|
* count our own seconds for bw events
|
|
|
* do not install libwhich and libgeoip
|
|
|
* bandwidthrate at different times of the day
|
|
|
|
|
|
Before 0.14:
|
|
|
* tor traffic log.
|
|
|
* log non-tor traffic
|
|
|
* Replace privoxy templates with TorK ones that are a little more friendly
|
|
|
* Add mixminion client
|
|
|
* add privoxy configuration.
|
|
|
* connect to tor (if it is running) during set-up wizard. this is to determine
|
|
|
if the packaged installation has
|
|
|
the controlport open or not. if it does not, then the set-up wizard will need
|
|
|
to add the relevant conf line
|
|
|
to every possible configuration file candidate it can think of.
|
|
|
* SetUp Wizard should inspect your tor installation and recommend appropriate
|
|
|
tork setup.
|
|
|
|
|
|
|
|
|
Tor GUI Suggestions
|
|
|
-------------------
|
|
|
X = Fully(!?) Done
|
|
|
x = Sort of Done
|
|
|
|
|
|
X Allow the user to fully configure Tor rather than manually searching for and
|
|
|
opening text files.
|
|
|
X Let users learn about the current state of their Tor connection (for example,
|
|
|
how well the current Tor connection is working), and configure or find
|
|
|
out whether any of their applications are using it.
|
|
|
X Make alerts and error conditions visible to the user.
|
|
|
X Run on at least one of Windows, Linux, and OS X, on a
|
|
|
not-unusually-configured consumer-level machine.
|
|
|
|
|
|
Provide detailed information about which applications, ports, or packets are
|
|
|
(or are not!) passing through Tor, including accounting for both Tor- and
|
|
|
non-Tor traffic.
|
|
|
Provide additional statistics about the Tor connection.
|
|
|
Give users more control over how their Tor behaves at certain times of day or
|
|
|
in other contexts (like operating as a server).
|
|
|
|
|
|
x How much bandwidth is Tor using? How does this compare to the overall network
|
|
|
traffic to/from the computer?
|
|
|
x Is there network traffic from ports or applications that the user intended to
|
|
|
be anonymized?
|
|
|
What Tor servers does the user know about on the network? Where are they? How
|
|
|
available are they?
|
|
|
An interface for displaying or controlling Tor paths: "show me the network from
|
|
|
Africa by way of Asia". Think of the global satellite map from the movie
|
|
|
Sneakers.
|
|
|
Configure other running applications to use Tor (for example, by modifying or
|
|
|
working through the network stack, and/or by altering application
|
|
|
configurations).
|
|
|
x Provide an elegant installer for Tor, your GUI submission, and other
|
|
|
supporting applications.
|
|
|
X Make your GUI manage the Tor process and other supporting applications --
|
|
|
start them, stop them, realize when they've died.
|
|
|
X Provide meaningful defaults for a good Tor experience.
|
|
|
Provide application-level anonymity -- that is, not just paying attention to
|
|
|
transport anonymity on the level of Tor, but also paying attention to the
|
|
|
anonymity of the http headers, cookies, etc.
|
|
|
Let the user specify different Tor config option sets depending on time of day
|
|
|
(e.g. daytime vs. nighttime).
|
|
|
Provide useful controller functions for Tor servers too -- for example, walk
|
|
|
the user through recommended bandwidth configurations and exit policies.
|
|
|
X Have a "minimized view" of your GUI for common use, and then a more detailed
|
|
|
view or set of windows when the user wants more detail.
|
|
|
Provide a button or some automatically updating interface to let the user learn
|
|
|
whether Tor is working currently, perhaps by accessing an external what's-my-IP
|
|
|
site and seeing if it thinks you're a Tor server; and give useful messages and
|
|
|
recommendations if it doesn't seem to be working.
|
|
|
Provide a way to automatically configure local firewalls (ipchains, Windows
|
|
|
firewalls, etc) to let Tor traffic out (and in, for Tor servers). As a bonus,
|
|
|
configure it to prevent non-Tor traffic from leaving (and notify when it
|
|
|
tries). |