JonDo changelog beta

From JonDonym Wiki
(Difference between revisions)
Jump to: navigation, search
Line 1,398: Line 1,398:
* Information about payment instances is fetched from several InfoServices
* Information about payment instances is fetched from several InfoServices
* anonmity display revised:
* anonmity display revised:
Line 1,494: Line 1,494:
* PayPal interface rewritten
* PayPal interface rewritten
    * better formatted trancaction details
* better formatted trancaction details
    * check of account expiration when connecting
* check of account expiration when connecting
    * removed redundant text from notice of cancellation dialog
* removed redundant text from notice of cancellation dialog
    * removed hint about cost-free testing phase
* removed hint about cost-free testing phase
    * DirectProxy is started automatically if certificate validation is switched off on program start
* DirectProxy is started automatically if certificate validation is switched off on program start
    * for parsing the terms and conditions / notice of cancellation, no DTD is downloaded from the internet any more
* for parsing the terms and conditions / notice of cancellation, no DTD is downloaded from the internet any more
    * Terms and conditions are now shown for each account
* Terms and conditions are now shown for each account
    * each account individually stores the terms and conditions as confirmed when the account was charged
* each account individually stores the terms and conditions as confirmed when the account was charged
    * fixed small bugs in charging dialog
* fixed small bugs in charging dialog
    * removed security question on closing if there are unsaved accounts and the question if the program should be closed had been declined before
* removed security question on closing if there are unsaved accounts and the question if the program should be closed had been declined before
    * links in info window are now clickable
* links in info window are now clickable
    * volume coupons in charging wizard
* volume coupons in charging wizard
    * integration of terms and conditions and notice of cancellation into charging wizard
* integration of terms and conditions and notice of cancellation into charging wizard
    * transaction dialog over all accounts
* transaction dialog over all accounts
    * webstart runs again
* webstart runs again
    * support for several payment instances for testing purposes
* support for several payment instances for testing purposes
    * small bug fixes
* small bug fixes

