Jump to content
Ketarin forum

kazso

Members
  • Posts

    29
  • Joined

  • Last visited

Everything posted by kazso

  1. When i add a variable to an application, which is part of the download URL (for example https://download-installer.cdn.mozilla.net/pub/firefox/releases/{version}/win32/en-US/Firefox Setup {version}.exe) or the filename (for example d:\Firefox {version}.exe), and the variable is read from a local file, then canceling a file download (update or force download) will result in an unhandled exception error: I get the same error with Ketarin 1.8.10.15 and 1.8.11 Beta. These are the steps to recreate this error (using Firefox as an example): Create a text file (c:\firefoxversion.txt) and write a version number into it (68.0). Create a new application in Ketarin (Firefox), and add a version variable to it. Change the type to Content from URL (Regular Expression), add the path to the text file into Contents from URL (c:\firefoxversion.txt), and add [\d\.]+ as the regular expression. Add the download URL: https://download-installer.cdn.mozilla.net/pub/firefox/releases/{version}/win32/en-US/Firefox Setup {version}.exe Add a path to Save in folder (c:\). Update (or force download) this application. Cancel during the download. I uploaded firefoxversion.txt and firefox.xml. To test this, import firefox.xml into Ketarin and copy firefoxversion.txt to c:\. firefoxversion.txt firefox.xml
  2. Here is another Filehippo bug. This time Filehippo combined 32-bit and 64-bit versions of the same program into one page. Before this 32-bit and 64-bit versions had separate links. For example: http://filehippo.com/download_itunes_32/ http://filehippo.com/download_itunes_64/ Now it's just http://filehippo.com/download_itunes. This means, that Ketarin will always default to the 32-bit version. I had some 64-bit programs configured in Ketarin, and all of them were overwritten by 32-bit versions (because of MD5 mismatch, of course). Also Ketarin can't read the version information from these combined pages. Here is a sample code from the iTunes download page: <ul class="dropdown-menu dropdown-menu-right" aria-label="Download Options"> <li> <a href="/download_itunes/download/60f64c4da702491f72d54a243d94669f/"> Version 12.4.1, <span>32 bit</span> (113.54MB) </a> </li> <li> <a href="/download_itunes/download/42cdce9b0e41c35bb2eb16d211f9ae4e/"> Version 12.4.1, <span>64 bit</span> (162.58MB) </a> </li>
  3. I can't reproduce the MD5 bug, because Ketarin 1.8.2 now simply refuses to connect to FileHippo. Here is my log for 7-Zip 32-bit: 1.8.1: 2015.12.16. 20:18:19: Update started with 1 application(s) 2015.12.16. 20:18:20: 7-Zip 32-bit: Using referer: (none) 2015.12.16. 20:18:21: 7-Zip 32-bit: Server source file: /download/file/703351eb982af041fe44a1ef60dbb8063218390ae0be4ccc78c9df905f19595a 2015.12.16. 20:18:21: 7-Zip 32-bit: Determined target file name: w:\Drive_D\!util1\Packer\7-Zip 15.12 (32-bit).exe 2015.12.16. 20:18:21: 7-Zip 32-bit: Checking if update is required... 2015.12.16. 20:18:22: 7-Zip 32-bit: Update not required 2015.12.16. 20:18:22: Update finished 1.8.2: 2015.12.16. 20:19:46: Update started with 1 application(s) 2015.12.16. 20:20:07: 7-Zip 32-bit: Failed, Unable to connect to the remote server 2015.12.16. 20:20:28: 7-Zip 32-bit: Failed, Unable to connect to the remote server 2015.12.16. 20:20:49: 7-Zip 32-bit: Failed, Unable to connect to the remote server 2015.12.16. 20:20:49: Update finished This is a plain and simple application update from FileHippo. This application has no advanced settings, no commands, no referers, etc.
  4. Beta2 seems to have a Filehippo bug again (Beta1 is fine). My Filehippo apps keep downloading at every update because of MD5 mismatch.
  5. I'm using Ketarin every day and never had this issue. If a program has only beta versions listed on Filehippo, then Ketarin simply checks and downloads the latest version available (ignoring the beta flag), so that's not the problem. If the file keeps downloading repeatedly, then you should first check the log. Open the log window (View -> Show log, or CTRL+L). Now select a program and update it. Normally you should see something like this: If it says "Update required, MD5 does not match" all the time, then your downloaded file never matches with the file on the disk. This could mean 4 things: Filehippo published a wrong MD5 for the program (very rare), permission problem on the download folder, bad network device (ethernet card, router, switch, etc), bad disk drive. In case of mismatching MD5 checksums you could try this: 1. Download the program manually from Filehippo and save it in the same folder where Ketarin would. 2. Create the MD5 checksum for the downloaded file (with Total Commander or other program). 3. Compare your MD5 with the published MD5 on Filehippo (it's listed at the bottom of the "Technical" page).
  6. Filehippo changed the beta pages (again) and thus Ketarin can't find the beta versions. The old identification string was: <span class="beta-text">BETA</span> The new identification string is: <span class="beta-text hidden-xs">BETA</span> I made a new exe including this change (searching for >BETA</span> id). You can download it here.
  7. It's not a bug in Ketarin. FileHippo simply don't host those software anymore, the download links are just plain redirects.
  8. It's the /silent command line argument: "No GUI is shown and Ketarin updates all available applications regardless of autoupdate setting specified in main settings."
  9. FileHippo changed the site again. This time they changed the MD5 hash formatting, which means that Ketarin must be adjusted again. In ExternalServices.cs this line must be changed: Regex validMd5 = new Regex(">([0-9a-f]{32})<", RegexOptions.IgnoreCase); to Regex validMd5 = new Regex("(?si)md5.+?([0-9a-f]{32})", RegexOptions.IgnoreCase); I added this fix to the source of revision 464 and compiled Ketarin. Here is the fixed exe file, until floele posts an official version
  10. http://scm.flyspray.org/repos/ketarin This is the official SVN. Also you need http://cdburnerxp.se/downloads/sourcecode/Ketarin.tar.gz to compile Ketarin (link is on the main Ketarin website). Only the CDBurnerXP folder is needed from this archive, you can delete the rest.
  11. This happens because Filehippo published the wrong MD5 for that file on the Technical page (http://filehippo.com/download_directx/tech). Their MD5 is 4E41372E8775E8025BE013480B0629B3, but it should be 7C1FC2021CF57FED3C25C9B03CD0C31A. Ketarin always compares the MD5 of the downloaded file with the MD5 published by Filehippo. And in this case it will always mismatch, until Filehippo fixes it. As a workaround you can set the version variable as indicator for changes for this file.
  12. Here is the new exe: http://drivehq.com/file/DFPublishFile.aspx/FileID1733632306/Key9qhpprhyrnpe/Ketarin-170b2-u5.zip And the new source (revision 461): http://drivehq.com/file/DFPublishFile.aspx/FileID1733632305/Keyyw6hasdge4g9/ketarin-rev461-changes2.zip This is basically the same as u4, just replaced the array with the dictionary.
  13. Sure, i'll replace the array with the Dictionary
  14. It's in this topic on 1st page. https://ketarin.org/forum/topic/3416-ketarin-170-b2/#entry9363
  15. Ketarin shouldn't download it again. I'll add cdex to my list and check it. Found the problem already. CDex 1.51 (which is the only non-beta version) has no MD5 hash listed on the Techincal page (http://filehippo.com/download_cdex/tech/403/). Without this Ketarin will always download the application, unless you set a variable as indicator for changes, for example version. If you don't set anything, then Ketarin will always look for the MD5 hash as indicator.
  16. Sorry, i'll make new posts instead The purpose was to speed up the FileHippo non-beta detection process. Ketarin calls the FileHippoGetAllVersions method 3 times for each FileHippo application, if the Avoid Beta option is set. This means searching through the application version history pages 3 times and find the non-beta page 3 times. With this change Ketarin only scans the history pages on the 1st call, and then use the already found non-beta page for the 2nd and 3rd calls.
  17. Rewrote the non-beta page URL storage. Now i added a onedimensional static string array. Ketarin fills up this array with fileId & non-beta page URL pairs (using fileId as the identifier) and expands it everytime a new pair has been added. The array will fill up like this: "7-zip_64","http://filehippo.com/download_7-zip_64/8755/","7zip_32","http://filehippo.com/download_7zip_32/8754/" | | | | nonbetapages[0] nonbetapages[1] nonbetapages[2] nonbetapages[3] Before the application update Ketarin clears this array, so it could detect the version changes properly. I added more explanation and the new download links to my original post.
  18. You are right. The static variable doesn't work, so i scrapped the whole nonbetapageurl static variable for now. To make GetNonBetaPageContent still faster, the FileHippoGetAllVersions method returns only 1 url, which is the non-beta url (if it's found ofcourse, otherwise returns all urls). I reverted all changes except for the FileHippoGetAllVersions method, so only ExternalServices.cs has changed after private static string[] FileHippoGetAllVersions(string pageContent, string fileId). I will update the download links in my previous post.
  19. Found that bug too Uploaded the new version.
  20. I made some changes to 1.7.0 b2 (revision 461), so the 'avoid beta' option seems to work correctly now And it's a bit faster too. Uploaded the exe, so others could try this modified version as well: http://drivehq.com/file/DFPublishFile.aspx/FileID1727818560/Key4p7jhlgddu56/Ketarin-170b2-u4.zip (i finally managed to compile the code ) And here are the source code changes for revision 461: http://drivehq.com/file/DFPublishFile.aspx/FileID1727818561/Keye1k17ia3fwgj/ketarin-rev461-changes1.zip I modified 2 files: ExternalServices.cs and Updater.cs ExternalServices.cs: Added the nonbetapages string array (private static string[] nonbetapages;). We use this to store the already found non-beta page Urls. Changed the FileHippoGetAllVersions method. First we detect the number of version history pages (regex class="pager-page-link">(?!.*class="pager-page-link">)(\d+)</a> ). Then start downloading these pages until we find a non-beta version. When it's found, then stop downloading the version history pages, add the non-beta URL to the nonbetapages array and also return the non-beta URL. If we don't find a non-beta version (a program or driver could have only beta versions), then return all URLs. Changed the GetNonBetaPageContent method. Before the FileHippoGetAllVersions call we check if a non-beta page URL already exists in the array. If it's found, then skip FileHippoGetAllVersions to speed up the non-beta version handling. Created the method ClearNonBetaPages (public static void ClearNonBetaPages()). This clears the nonbetapages array. Updater.cs: Call ClearNonBetaPages at the start of UpdateApplications. This will clear the nonbetapages array when we start the applications update.Edit: Changed the place of the ExternalServices.ClearNonBetaPageUrl(); call in Updater.cs. Edit 2: Scrapped the whole nonbetapageurl static variable. Edit 3: Added the nonbetapages array to speed up the non-beta version handling.
  21. Yeah, that doesn't work. I checked 1.6.1 rc1, 1.7.0 b1 and the latest version on the repository. All have the same problem with MD5 checking. I found the part in the source code, that checks for MD5, but didn't figure out yet why it doesn't work. Basically the problem is, that the MD5 Checksum is listed on the Technical page, but Ketarin loads the Description page. And because of this Ketarin can't read the MD5 and in the end it tries to compare 0 (zero) with the MD5 of the already downloaded file. And ofcourse it will never match.
  22. uTorrent doesn't work with the beta option (http://filehippo.com/download_utorrent/). On the main page all listed versions are only betas. You would only find the non-beta version, if you click on the View More... link and go to the 2nd page of the version history (http://filehippo.com/download_utorrent/history/2/).
  23. I would change the FileHippo version information regex, because the current one isn't working properly. At least one space character should be before the version number. Without a space the regex would pick up any number, even if it's part of the application name. My suggestion would be: (?<=<meta property="og:title" content=".+?\s)([\d]+\.|[\d]+\s).*(?=") <- this works with return match.Value Or: <meta property="og:title" content=".+?\s(([\d]+\.|[\d]+\s).*)" <- this works with return match.Groups[1].Value This would search for a whitespace character after the first character. Then search for one or more numbers followed by a dot. If it matches, then pick up everything after the dot until it reaches the quatation mark. If it doesn't match, then search for one or more numbers followed by a whitespace character and pick up everything after the whitespace character until it reaches the quatation mark. Here are 4 examples: Alcohol 120% (http://filehippo.com/download_alcohol_120/tech/): Application name is Alcohol 120%, version is 2.0.2.5830. Original regex version info: 120% 2.0.2.5830 / my regex version info: 2.0.2.5830 Sandra Lite (http://filehippo.com/download_sandra_lite/tech/): Application name is Sandra Lite, version is 2014 (20.10). Original regex version info: 2014 (20.10) / my regex version info: 2014 (20.10) 3DMark03 (http://filehippo.com/download_3dmark03/tech/): Application name is 3DMark03, version is 3.6.0. Original regex version info: 03 3.6.0 / my regex version info: 3.6.0 WinDVD (http://filehippo.com/download_windvd/tech/): Application name is WinDVD, version is 2011 Build 289. Original regex version info: 2011 Build 289 / my regex version info: 2011 Build 289
  24. Fixed that too. But i would like to see a properly fixed and tested version too.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.