Releases: johanneszab/TumblThree
New Home for TumblThree!
This repository is no longer maintained!
Please visit our new github repository at TumblThreeApp and check out the releases there!
Fixes Tumblr Searches
Re-implements Tumblr Searches:
- E.g. https://www.tumblr.com/tagged/cars to search for "car" tagged posts, and
- E.g. https://www.tumblr.com/search/cars to search for "car" posts.
Use standard .NET TLS version instead of OS TLS version.
This prevents TLS (SChannel 70, EventID 36887) errors and hence unsuccessful connections on Windows versions pre Windows 10. For example, the standard TLS version of Windows 7 is TLS 1.0 which is deprecated.
The settings in this commit sets the TLS version to the standard TLS version of the currently installed .NET Framework (4.7.X) instead of the System/OS default TLS version.
Cache StreamWriter instances for text downloading
Stores StreamWriter instances in Dictionary and reuses them for recurring text appends in text post downloading.
This prevents massive seek I/O in large blog downloads, and hence poor (disk) performance.
Cumulative Improvements
-
Allows to add tumbex urls via GUI, text, or clipboard.
-
Can open blogs on tumbex.com via the context menu (right mouse click).
-
Can download tumblr photos with non-"tumblr_"-prefix.
-
You can now choose which tumblr blog scraper you want to use:
- Tumblr API: The previous default crawler for non-hidden blogs which utilized the Tumblr v1 API, or
- Tumblr SVC: This service is (was?) used by Tumblr internally for displaying hidden blogs. Using this scraper requires a to be logged in.
You can change the crawler in the details view of each blogs. Using the SVC crawler implementation might be faster if it's not as much rate limited as accessing the site via the official v1 API.
-
Can download higher resolution images if available using the SVC crawler. For this, change all your tumblr blogs to use the SVC crawler via the Details Panel -> Crawler -> "Tumblr SVC". Set the downloadable image size in the Settings (Settings->Connections) to "best". This will download the highest resolution image found.
-
It's now possible to set a separate rate limit for the SVC crawler in settings->connections.
-
It's now possible to set the default crawler for Tumblr Blogs in the settings in settings->blog. You can choose between "Tumblr API" und "Tumblr SVC". If you do not tick this checkbox, the default automatic detection will add the blog depending on if it's accessible via the Tumblr API. If it's not, then the SVC crawler will be used as it requires to be logged in (see the notes above for more information on which to pick).
-
Saves the settings directly after performing changes instead of only on application exit.
-
Import blogs from file.
Scan for non-tumblr photo and video urls
Some usage notes/advices for new users.
New in this release:
- Fixes an application crash if TumblThree cannot agree to the new Tumblr ToS (#295, #311, #323).
- TumblThree can now crawl in parallel two different kind of blogs with the same name. For example the "likes" and the regular blog of the same user (#296).
- Updates German translation (thanks to @fdellwing, #300).
-
Contains an option to scan everything TumblThree crawls for photos or video urls using regular expressions. It however excludes urls containing tumblr_, because otherwise too many duplicates were downloaded in all kinds of resolutions (e.g. tumblr_abc_{128,640,1280}.jpg). This might still add duplicates, but it might also gather some externally hosted photo or videos embedded in (text) posts. I've not tested this, it was just an idea I wanted to add before the 17th December. Maybe it's complete crap. Thus, use it with caution.
-
This release contains a lot of code refactoring. If this release doesn't work for you, try the latest previous release found here. That release should be a lot more mature.
-
New in v1.0.8.66:
-
New in v1.0.8.67:
- Prevents same blog additions when triggering the clipboard monitor rapidly one after another.
- Downloads Tumblr videos from the v*.tumblr.com hosts, now also in liked-by downloads (#320).
-
New in v1.0.8.68:
- Prevents application stall if the crawl is canceled immediately after a new crawl started. Previously, in those cases, the crawl button didn't return active after cancel was pressed or a active item remained in the queue, even if the crawler was stopped.
Fixes random parsing error for regular Tumblr blog downloads
Edit: Some usage notes/advices for new users.
-
Retries the Tumblr blog api v1 request if the server returns an empty HTTP-200 (OK) answer which resulted in seemingly random parsing errors for regular Tumblr blog downloads (#280). The maximum retry count is currently set to 3 and can be adjusted by modifying the Settings.json. The corresponding setting is MaxNumberOfRetries.
-
Adds an option to set the queue information refresh rate (i.e. how many times it updates at most in micro seconds).
-
Reverts the default Tumblr photo size from _raw to 1280px. The code for handling _raws is still there, but the default photo size in the TumblThree settings for new Users is set to 1280px again. This currently saves one failed web request per photo download as TumblThree tries to "guess" the _raw photo url for each photo by just accessing it.
-
Checks if there is _files.tumblr database for each corresponding .tumblr database at startup.
-
Checks if the .tumblr databases and the corresponding _files.tumblr databases are valid at startup.
-
New in v1.0.8.63:
- Fixes crawler stall bug that occurred if the blog manager was empty and didn't contain a blog at application startup (i.e. for new users mostly) introduced in the v1.0.8.62 release (#284).
Bugfix release
- Improves the regex pattern for the detection of inlined tumblr videos within other posts content/bodys (#271/#270).
- Uses the content of the trail of each post for the hidden tumblr blog post inline photo and video detection instead of changing fields depending on the posts type (#274).
- Allows to use () and " and probably more special characters in the tumblr search and tumblr tag search (#266).
- Correctly handles SerializationExceptions in the IFiles databases. Previously, the exception wasn't handled at all and would stuck the crawler (#273).
- Displays a list of blogs that failed to deserialize at startup instead of stopping at the first blog (#273).
- Continues to load and add all remaining successfully deserialized blogs to the manager (#273).
- Fixes crawler stall if it was stopped during the online check or maximal post count detection.
- Fixes Tumblr likes download for blogs containing a dash (-) within the name.
SVC Release
- If the main release branch (v1.0.8.X) should ever be non functional (because of dead api), this release should still be working since it uses a service required for displaying the website itself. Requires a login to work, but can download all kind of posts without error prone parsing (v1.0.5.X) of the website itself.
- It's also not rate limited which allows multiple instances to run in parallel if the portable mode is used.
- It offers a lot more meta data which could be grabbed if someone implements it.
Parsing of the Website
- This release can only download pictures and videos. No text posts. It does however not use the Tumblr api and thus is not rate limited during the url detection/scanning process. For more, see #33.
If unsure, do not download this release.