Revision as of 11:21, 17 February 2010



  • fixed filter for number of mixes


  • mark JAP-Team-only services
  • removed Referer control, as JonDoFox/Firefox can do this much better


  • put "JonDonym" to cascade filters


  • show performance of cascades up to 800 kbit/s


  • show performance down to 30kbit/s


  • 1-Mix-services are now in a special filter "test services"
  • show performance down to 40kbit/s
  • header parsing is now completely deactivated if header anonymization is off


  • use timed file chooser when exporting accounts
  • use instead of localhost for default listener
  • show create account errors above wizard panel
  • strip java version information that is sent to the InfoService to only the most important parts
  • check if signatures are verified before checking signature of price certificate (helpful for development)
  • fixed possible null pointer if PI was not found in local DB
  • fixed possible deadlock in JAPController
  • fixed possible null pointer in MixInfo
  • fixed possible null pointer in Base64
  • added some warnings
  • new test pi certificate


  • remove trailing whitespaces from content-length http header value (fixes compatibility with ISA server proxy)


  • HTTP filter signature is now the same as the JonDoFox header signature


  • new content type header with better compatibility
  • write clear error message if no usable graphical interface was found
  • send empty account warning at 125 MB


  • captcha code was made platform independent


  • fixed problem that updated cascades were not considered for auto-blacklist


  • patch for HTTP client library that reactivates proxy authentication


  • DNS resolution now works over SOCKS5 when forced proxy is set
  • new user agent


  • fixed gzip-header split bug
  • added test case for testing decompression when the gzip-header gets split


  • fixed client-side byte counting for nearly-empty accounts
  • fixed forced cascade auto switch
  • removed backwards compatibility to 7.x mix payment protocol
  • new user agent
  • do not replace referer within the same domain
  • fixed synchronisation issue with InfoServices


  • filter special characters from XML
  • fixed wrong calculation of PC hash
  • fixed problem that dll update window could not be hidden
  • help file updates


  • fixed automatic account switching when account is empty
  • added terms certificate to infoservice configuration
  • no timeout for InfoServiceDB entries in client context
  • enhanced terms and conditions stylesheet and classes
  • updated cz messages


  • show warning if update certificates are about to get invalid
  • show message if Java version is too old on update
  • fixed local/global listener reversal
  • Changed handling of expired certificates to accept them only within a maximum grace time of 2 month
  • updates for terms and condition classes
  • removed some unnecessary panel updates at "onUpdateValues()"


  • filter special characters from cascade name fragments


  • some updates for automatic cascade name generation


  • security and length fixes for automatic cascade name generation
  • fixed possible null pointer in XMLUtil format function


  • fixed possible null pointer in JAPController
  • construct cascade name from mix or operator common name is set by the individual operators


  • store XML database entries in sqlite db for caching


  • small fix for socket listener
  • changed "socks5" labels to "socks"


  • small gui updates


  • work on encrypted control channels


  • warn on usage of possibly insecure browsers
  • added frequent browser name to general statistics
  • fixed possible null pointer in PayAccountsFile
  • small bugfixes for JonDoConsole


  • use JCE DSA key generator if available (needs bouncycastle for >= 1.3 java)
  • added some debug warning messages when opening account import
  • fixed possible NullPointer in HyperLinkAdapter
  • some updates for t&c classes


  • count old library versions as "unknown"


  • fixed memory leak in HTTPProxyCallback
  • warn if credits are not sufficient for big HTTP download
  • auto-intrrupt monitored file chooser if windows API blocks
  • updated some messages and help files concerning browser configuration


  • enable account import
  • basic toString() method for MixCascadeInfo


  • updates on t&c classes


  • send tc templates uncompressed


  • asynchronous start/stop
  • transparent description classes for cascades and mixes


  • activate header filtering for CONNECT requests
  • remove system-wide Java proxy settings with ProxySelector call
  • warn if no InfoService certificates are verifyable on update
  • force global minimum java version
  • recommend stable update if newest beta version is below stable version and below the installed beta version
  • some preparations for introducing AllowProxyConnection callback
  • some help file updates


  • new dutch translation
  • moved TermsAndConditionsDialog to gui package for better reusability


  • make sure performance entries from last day of last week are deleted on day change


  • some help file updates


  • recognize billing errors in payment instance by calculating the sum over all locally stored cost confirmations


  • added functionality for (de)compressing gzip and deflate http-content-encoding
  • some terms and conditions code refactoring
  • removed HTTPConnectionWatch


  • show up to 0.01% in version statistics


  • lower granularity on version statistics
  • added explicit custom filter option for free services


  • downsized DSA key pool for accounts to one
  • create InfoService statistics about Java versions and operating systems


  • clarified data retention dialogs
  • close cascade popup on main window click
  • asynchronous update of payment instances on startup


  • fixed wrong UTF8 transformation
  • fixed possible null pointers in startup classes
  • proxy-keep-alive support for direct proxy
  • show always top of terms and conditions
  • preload anonym-o-meter images for offline and connecting


  • added filter for data retention
  • fixed certificate check for verified cascade certificates
  • fixed tooltip error message for forwarding server
  • do not automatically connect to premium services when custom filter is active and no charged account is available
  • temporarily removed critical header replacement (HTTP_ACCEPT_ENCODING)


  • immediately react on switching automatic account and InfoService updates


  • encode XML characters as entities when storing and loading help path
  • help files: more detailed explanation for Anonym-O-Meter
  • close program on severe startup errors
  • set selection to default InfoService if no InfoService is selected when root panel is shown
  • removed redundant storage of cascade data in services panel
  • fixed performance problem with fast downloads by limiting GUI updated
  • fast removal of status messages
  • removed references to jap packages from InfoSercvice


  • better trust synchronisation logic between TrustModel and JAPConfAnon
  • fixed possible null pointers in BasicTrustModel


  • do not show new services hint when connected to premium service


  • closed some streams that wrongly were kept open
  • some tuning on String handling
  • some help file updates


  • fixed null pointer when deleting account without balance
  • finished first console prototype with full payment support
  • some interface changes


  • fixed a small GUI update error that could lead to the mini view getting displayed over the main view
  • fixed null pointer when connecting to paid service without active account
  • extracted method for reading default certificates from JAPController to JAPUtil
  • some interface changes


  • fixed indexing error that could corrupt http post data
  • introduced aggressive mode for preventing unnecessary XML storage (memory optimization)
  • do not show "application running" window on top of all applications
  • immediatly revalidate all certificates when verification is activated or deactivated
  • show inactive status of expired/unverified InfoServices
  • quality filter replaced by SOCKS5 filter
  • small fix for verification of custom cascades
  • some help file updates


  • moved general InfoService update classes to anon-lib
  • moved passive InfoService update classes to infoservice
  • moved TrustModel to anon-lib
  • extracted AbstractAutoSwitchedMixCascadeContainer class from controller to anon-lib
  • some tc refactoring
  • JobQueue is now a daemon thread
  • added switch for denying search for subclasses
  • by default, do not look for Java updates in portable mode when external JRE is used (may be reactivated)
  • fix for changing more than one certification authority setting: do not update view while changes are being done
  • explicitly allow verification of self signed certificate
  • removed unnecessary signature verification thread
  • do not install help files when console mode is enabled


  • fixed null pointer when messages are not initialised
  • fixed validation of trusted certificates when no root certificate is available
  • harmonize synchronisation order in CertificationStore for preventing deadlocks in certificate user interface


  • ignore certificates when contacting bootstrap info services
  • renamed --portable-help-path to --help-path
  • help path is unchangeable by user if --help-path is set
  • updated some images
  • show default name for custom filter if the name was not changed
  • fixed nested help file verification
  • enable zip/jar extraction into existing directories
  • added command line switch --programName


  • made InfoService performance measurement faster in hard times
  • new default configuration for InfoService performance measurement


  • additional check for valid country code in MixCascade
  • moved JAPMessages and ISO code mappers to anon.util; deleted IMessages interface
  • added a new splash screen and a new main view header
  • fixed GUI update problem at services combo box
  • deny cancel while update wizard overwrites the jar file


  • updated help files (MAC address)
  • added a build target to create a Mac OS X portable distribution
  • new JonDonym graphic
  • enabledsupport for MacOSX dock menu lib
  • change reference from JAPConstants.aktVersion to AnonService.ANONLIBVERSION in XMLResponse


  • fixed possible null pointer when starting DB thread
  • downwardly compatible parsing algorithm for portable help path
  • do not show UTF8 signs for JREs < 1.4 when showing performance data
  • some fixes for strange pack() behaviour on startup
  • show info service error message on top of other windows if it happens on startup
  • added command line option to extract help files
  • changed method MultiCertTrustGraph.countTrustedRootNodes() to count only valid nodes with at least one valid child


  • clearer description in certificate overview
  • show update wizard and help extraction dialog above the current view (including config view)
  • in old JonDos, show hint for reading the new help files on first startup after update
  • fixed a path bug which prevented to install and move the help files
  • allow custom cascade filters that would block all currently loaded cascades
  • disable buttons in JAPConfInfoService and JAPConfCert which are not usable depending on the current selection
  • added new InfoService
  • bugfix: use all InfoService on first startup
  • bugfix: update user numbers on first startup


  • renamed config option "services" to "anonymity"
  • fixed update wizard for the specific case when jar file is root protected, but jar directory is not
  • set relative debug file path in portable mode
  • show all popup windows on current view (including config view)
  • show clearer messages when starting forwarding / anti censorship server
  • keep extended view when updating from old JonDo versions which did not save "extended view" status
  • some GUI fixes for InfoService panel
  • some help file updates


  • show forwarding server checkbox in simple view
  • added linux install script
  • validate config panels on update
  • JonDo updater deletecheck
  • some help file updates


  • moved tac.xslt to source folder
  • fixed problem that portable help path was not set when no portable browser was given
  • fixed some infrequent GUI problems with JFileChooser
  • accept view change in Assistant after restart
  • updated some help files and messages (added some words on TCP timestamp attacks)


  • fix for blocking DB thread on some WinXP systems
  • removed line around coinstack images


  • some fixes for database classes
  • small UI fixes


  • optimized number of timeout threads for internal database
  • show button to changelog in update reminder dialog
  • do admin copy on update only if standard copy fails
  • fixed account backup reminder help context
  • switched 3/4 evaluation for anonym-o-meter
  • fixed loading of simple/normal view


