Commit Graph

246 Commits

Author SHA1 Message Date
Fabian Schlenz 3db48864bc Trying to rename downloaded files more than once. This could help against aggressive anti virus tools. 2016-09-15 06:23:10 +02:00
Fabian Schlenz 7e26ff0849 Added support for accounts having more than 1 million messages. 2016-09-05 06:47:01 +02:00
Fabian Schlenz 5a9cd6bd80 Apparently there can be TLDocuments without any TLDocumentAttributes. This interrupted the message download with an NPE. Fixes #10. 2016-09-05 06:14:52 +02:00
Fabian Schlenz 11b5dc66e5 Version check now sees 1.0.4-pre.1 as older than 1.0.4, but 1.0.4-abd332 as newer. 2016-09-02 16:38:00 +02:00
Fabian Schlenz 71fb63443b Added a test feature reachable by using `--test 1` to test entries in a local cache4.db file for compatibility. 2016-09-02 06:50:49 +02:00
Fabian Schlenz ed442765ef Slightly modified log levels in DownloadManager. 2016-08-31 07:05:00 +02:00
Fabian Schlenz 8f5a9a9ad5 Renamed --debug-telegram to --trace-telegram and added --trace, while --debug now shows only log entries up to DEBUG level. 2016-08-31 07:04:12 +02:00
Fabian Schlenz dfd714e481 Added command line option --no-media to skip downloading media files. 2016-08-31 07:03:49 +02:00
Fabian Schlenz 34cca18009 The check for the last message ID should ignore channels, because they have their own numbering system which could result in numbers larger than your own message IDs which leads to downloads of lots of empty messages which then block further backups. 2016-08-31 06:55:22 +02:00
Fabian Schlenz 5291b35f63 Added version checking code. Complete with unit tests. Oh yeah. :D 2016-08-29 07:01:32 +02:00
Fabian Schlenz 3e64b336a8 Only create a database backup if there isn't one already. This prevents overwriting a perfectly fine backup with a more or less broken one in case a database update fails. 2016-07-27 06:11:50 +02:00
Fabian Schlenz eb9715cb09 * Explicitly close ResultSet in DatabaseUpdate process to prevent not being able to update the Database due to it being locked. Closes #6.
* Don't create backup of non-existing database if we're creating a fresh one.
* Changed the style of HTML exports slightly.
2016-07-26 21:24:21 +02:00
Fabian Schlenz fad822d53d Removed the old StatsExporter since the stats are now included in HTMLExporter's output. 2016-07-26 18:15:25 +02:00
Fabian Schlenz cbdb5dfcb9 Massively better exports. Stylesheets and Stats added. 2016-07-26 18:10:30 +02:00
Fabian Schlenz 68f8841d12 HTMLExporter: Moved from Google charts to Highcharts; implemented the heatmap. 2016-07-26 06:42:48 +02:00
Fabian Schlenz 24f8320a42 Fixed the login process when two-factor authorization is used. 2016-07-26 05:59:58 +02:00
Fabian Schlenz 458894a8bf Improvements in account handling; detection for a mismatch between selected account and used account authorization. 2016-07-26 05:54:11 +02:00
Fabian Schlenz 8a266dedfe If your auth data is invalid or missing, you will be prompted to re-login to telegram. 2016-07-26 05:49:20 +02:00
Fabian Schlenz 7b28f8b7d0 Small code fixes / improvements. 2016-07-25 18:44:37 +02:00
Fabian Schlenz 75566ef53a WIP: Changes to the exporter. Stats are included in HTML output; Heatmap added. 2016-07-25 18:21:52 +02:00
Fabian Schlenz 627cef0ae2 Added some more debugging to UserManager. 2016-07-25 16:24:28 +02:00
Fabian Schlenz 77bfcfb849 Added a .gitkeep to build/resources/main in order to have git automatically create that folder on checkout / clone. 2016-07-21 06:36:23 +02:00
Fabian Schlenz 1481e5625e Completely reworked logging.
* Using slf4j and logback for logging.
* Disabled all logging output from kotlogram by default.
2016-07-20 06:37:24 +02:00
Fabian Schlenz a43b81ee91 Rewritten FLOOD_WAIT detection code. 2016-07-15 22:22:58 +02:00
Fabian Schlenz d339472ba8 Getting an error 500 while downloading files now skips the current file. If it happens two times in a row, we quit. 2016-07-15 22:22:18 +02:00
Fabian Schlenz 3546127690 Photos also have a dcId. Use it to prevent unnecessary FILE_MIGRATE_* stuff. 2016-07-15 07:04:58 +02:00
Fabian Schlenz 7181ec69d3 Using a special downloaderClient for fiel downloads. 2016-07-15 07:04:45 +02:00
Fabian Schlenz f2b6bc6e16 Fix NPE at Database.java line 199. 2016-07-15 07:01:09 +02:00
Fabian Schlenz 051c0a31af Cleanup 2016-07-15 06:35:06 +02:00
Fabian Schlenz f460d2307a Caching partially downloaded media data. 2016-07-14 19:47:10 +02:00
Fabian Schlenz fc7d3fdcbc Updated Kotlogram to the current HEAD. This also added a small database change and the need to update database entries for messages with media that were downloaded with api layer 51. 2016-07-14 19:43:41 +02:00
Fabian Schlenz b4c50a0163 Preparations for caching downloaded files. 2016-07-14 06:43:44 +02:00
Fabian Schlenz ffddfe68d1 More Logging. 2016-07-14 06:21:58 +02:00
Fabian Schlenz 61b5ba7676 Always display exceptions. 2016-07-14 06:15:21 +02:00
Fabian Schlenz 0b95b42607 Moved Dabase changes into their own class. 2016-07-13 06:56:00 +02:00
Fabian Schlenz ac67818d28 App now always exits. 2016-07-13 06:22:11 +02:00
Fabian Schlenz c5c692d61d Useful logging when called with --debug. The old --debug is now --debug-telegram. 2016-07-13 06:20:51 +02:00
Fabian Schlenz 95a02e89c3 Always show creator info when running. 2016-07-13 06:07:37 +02:00
Fabian Schlenz ee16af7d3c Version now automatically gets set by gradle. 2016-07-13 06:06:26 +02:00
Fabian Schlenz fefebc9cd6 Cleaned up CommandLineOptions. 2016-07-11 18:17:42 +02:00
Fabian Schlenz 6499aed3c1 CommandLineOptions is now static to make usage easier. 2016-07-11 18:11:12 +02:00
Fabian Schlenz 71150a36d2 Don't die with NPEs if a MediaFileManager tries to download an Empty media thing. 2016-07-11 06:34:16 +02:00
Fabian Schlenz 468c5517dd Supergroups have their own message IDs. Load more than the 1 last dialog and take the biggest ID. 2016-07-11 06:31:06 +02:00
Fabian Schlenz 7e91ec092e Stop execution if an error happens during database upgrades. 2016-07-11 06:25:19 +02:00
Fabian Schlenz 05dea702c3 Randomly choose file download block sizes in the hope of getting rid of FLOOD_WARN errors. 2016-07-11 06:21:34 +02:00
Fabian Schlenz 99b25c7272 Reduced the file download chunk size from 10 to 1 MByte. 2016-07-09 12:25:27 +02:00
Fabian Schlenz 41f8fc80c5 WIP: Added StatsExporter. 2016-07-09 12:19:42 +02:00
Fabian Schlenz 8b361d5547 More and nicer exports. Mustache is nice. 2016-07-08 14:21:11 +02:00
Fabian Schlenz 4e227e55c8 Added a method to create database backups before doing huge database update stuff. 2016-07-08 06:58:58 +02:00
Fabian Schlenz db52b8da47 Big database update. Removed old fields, renamed others to make more sense, added a few new ones. 2016-07-08 06:53:14 +02:00
Fabian Schlenz 2e43ad90a6 Completely reworked the file download part and made it much, much more object oriented. 2016-07-07 17:10:00 +02:00
Fabian Schlenz ecbca30a10 WIP: Using mustache as template engine for HTML exporter. 2016-07-07 06:40:00 +02:00
Fabian Schlenz c62e6db3d3 TelegramUpdateHandler now only displays debug information if you set .debug to true. 2016-07-07 06:30:00 +02:00
Fabian Schlenz 5253145024 Only run the code in TelegramUpdateHandler if user and db are set. 2016-07-07 06:24:07 +02:00
Fabian Schlenz 2bee99518b Bumped the version to 1.0.3. 2016-07-07 06:18:58 +02:00
Fabian Schlenz 515efb2fde WIP: Added Daemon-mode to keep the app running and save new messages in real time. 2016-07-06 18:07:04 +02:00
Fabian Schlenz 1c92f02422 Added a new database to track runs of this tool in order to be able to monitor them later on (Nagios, Icinga and so on). 2016-07-06 13:58:25 +02:00
Fabian Schlenz 0d431beba6 Moved FLOOD_WAIT exception handling to Utils class. 2016-07-06 08:30:23 +02:00
Fabian Schlenz b3913ac123 Moved login code to it's own method; using System.console() (if possible) to let the user enter his password without it being echoed to the console. 2016-07-06 08:08:20 +02:00
Fabian Schlenz 2cb1d717b3 Bumped the version to 1.0.2. 2016-07-06 07:52:34 +02:00
Fabian Schlenz 799bad9755 FLOOD_WAIT-Protection now adds a few minutes of waiting time to give the API time to relax. Also increased the delay between file downloads to 1.5 seconds. 2016-07-06 07:52:20 +02:00
Fabian Schlenz 30618b4e3e Bumped the version to 1.0.1. 2016-07-05 17:40:18 +02:00
Fabian Schlenz 07aec6a94d Added GPLv3 headers to all the source files. 2016-07-05 15:32:54 +02:00
Fabian Schlenz 989e2e1d5c Added a short text to inform the user of how to exit the program if it doesn't do that by itself. 2016-07-05 15:32:20 +02:00
Fabian Schlenz 140dfdfabc Better error message for max_database_id>max_message_id. 2016-07-05 15:22:32 +02:00
Fabian Schlenz f5a478a454 HTMLExporter now also outputs the time of messages. 2016-07-05 15:22:08 +02:00
Fabian Schlenz 84984ddc20 Prepared to catch TimeoutExceptions and restart the download, if necessary. 2016-07-05 14:20:32 +02:00
Fabian Schlenz d2795cc7ab The code is now under GPLv3 license. 2016-07-05 14:03:46 +02:00
Fabian Schlenz bfdd70933d Added FLOOD_WAIT detection. 2016-07-05 13:31:45 +02:00
Fabian Schlenz bad165e97b Added support for downloading Geolocation maps. 2016-07-05 12:56:14 +02:00
Fabian Schlenz c8e33fa319 Added beginnings of an HTMLExporter. 2016-07-05 12:55:25 +02:00
Fabian Schlenz cf6ffc4c60 Fix for NPEs if the target directory does not exist. 2016-07-05 07:56:18 +02:00
Fabian Schlenz b3018ad10e Compatibility to JAVA 1.7 2016-07-05 07:55:53 +02:00
Fabian Schlenz 523ee51d22 Added a feature to display the version. 2016-07-04 15:45:45 +02:00
Fabian Schlenz e03f96363f Files get saved to the user dir by default, but you can change this value by using '--target'. 2016-07-04 15:37:23 +02:00
Fabian Schlenz 07ba594a15 Added automatic checks for missing messages in the database complete with download of these mesages. 2016-07-04 13:33:17 +02:00
Fabian Schlenz 29b963ec25 We only need the most recent dialog in order to get the top message id. 2016-07-04 11:04:35 +02:00
Fabian Schlenz 3b01f47f38 First database schema update. 2016-07-04 10:19:55 +02:00
Fabian Schlenz 83664b8fc0 Better support for empty media types. 2016-07-04 10:19:36 +02:00
Fabian Schlenz 8c0bb8aa83 Removed main.iml 2016-07-04 09:36:03 +02:00
Fabian Schlenz 293e77636e Delete files with too less bytes. 2016-07-04 09:35:40 +02:00
Fabian Schlenz 45e3e22ef3 Users and chats are saved to the database as well; DB schema changed requiring you to delete your database.sqlite at this point; old 'good' messages will not be overwritten by newer 'empty' messages. 2016-07-04 09:35:12 +02:00
Fabian Schlenz 7eed1f6bb1 Configurable delay between Message downloads. 2016-07-04 09:33:42 +02:00
Fabian Schlenz 95e74c58eb Better command line output during media download. 2016-07-04 09:32:53 +02:00
Fabian Schlenz 28965277e7 Added support for audio media. 2016-07-04 09:32:30 +02:00
Fabian Schlenz a2d3dadf7b File size-aware file downloading. Fixes #1. 2016-07-02 19:43:01 +02:00
Fabian Schlenz d75d409f87 If there is just one account, use it if possible. 2016-07-02 19:42:19 +02:00
Fabian Schlenz ba7e76087a Beginnings of a Swing GUI. 2016-07-02 14:12:57 +02:00
Fabian Schlenz c0bc3cdd2d You could call this version a first beta version. 2016-07-02 10:55:20 +02:00
Fabian Schlenz 265f3e854a This looks more or less usable... 2016-07-01 11:25:44 +02:00
Fabian Schlenz d60a56711a Download-stuff. Files. 2016-07-01 07:40:08 +02:00
Fabian Schlenz 29d5fc37d0 Commandline-Stuff, Database-stuff. 2016-06-30 10:54:40 +02:00
Fabian Schlenz 1c3d10befb Kotlogram works, login is working. 2016-06-30 07:47:37 +02:00
Fabian Schlenz a7caf248a3 removes basically all code. Fresh start. 2016-06-29 11:01:26 +02:00
Fabian Schlenz 3f5fd7787c Removed libraries. 2016-06-29 11:00:29 +02:00
Fabian Schlenz 53d2b1674f First commit: Just a collection of library sources from Github. Compiles, but doesn't work. 2016-06-29 10:59:33 +02:00