Dooble includes a simple bookmarks browser. Users may also modify an existing bookmark via a popup that's accessible from the location widget.
Along with standard cookie management options, Dooble also provides a mechanism that automatically removes cookies. If permitted, Dooble will occasionally remove undesired cookies.
Distributed Search Engine
Dooble partially integrates the distributed search engine YaCy
Encrypted Browsing Information
Most of the data that Dooble retains is encrypted. Dooble does not encode file associations and user settings. Dooble also provides a session-based model where the data is encrypted with a temporary password.
File Manager and FTP Browser
Highly-configurable proxy settings provide reasonable flexibility.
Dooble supports session restoration for authenticated sessions. If Dooble exits prematurely, the user may restore previous tabs and windows at the next authenticated session.
Third-Party Content Blocking
Some Web sites employ iFrames in order to distribute content from one or more third-party Web sites. Since this technology may raise privacy issues with some users, Dooble provides a means of blocking external content.
- Inspect indexOf() results.
- Corrected a syntax error in dcrypt::setCipherPassphrase() with respect to gcrycallocsecure(). Error apparent with pre-1.5.0 libgcrypt.
- Upgraded Qt products to version 5.2.1 on Linux, OS X, and Windows.
- Replaced the count variable in dmisc::findUniqueFileName() with dcrypt::weekRandomBytes(8).
- Inspect results of QDataStream::operator<<() and QDataStream::operator>>() in dcrypt.cc.
- Review QDataStream operations.
- Renamed Doc to Documentation.
- Added a new option under Settings -> Windows for centering child windows.
- Upgraded OpenSSL libraries to version 1.0.1g on Windows.
- Upgraded SQLite libraries to version 220.127.116.11 on Windows.
- The Linux bundles did not include several Qt libraries. Corrected.
- Issue dcrypt::terminate() in sig_handler().
- Corrected integer conversions. Increased integer variable sizes to accommodate large SQLite integers.
- Important change. Authentication content will now be attached to encrypted data. Please note that this change will cause Dooble to be reset. Please export your bookmarks before updating.
- Dooble shall now generate a separate hash key during the key derivation process. Version 1.5.0, or newer, of libgcrypt must be present otherwise the encryption and hash keys will be derived (loosely) from common data. For pre-1.5.0 versions of libgcrypt, the passphrase's hash is used for capturing encryption and hash keys. For example, for SHA-512, the computed hash is of length 64. The first 32 bytes will be used for an AES-256 cipher. The remaining 32 bytes are to be used for the hash key. Please note that Dooble stores a salted hash of the passphrase in the configuration file.
- The method dmisc::hashedString() has been replaced by dcrypt::keyedHash().
- dcrypt::dcrypt(dcrypt *) did not initialize several class variables. Corrected.
- Removed the stylesheet from the passphrase reminder.
- Inspect argv in main().
- Optimize for size. Change applied to all project files.
- The method dcookies::populate() does not need to remove artificial padding because the length of a plaintext is appended to the plaintext before the product is encrypted.
- Inspect decryption and encryption results. Decryption failures will cause database items to be removed. Please note that this change will be covered by several releases.
- qgetenv() returns a byte array.
- Added SHA-1 functionality to Downloads.
- Close file descriptor opened via creat() in sig_handler.
- Many of the database writes are now synchronized.
- Corrected dooble.sh, per maandree.
- Verify that the decrypted value in dcrypt::decodedString() contains at least 4 bytes.
- The method dbookmarkswindow::slotAddBookmark() did not close the database handle. Corrected.
- If possible, terminate timers on termination.
- Removed the run-time search path from the FreeBSD project files.
- Removed the Plugins/libinterface-win.
- Removed the Packaging directory.