Major changes:

  • more intuitive and friendlier payment dialog
  • added German Privacy Foundation CA certificate
  • user may change and choose the portable browser

Minor changes:

  • removed false error message from windows admin copy process
  • parser and dialog for XML information about mix data retention
  • fixed some GUI and pack() bugs
  • "simple view" is now the default view
  • clearer error message when writing of config file fails
  • patch for small display error in systray (Umlauts)
  • updated anonym-o-meter images
  • fixed exec path for JonDo restart on Linux/Unix systems
  • enhanced and refractored terms and conditions code
  • some help file and message updates


  • new channel encrpytion with RSA-OAEP


  • some help file updates
  • more intuitive payment request dialog


  • some help file updates


Major changes:

  • added new anonym-o-meter images

Minor changes:

  • prepaid byte handling in challenge skipped when mix supports new payment protocol
  • try to load single resources with default Java methods first (important for Applets)
  • visual integration of service contexts


  • Added NEW_CHANNEL_ENCRYPTION option, which enables a modified Mix protocol, which uses two different keys for the symmetric channel encryption for each Mix (one for upstream and the other for downstream) instead of only one per Mix


  • UpdateWizard is closed if rootCopy fails
  • Mac OS updater icon added
  • expired certs are updated while program runs
  • do not auto scale images in MultiCertOverview and CertDetailsDialog
  • emphasize multiple cert paths only if they are valid/not expired
  • validity check before InfoService requests for InfoServices with cert path only


  • now showing icon and "JonDoUpdater" as Application name when opening the Mac OS X admin dialog
  • UpdateWizard disappears when copy fails
  • filter services which do not at least have one non-expired/valid ertification path at the first or last mix
  • block InfoService requests for InfoServices with only expired/invalid certification paths
  • show connected status in details view
  • added context argument to command line
  • some help file updates


  • some preparations for new anonym-o-meter images
  • updated root copy for Windows, Linux and Mac OS
  • do not count more than three Mixes for anonymity distribution
  • do not allow connection to services with only invalid/expired certificates


  • some work on new flow control - should now work as "proof-of-concept"


  • recalculate number of countries and operators for a cascade when certificate status changes
  • complete review of JAPConfCert
  • added some scaled icons
  • added update functionality for Linux/UNIX with root rights
  • show data retention with warning icon instead of text; now also in main view
  • show certificates help in table of contents (introduction part)


Major changes:

  • presentation of data retention services/Mixes complete
  • details view is clearer and slighter
  • show certificate status for operators/mixes also in main window

Minor changes:

  • fixed synchronisation issue when accessing the AccountInfo member
  • fixed header parsing bug which occured when the header messages termination (CRLFCRLF) splits up in two different chunks
  • do not check delay attribute if delay is not filtered
  • some layout fixes in InfoService panel
  • do not count Mixes with the same operator name as Mixes from different operators
  • new ID for ServiceOperator objects: XOR of operator subject key identifiers
  • also blacklist ServiceOperator by organisation name, not only by ID
  • removed speed/delay filtering from default filters


  • clear intructional message in the dialog showing up on a premium connection on how to switch off the dialog
  • hide services with no performance data in user defined filter if performance is filtered
  • automatically update performance info when manually updating services
  • do not delete previous services before manual update (old services are already deleted automatically during database update)


  • Important changes:
  • support for multiple certification paths
  • Minor changes:
  • hide premium services from default filter not until >8000ms delay
  • fixed GUI deadlock by synchronizing pack() and updateValues()
  • plausibility check before showing best bounds (needed if not all InfoServices send best bounds)
  • Service choice reactivated for Linux


  • complete new help files
  • show chosen service on payment messages (context gets clearer)
  • greater/smaller or equal sign for good performance data
  • hide service combobox popup menus in main window on Linux systems
  • allow choosing filters directly from service combobox
  • interface for switching to administrator/root on update; implemented for Windows, prepared for Linux/MacOS


  • never auto-blacklist manually configured services
  • never contact InfoService for missing TaCs when connecting to a service
  • do not propose expired accounts for finishing transactions
  • show availability as "unknown" if no availability data is available
  • show last update time of account balance
  • added equals method to PaymentInstanceDBEntry so that known PIs are not deleted on update
  • if there are unsaved accounts on shutdown, show export dialog for active/random unsaved account
  • reset all values in PaymentMainPanel upon deletion of last account


  • show maxUsers in /cascadewebinfo
  • added header bytes from performance response to byte count


  • do not auto-blacklist manual services
  • never ask infoservice for TaCs when connecting to service
  • do not propose expired accounts for finishing transactions
  • show availability as "unknown" if no availability data is available
  • alternative message strings for setting anonymous access options


  • further implementation of the T&C system
  • added a check method to reject http-header-chunks with invalid line terminations.
  • always check id in status info
  • better coupon field typing logic
  • Send an HTTP/HTML error page when HTTP filtering could not be performed
  • removed DNS resolving when checking XML documents from client context
  • prevent content bytes from being identified as an HTTP response when they have the same aligned byte sequence
  • added options to completely prevent anonymous update/payment instance/infoservice connections
  • reformatted performance bound presentation
  • autoreconnect after account switch


  • webinfos for mixes
  • caching for webinfos


  • send and check last update of PerformanceInfo document
  • show all free services when free services filter is chosen, not regarding their performance
  • service naming: handle the exotic case when first and last mix operator are the same
  • optionally extract mix name and short operator name from the corresponding certificate


  • reformatted status page
  • store also the bounds that were shown without recovery algorithm
  • enable passive infoservice to measure performance
  • added optional "/" to some infoservice commands


  • fixed connection bug in user defined services


  • get cached current performance info at passive startup
  • asynchronous passive mix info update
  • do not propagate or show bootstrapinng info services
  • new performance bound calculation: fast recovery from bad performance periods
  • small bug fixes


  • generic save and restore functions for database classes
  • function for exit address retrieval
  • only load bootstrap infoservices if less than three infoservices are available
  • new config assistant
  • fixed memory leak in AnonProxy class
  • changed some message texts
  • fixed some bugs


  • webinfo document for cascades
  • passive mode for infoservice (fetches information, but does not distribute)


  • added uninstall routine for config and help files
  • immediately update service details upon performance change
  • immediately delete database entries if they were not in the pool fetched from the InfoServices


  • show unknown anonymity as "?"
  • intuitive non-anonymous control:
  • always remember the answer for the control context (no more time restriction)
  • if chosen "Do not show again", temporarily activate the general context (choice is valid for all domains)
  • show 0 deposit as "coupon code" payment
  • protect payment instances with accounts from deletion
  • do not check validity of payment instances after successful update from info service
  • update JAPConfAnon when observers are registered
  • automatically update payment instances when clicking on update button in main window
  • changed some messages


  • fixed bug in Linux, where popup menu closes on clicking
  • some minor modifications that may solve a memory leak
  • show operator nationality in written form in main window


  • set some warnings to lower log levels


  • preparation for auto-close cascade popup menu on moving the main window
  • added a new conf tab for tc (invisible for now)
  • added service contexts for Cascade objects to support different customer groups
  • moved Observer for proxycallback settings from AnonProxy to JAPController because classes from package anon must not import classes from package jap. Also a memory leak was caused by that.
  • fixed possible null pointer in JAPController when accessing anon proxy
  • details log for failed TaC transmission in InfoService
  • remove references to "jap" and "gui" from package "anon"
  • fixed possible null pointer in AbstractX509AlternativeName
  • performance tuning for bound calculation
  • calculate and show stability bounds in JonDo


  • fixed "last test" bug; always show if no result or an error happened
  • get additional exitaddresses from MixInfo
  • return HTTP ACCEPT for dynamic protocol requests (otherwise other InfoServices will block the port)
  • removed one vector-to-string conversion in HTTPProxyCallback for better performance
  • start immediate test if cascade was added and last test is too old
  • removed some debug log entries
  • detailed check for valid exit addresses in Mix infos
  • show number of cascade resets/reconnects in test interval
  • check for valid account befor performance test
  • default file size is now 250 kb
  • do not reduce file size for slow services!
  • Minimum file size for speed test is now 100 kb
  • temporarily disabled terms and conditions post
  • bugfix for reset count: get last value info from previous performance attribute if the current hour has no values


  • asynchronous auto-fill IS temp layer for details panel on startup
  • experimental: show Mix countries next to operator/mix names in Cascade name (main Panel)
  • some more minor modifications in main panel
  • general operator filter for Cascade names


  • correct translation of IP addresses in performance test
  • store IP addresses in perf log
  • switch off agreement protocol by default


  • preparations for showing Operator terms and conditions
  • utf-8 support for XML strings
  • activated system err log on startup as temporary log
  • made preLoadConfigFile more robust against changes in XML structure
  • portable help will now never be installed outside the portable path; if portable installation is not possible, help is shown in internal window
  • reset help path when moving failed
  • show best performance bounds next to current bounds
  • memory optimisation for HTTP-header-filtering
  • remove corresponding connection entries in the HTTPProxyCallback when an AnonProxyRequest is terminated
  • disabled system/Java wide SOCKS settings for JonDo
  • Added JAP Icon for Mac
  • activate new JAPDll (enables admin commands)


  • show only 3-Operator-Cascades in premium filter
  • 2 seconds timeout for account update on connecting
  • set prepaid counter to 0 on receiving old cost confirmation when connecting
  • get exit adresses as "coproduct" from performance measurement
  • show /exitaddresses


  • log some important error messages in anon client classes
  • sane close procedure for data channels
  • fixed small sync and count bugs in Multiplexer
  • added download pause to Multiplexer for testing


  • fixed bug when parsing message that exceeds chunks
  • prepared separate enabling of HTTPConnectionListeners and HTTPProxyCallback


  • re-added user numbers to main window


  • solved HTTP charset problem occuring in Linux
  • show error message if MapBox cannot be loaded


  • split JonDo versions into stable/testing(beta)/unstable; "unstable" will not be released with automatic update, and will not appear in changelog
  • enhanced header filtering so that it can process headers spread over several chunks


  • fixed eventual null pointer in HTTP processing classes
  • added license text to some files
  • removed some copy&paste-code from HTTPProxyCallback


  • filter speed value only if positive speed filter is set
  • added 1500 kbit/s speed bound
  • moved whiltelist option to a lower position in its panel
  • remove illegal speed/delay values from bound calculation in JonDo
  • added some messages and characters for unkown performance data
  • set InfoService performance bound to 15%
  • reset to previously chosen filter if performance filter is being edited and config cancel is pressed
  • InfoService returns Integer.MAX_VALUE when no speed data is available (but -1 in case of an error)
  • InfoService shows unmeasured performance values as "?"
  • InfoService: added some synchronisations
  • InfoService: serious bug in bound calculation fixed - bound vector was not correctly reduced


  • recognize and store duplicate HTTP headers
  • if anonymity is switched off, allow for domain-wise and for general control of non-anonymous access
  • remove the 20% worst results for calculating the InfoService performance bounds


  • converted performance measure fields to int values
  • removed unnecessary update command for settings panel which lead to deadlocks in MacOS X


  • edit filter directly in the Cascade popup menu
  • force reset of allowance for non-anonymous surfing by renaming the XML attribute
  • fixed null pointer in cascade transport connection when network error occurs
  • do not load/store MixInfo objects any more, as they are automatically generated from MixCascade-Objects
  • windows registry java class
  • fixed password bug that occured when password was not typed in correctly
  • filter HTTP headers like JonDoFox
  • set performance info updater to a higher priority than Mix Cascade updater
  • more realistic performance bounds and filter settings
  • prepared macosxlib for Dock menu
  • fixed error in delay display >4000 (ms instead of kbit/s)
  • automatic Windows dll update with admin rights
  • support for shellExecute in Windows dll
  • dll update now even possible if dll is not located in same folder as JAP.jar
  • if automatic update is not possible (too old DLL) then give detailed instructions for DLL update
  • consistent default values for "reset to defaults"
  • small fix for help files
  • new default help path for windows / block virtual folders
  • added some missing images for help display
  • general code and comments cleanup, documentation
  • InfoService performance test starts immediately for new cascades
  • show bounds in infoservice detail pages


  • set application name for Skype connection


  • no changes


  • Added some log messages for anti censorship connection classes


  • Changed ConsoleView: delay setVisisble a little bit do avoid 100% CPU consumption in some stange setting where input is not available


  • Implementation of new forwarding functionality prepared


  • enable shellExecute for Windows
  • automatic Windows dll update with admin rights
  • if automatic update is not possible (too old DLL) then give detailed instructions for DLL update
  • consistent default values for "reset to defaults"
  • new default help path for windows / block for virtual folders


  • detailed performance view
  • open HTML help in development environment
  • removed some compiler warnings
  • slightly modified filter criteria


  • enable fine granular domain restrictions when anonymity mode is off
  • move help button is now only accessible if help is installed
  • if "JonDo" is part of the chosen help directory path, just ignore any "help" directory already existing there
  • repeat display of auto-removed status panel messages if displaying is interrupted


  • get environment variables on Java 1.2-1.4
  • GoogleMaps for MapBox
  • additional error checks when opening processes
  • new browser icon
  • correctly identify different versions of the same operator certificate when counting Operators


  • InfoService: try perf test connection to oneself first
  • InfoService: show percentage of StD in status details
  • InfoService: modified defaults for perf test
  • made JonDo robust against missing perf test data


  • help files auto extraction and presentation in default browser (with fallback to internal help window)
  • set default connection timeout from 20 to 30 seconds
  • added fast login timeout of 4 seconds until default timeout is reached or a Cascade connection is established (only if auto switch enabled)
  • sliding performance measure time frame for InfoService
  • secured performance info against malicious InfoServices (ID check)
  • show max users for limited Cascades
  • recognize Operator certificates with same SKI as same Operator when counting mixes
  • do not show blocked payment options in transaction details
  • adapted default paths to defaults in Windows XP / Vista


  • fixed possible deadlock while closing dummy traffic channel
  • stabilised performance meter


  • do not close anonymous connection if accounting login timed out


  • parse account backup time as long
  • adapted speed filter to higher values
  • set minimum dummy traffic as default
  • stop dummy traffic with wait/notify
  • fixed int overflow in update wizard


  • redesigned some internal interfaces


  • show error window when starting JonDo and JonDo already runs
  • if account has expired, do not show a warning dialog when deleting


  • preparation for incuding an additional 64 bit dll


  • show country flags in main window
  • Yahoo MapBox instead of mapquest as mapquest is not parsable for us any more
  • some more infoService statistics for performance meter


  • set account expiration notification up to seven days
  • renamed tab "Untersuchung" to "Studie"
  • show "Services" before "InfoServices" in settings


  • fixed some null pointers in InfoService performance tests
  • positive checkID for MixInfo is now mandatory


  • no change


  • put remaining credits on top of payment view


  • hotfix: PayPal changed from language to country code without a notice... We will have to let the payment instance create the link in the future to better react on these kind of things.


  • fixed view problem with manually created services related to flags


  • country flags for mixes and operators
  • some more adaptions for study
  • interrupt fixes for dummy traffic channel


  • keep performence measures of at least 2/3 of the InfoServices
  • more InfoService performance statistics


  • fixed a serious consistency problem: missing synchronisation could result in garbage if upstream/downstram transmissions happen at the same time


  • further preparations for intersection test


  • renamed services with costs to premium services
  • automatic reconnection to free services, if premium services are unwanted
  • automatic connection to premium service if account is charged after charging wizard
  • activated proxy error detection


  • temporarily removed proxy error recognition


  • filter sliders are clickable
  • preparations for public intersection test
  • new proxy error recognition


  • removed some old paysafecard code lines
  • fixed possible null pointer in JAPMessages (for InfoService)
  • some more statistics for performance monitoring in InfoService
  • altered delay slider
  • basic replay detection


  • MacOS restart fixed
  • fixed which space problem when starting portable firefox
  • fixed XML Element cast issues
  • fixed transaction overview bug
  • fixed null pointer exception when PaymentInstanceDBEntry is not found for signature check
  • performance monitoring for Mix Cascades (pay/non-pay)
  • changed layout of humanStatus() page
  • speed/delay filter
  • removed unnecessary command line option --portable-browserprofile
  • some enhancements for editing user defined Cascades (logical behaviour)
  • added in-panel explanation for single Mixes
  • do not show active content warning in portable mode (usage of JonDoFox is assumed)
  • added message for charged active payments in last wizard page
  • new paysafecard implementation


  • preparations for performance monitoring
  • added some translation texts
  • bugfix zlib streams
  • MacOSX: empty lines allowed in browser path


  • more strict login procedure for paid cascades
  • editable cascade filter
  • prepared for mobile usage with MacOS


  • prohibit multiple starts of JAP/JonDo by default
  • allow multiple starts only with command line parameter
  • Details: automatically sort services
  • Details: show unusable services in light grey


  • priority queue for control messages
  • buffered reader for TLS connections


  • enhanced fix for restart on loss of network connection


  • added thread.yield() into up- and download threads


  • automatic restart in case of access to network layer of operating system is not recoverable as of a Java VM error
  • no remindes for Java update in status line if update remidner is deactivated


  • payment copy button is also enabled when clicking on image link
  • reminder for active payments without link must be clicked to proceed
  • fixed possible null pointer in MixCascade class
  • some syncs with payment instance code


  • preparations for InfoService performance meter
  • added date to paysafecards transaction ID
  • added counter to paysafecards transaction ID
  • limited possible clicks for paysafecard payments
  • automatic account update after charging with paysafecard


  • fixed some message mistakes
  • added debugging output to certificate validation


  • removed accidentially introduced test button 'Charge'


  • enhanced paysafecard usability (not yet finished)
  • show copy button after first click on pay


  • added basic paysafecard support
  • new protocol for test payments with credit card
  • handled some uncaught exceptions
  • close connections to payment instance after exception
  • timeouts to payment instance shortened
  • added images to some payment methods
  • select stable or beta changelog automatically when updating


  • fixed some errors when opening browser
  • added identifier to volume plans


  • certificate for test payment instance renewed


  • small bugfix for MacOS
  • code formatting


  • logo put to the left again
  • show browser icon if path is known only


  • open transactions are deactivated after two weeks


  • payment instance expiration check
  • new logo/splash


  • new splash screen and new logo text in GUI


  • new parameter --portable-help-path


  • debug info for used config file and browser


  • "block infoservice interface" error handling in InfoServiceDBEntry.doHTTPRequest() activated for socket timeouts (temporary unavailable)


  • random Cascade change on startup may be switched off by option


  • adapted french translation
  • IDs for payment rates


  • warn if account is about ot expire
  • small text changes
  • french translation updated


  • small language fixes
  • small updates in help files, e.g. in "credits" and "trouble"


  • show "free of charge" with single Mixes
  • start of portable browser (if availabe) possible via popup menu


  • small change in http client lib (trim)
  • new debug statement in AIControlChannel
  • fixed hidden checkbox in payments without link
  • fix: show payment information in payment wizard for other languages than english and german


  • option to show messages only for free Cascades
  • optional longer text for message popups
  • open browser in MacOS
  • show payment data with french translation
  • lead to account backup on shutdown, if account is not saved
  • renamed account "export" to "backup"
  • added some translated texts


  • fixed link to info page
  • added reminder for payment by web link


  • completed translation of german, english, dutch and french
  • prepared help file paths for drupal cms integration
  • eliminated headline in services combo box
  • show warning when anti- censorship is active/activated
  • enable popups for free connections
  • adapted mini view to better fit on screen


  • suppress automatic assistant startup in portable mode
  • suppress reminder at shutdown in portable mode


  • When a portable browser is given, internal URLs are now opened in this browser. The system default browser is ignored and is used in case of an error only.


  • Removed the "block infoservice interface" error handling behaviour in InfoServiceEntry.doHTTPRequest() -- because the current implementation would be to restrictive, i.e. not all exceptions catched really indicate that the related IS does not work at all. An example for this is, that the IS seems to deliver garbage for ZLIB encoded requests from time to time but will work perfectly for PLAIN requests (ok this could also be seen as a bug in the IS -- but this is another story...) Probably the interface should be only blocked if a connection attempt failed...


  • JonDo does not freeze any more when stopping the forwarding server
  • --portable-browser has been re-renamed to --portable
  • path to browser is optional now
  • jap.conf is save to and loaded from the directory where JAP.jar resides by default
  • --portable-jre causes JonDo to suppress Java update messages


  • added capability of sending messages to clients with accounts
  • renamed argument --portable to --portable-browser and added it to help message
  • fixed graphic problem with browser button


  • InfoService messages may be deleted after the first clicking only
  • if no anonymous connection exists: DirectProxy runs more intuitively (display of the requested IPs/domains, no further callback if IP/domain has been allowed before)
  • hidden start option --portable to include a link to a browser
  • JonDos logo in main view


  • Account update after import
  • StatusPanel now resets view if only one message is left and is deleted
  • renamed "delete" of status messages to "hide"


  • Added --cascade command line option (for setting the cascade used from the command line)
  • Some cleanups in parsing hostname:port - i.e. moved it to ListenerInterface as code for parsing hostname:port could be found in different classes before


  • main window resizable


  • finished dutch translation


  • Success and error pages after e-gold payments are shown in available languages only
  • InfoServiceHolder logs the requests code after errors
  • order of shown payment options may be determined by the payment instance
  • balance of at least 100 MB is shown as full
  • instead of ugly kb formatting, the activity display in the main window is animated, if data are transferred


  • no error message in log if balance update fails while JAP is shutting down
  • a balance update is fetched at every new connection, when the first bits of data are transmitted
  • change of payment method in charge wizard is possible
  • choice buttons at rates are better aligned
  • possibility to switch off anonymity if asked when switching or deleting active account


  • link to changelog in update wizard
  • fixed bug in credit card payments for Cents
  • notice for time needed for accounting of payments added at end of account dialog
  • English is always default language if preset language could not be found
  • fixed NullPointer error while switching in details


  • removed another deadlock, caused by updating the account display
  • fixed status URLs for other languages than de/en
  • linked help to network settings
  • fixed link to proxy setting in assistant
  • confirmation request before deleting status message
  • when opening URLs via JAP, a possible general blocking of non anonymous connections is switched off, if anonymity mode is off and the requested web site is called via HTTPS; otherwise, no error message could be shown
  • prepared for e-gold payments


  • display of transferred data and account credit in main view in kbyte
  • fequency of balance updates dependent from transferred data volume
  • alignement of balance and transferred data in main view
  • delete button for messages from InfoService
  • status panel adapts to change of font size
  • main window is not resizable any more
  • font resizing now only up to 130%
  • for web based payment methods, the link is changed from HTTPS to HTTP, if anonymity is off, so that JAP may show an error message


  • open transactions may be viewed directly
  • disconnection if no connection is possible and browser transaction has been started (error message gets possible)
  • indication of open transactions and expired accounts in the main window Hauptfenster
  • fixed NullPointer when creating an account and no account existed yet


  • started dutch translation
  • wizards adapt their size if content is slightly too big
  • ScrollPane for transaction details
  • enhanced language choice in assistant


  • SOCKS test class
  • removed switchoff of socket timeout for pay Cascades


  • CC self healing mechanism enhanced
  • language settings are loaded from the client directory first, and then from the JAP.jar, to make editing of localisation easier
  • anonmity display revised
  • values between 0 and 10
  • (number of users) / 500 * (countries + operators) + (countries - 1) + (operators - 1)
  • countries (maximum of 3)
+ one point for each Mix, if Operator AND Mix reside in another country than the other Operators/Mixes, respective
  • 3 operators at maximum
  • fixed too low counting of countries


  • fixed freeze bugs at unnecessary validate command and null pointer to PacketCoutner
  • self healing mechanism for lost CCs


  • Bug fixes in Tor client implementation


  • fixed freeze bug when showing waring for empty account
  • fixed CC accounting (now always the PrepaidInterval is filled)
  • fixed payment flipping panel


  • size of "Details" panel may be stored
  • changing the font size automatically resizes details/main window
  • information on accounting panel is somewhat more meaningful
  • when an account is close to be empty, creating a new account is suggested


  • button "activate" is greyed out for active account
  • fixed delete function for accounts
  • wrong counting of transferred bytes has been fixed (was too low)
  • less threads for counting of bytes
  • slightly enhanced Cascade "Details" performance
  • signature check is now low priority thread (less processor load)
  • inserted "JonDo" in title line


  • correction of the CC calculation (bugfix)
  • temporarily removed proxy error recognition, as it is not reliable
  • more frequent account balance updates


  • optional restriction of concurrent requests (if there is no sufficient memory)
  • automatic switch to other account when Cascade disconnects if current account is empty
  • random choice of payment instance network interface (load sharing)
  • listener host/port can be set via command line
  • forwarding client, port listener and proxy have been combined on the network panel


  • numer of concurrent InfoService threads restricted
  • certificate for test PI and test Cascades will from now on be automatically removed from the stable version


  • when requested by the Cascade, a cost confirmation is always sent (even if it is not a new one)
  • new icon for SOCKS


  • Support Mix Cascades with SOCKS5 proxy protocol (in addition to HTTP)
  • displays services with SOCKS5 support
  • fixes compatiility problem of popup menus with Sun JDK 1.6.0_02 (JDK 6u2)
  • checks of Cascade accounting (JAP<->Mix) revised
  • 0 cost confirmations have been forbidden
  • display of JRE name on Sun homepage in update dialog
  • deactivated incremental update in beta version as well


  • fixed deadlock in details panel


  • Information about payment instances is fetched from several InfoServices


  • anonmity display revised:
  • base anonymity = (number of users) / 500 * (load) / 100
  • values between 0 and 10
  • country bonus:
+ two bonus points at maximum
+ one bonus point for each Mix, if Operator AND Mix reside in another country than the other Operators/Mixes, respective
  • Operator bonus / operator penalty:
+ two bonus points at maximum
+ one bonus point for each second and third Operator
+ Cascades with at least two Operators get an anonymity of at least 2
+ substraction of one point if only one Operator is in the Cascade
+ total anonymity may not be more than 2 if only one Operator is in the Cascade


  • Coupons may now be entered with right mouse button
  • more intuitive account usage (JonDo chooses proper account automatically on connection)
  • cascades with costs are no more chosen automatically on first start
  • width of transaction details is now static


  • hopefully removed freeze bug when connecting to test cascade
  • status panel is now updated correctly


  • Cascade filter simplified again
  • performance enhancement in details view
  • Cancel button for terms and conditions in wizard


  • Cascade filter rewritten
  • automatic updates for the status of all Cascades
  • Details: shows grade of anonymity instead of user numbers
  • fixed overflow of anonymity grade


  • new Mix Cascade filter for a more transparent view of security attributes
  • coupon field is now suitable for copy & paste
  • chosen Cascade fitler is not printed fat under "Details"
  • duration is given for rates instead of estimated end date
  • fixed presentation error in certification authorities panel


  • Choice field for Cascade filters in details view
  • fixed error in account view if payment instance was not found
  • messages are now shown with one click


  • localised date information
  • unambiguously formatted rate volumes


  • payment information about cash / money tranfer are shown in the charging dialog again


  • removed error at verification of price cert hashes (wrong order)


  • updated payment instance certificate


  • dummy traffic is now possible starting with 6s
  • removed password entry when creating the first account


  • transaction details for open payments may be viewed at any time now
  • default language for terms and conditions and notice of cancellation is now english


  • dummy traffic is mandatory now in order to keep the cascade connection; only the interval may be set
  • certificate for test cascades
  • prepared for additional InfoService


  • When deleting an account the question if the current account state should be fetched has been removed, if the account has already expired
  • fixed error when parsing volume plan price
  • tooltip text on terms and conditions
  • new certificates for Mixes, InfoServices and Payment Instance
  • repaired update certificate
  • PayPal interface rewritten


  • better formatted trancaction details
  • check of account expiration when connecting
  • removed redundant text from notice of cancellation dialog
  • removed hint about cost-free testing phase
  • DirectProxy is started automatically if certificate validation is switched off on program start
  • for parsing the terms and conditions / notice of cancellation, no DTD is downloaded from the internet any more


  • Terms and conditions are now shown for each account
  • each account individually stores the terms and conditions as confirmed when the account was charged
  • fixed small bugs in charging dialog
  • removed security question on closing if there are unsaved accounts and the question if the program should be closed had been declined before
  • links in info window are now clickable


  • volume coupons in charging wizard
  • integration of terms and conditions and notice of cancellation into charging wizard
  • transaction dialog over all accounts


  • webstart runs again
  • support for several payment instances for testing purposes
  • small bug fixes
Personal tools