From f880adcf28ee7433d9c2bf4600a4b7e8a51d6c70 Mon Sep 17 00:00:00 2001 From: Michael <19788068+TheMDev@users.noreply.github.com> Date: Fri, 26 Apr 2024 18:45:01 -0500 Subject: [PATCH 01/15] Update eclecticlight casks livecheck and zap --- Casks/c/cirrus.rb | 15 ++++++------ Casks/d/dintch.rb | 13 ++++++----- Casks/l/lockrattler.rb | 9 ++++---- Casks/m/metamer.rb | 21 +++++++++-------- Casks/m/mints.rb | 7 +++--- Casks/s/signet.rb | 7 ++++-- Casks/s/silentknight.rb | 38 ++++++++++++------------------- Casks/s/silnite.rb | 2 +- Casks/s/spundle.rb | 6 +++-- Casks/t/taccy.rb | 4 ++-- Casks/t/thetimemachinemechanic.rb | 14 ++++++------ Casks/u/ulbow.rb | 7 +++--- Casks/x/xattred.rb | 6 +++-- Casks/x/xprocheck.rb | 9 ++++++-- 14 files changed, 84 insertions(+), 74 deletions(-) diff --git a/Casks/c/cirrus.rb b/Casks/c/cirrus.rb index 42e358e90fc95..907e98d32835d 100644 --- a/Casks/c/cirrus.rb +++ b/Casks/c/cirrus.rb @@ -9,22 +9,23 @@ homepage "https://eclecticlight.co/cirrus-bailiff/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/cirrus(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/cirrus(\d+)\.zip}i) strategy :page_match do |page, regex| - match = page.match(regex) - next if match.blank? - - "#{match[3].split("", 2).join(".")},#{match[1]}.#{match[2]}" + page.scan(regex).map do |match| + "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" + end end end - depends_on macos: ">= :sierra" + depends_on macos: ">= :high_sierra" app "cirrus#{version.csv.first.major}#{version.csv.first.minor}/Cirrus.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.cirrusmac.sfl*", "~/Library/Caches/co.eclecticlight.CirrusMac", + "~/Library/HTTPStorages/co.eclecticlight.CirrusMac", "~/Library/Preferences/co.eclecticlight.CirrusMac.plist", "~/Library/Saved Application State/co.eclecticlight.CirrusMac.savedState", ] diff --git a/Casks/d/dintch.rb b/Casks/d/dintch.rb index 020a8a4683618..17fd9d34501da 100644 --- a/Casks/d/dintch.rb +++ b/Casks/d/dintch.rb @@ -9,12 +9,12 @@ homepage "https://eclecticlight.co/dintch" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - strategy :page_match do |page| - match = page.match(%r{(\d+)/(\d+)/dintch(\d+)\.zip}i) - next if match.blank? - - "#{match[3].split("", 2).join(".")},#{match[1]}.#{match[2]}" + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/dintch(\d+)\.zip}i) + strategy :page_match do |page, regex| + page.scan(regex).map do |match| + "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" + end end end @@ -23,6 +23,7 @@ app "dintch#{version.csv.first.no_dots}/Dintch.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.dintch.sfl*", "~/Library/Caches/co.eclecticlight.Dintch", "~/Library/HTTPStorages/co.eclecticlight.Dintch", "~/Library/Preferences/co.eclecticlight.Dintch.plist", diff --git a/Casks/l/lockrattler.rb b/Casks/l/lockrattler.rb index 4f5fa5de50500..5ec6740b29183 100644 --- a/Casks/l/lockrattler.rb +++ b/Casks/l/lockrattler.rb @@ -6,11 +6,11 @@ verified: "eclecticlightdotcom.files.wordpress.com/" name "Lock Rattler" desc "Checks security systems and reports issues" - homepage "https://eclecticlight.co/" + homepage "https://eclecticlight.co/lockrattler-systhist/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/lockrattler(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/lockrattler(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -18,12 +18,13 @@ end end - depends_on macos: ">= :el_capitan" + depends_on macos: ">= :high_sierra" app "lockrattler#{version.csv.first.major}#{version.csv.first.minor}/LockRattler.app" zap trash: [ "~/Library/Caches/co.eclecticlight.LockRattler", + "~/Library/HTTPStorages/co.eclecticlight.LockRattler", "~/Library/Preferences/co.eclecticlight.LockRattler.plist", "~/Library/Saved Application State/co.eclecticlight.LockRattler.savedState", ] diff --git a/Casks/m/metamer.rb b/Casks/m/metamer.rb index b6fe2f38ae736..d783dcdcfae2a 100644 --- a/Casks/m/metamer.rb +++ b/Casks/m/metamer.rb @@ -9,23 +9,24 @@ homepage "https://eclecticlight.co/xattred-sandstrip-xattr-tools/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - strategy :page_match do |page| - match = page.match(%r{(\d+)/(\d+)/metamer(\d+)\.zip}i) - next if match.blank? - - "#{match[3].split("", 2).join(".")},#{match[1]}.#{match[2]}" + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/metamer(\d+)\.zip}i) + strategy :page_match do |page, regex| + page.scan(regex).map do |match| + "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" + end end end - depends_on macos: ">= :mojave" + depends_on macos: ">= :high_sierra" app "metamer#{version.csv.first.no_dots}/Metamer.app" zap trash: [ - "~/Library/Caches/co.eclecticlight.Metamer/", - "~/Library/HTTPStorages/co.eclecticlight.Metamer/", + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.metamer.sfl*", + "~/Library/Caches/co.eclecticlight.Metamer", + "~/Library/HTTPStorages/co.eclecticlight.Metamer", "~/Library/Preferences/co.eclecticlight.Metamer.plist", - "~/Library/Saved Application State/co.eclecticlight.Metamer.savedState/", + "~/Library/Saved Application State/co.eclecticlight.Metamer.savedState", ] end diff --git a/Casks/m/mints.rb b/Casks/m/mints.rb index a207b64e91c7f..8c407bbaf5d59 100644 --- a/Casks/m/mints.rb +++ b/Casks/m/mints.rb @@ -9,8 +9,8 @@ homepage "https://eclecticlight.co/mints-a-multifunction-utility/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/mints(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/mints(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -18,11 +18,12 @@ end end - depends_on macos: ">= :sierra" + depends_on macos: ">= :high_sierra" app "mints#{version.csv.first.no_dots}/Mints.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.mints.sfl*", "~/Library/Caches/co.eclecticlight.Mints", "~/Library/HTTPStorages/co.eclecticlight.Mints", "~/Library/Preferences/co.eclecticlight.Mints.plist", diff --git a/Casks/s/signet.rb b/Casks/s/signet.rb index 2852ed85d1cc5..22b5aca47254e 100644 --- a/Casks/s/signet.rb +++ b/Casks/s/signet.rb @@ -9,8 +9,8 @@ homepage "https://eclecticlight.co/taccy-signet-precize-alifix-utiutility-alisma/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/signet(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/signet(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -18,10 +18,13 @@ end end + depends_on macos: ">= :high_sierra" + app "#{token}#{version.csv.first.no_dots}/Signet.app" zap trash: [ "~/Library/Caches/co.eclecticlight.Signet", + "~/Library/HTTPStorages/co.eclecticlight.Signet", "~/Library/Preferences/co.eclecticlight.Signet.plist", "~/Library/Saved Application State/co.eclecticlight.Signet.savedState", ] diff --git a/Casks/s/silentknight.rb b/Casks/s/silentknight.rb index edad49069b597..d5c9f85f5343a 100644 --- a/Casks/s/silentknight.rb +++ b/Casks/s/silentknight.rb @@ -1,26 +1,6 @@ cask "silentknight" do - on_mojave :or_older do - version "1.21,2022.06" - sha256 "c1cbb734f620e073f1c08c473edaa036c2b5ccdca02baa99ca117f86c10ad505" - - livecheck do - skip "Legacy version" - end - end - on_catalina :or_newer do - version "2.07,2023.11" - sha256 "90bc1b10f02f09c2a684a0f04242f2e93b1aadd912e5341bc5a7415cfe8f0c62" - - livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{(\d+)/(\d+)/silentknight([^1]\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end - end - end - end + version "2.07,2023.11" + sha256 "90bc1b10f02f09c2a684a0f04242f2e93b1aadd912e5341bc5a7415cfe8f0c62" url "https://eclecticlightdotcom.files.wordpress.com/#{version.csv.second.major}/#{version.csv.second.minor}/silentknight#{version.csv.first.no_dots}.zip", verified: "eclecticlightdotcom.files.wordpress.com/" @@ -28,12 +8,24 @@ desc "Automatically checks computer's security" homepage "https://eclecticlight.co/lockrattler-systhist/" - depends_on macos: ">= :el_capitan" + livecheck do + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/silentknight([^1]\d+)\.zip}i) + strategy :page_match do |page, regex| + page.scan(regex).map do |match| + "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" + end + end + end + + depends_on macos: ">= :catalina" app "silentknight#{version.csv.first.no_dots}/SilentKnight.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.silentknight.sfl*", "~/Library/Caches/co.eclecticlight.SilentKnight", + "~/Library/HTTPStorages/co.eclecticlight.SilentKnight", "~/Library/Preferences/co.eclecticlight.SilentKnight.plist", "~/Library/Saved Application State/co.eclecticlight.SilentKnight.savedState", ] diff --git a/Casks/s/silnite.rb b/Casks/s/silnite.rb index b1dbeeebaec48..af0374b6c32d5 100644 --- a/Casks/s/silnite.rb +++ b/Casks/s/silnite.rb @@ -18,7 +18,7 @@ end end - depends_on macos: ">= :el_capitan" + depends_on macos: ">= :big_sur" pkg "silnite#{version.csv.first}/silniteInstaller.pkg" diff --git a/Casks/s/spundle.rb b/Casks/s/spundle.rb index eaa410374fede..86e644b70c3d3 100644 --- a/Casks/s/spundle.rb +++ b/Casks/s/spundle.rb @@ -9,8 +9,8 @@ homepage "https://eclecticlight.co/dintch/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{(\d+)/(\d+)/Spundle(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/Spundle(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -23,7 +23,9 @@ app "spundle#{version.csv.first.no_dots}/Spundle.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.spundle.sfl*", "~/Library/Caches/co.eclecticlight.Spundle", + "~/Library/HTTPStorages/co.eclecticlight.Spundle", "~/Library/Preferences/co.eclecticlight.Spundle.plist", "~/Library/Saved Application State/co.eclecticlight.Spundle.savedState", ] diff --git a/Casks/t/taccy.rb b/Casks/t/taccy.rb index 600d5e4c58209..b5f285acd653b 100644 --- a/Casks/t/taccy.rb +++ b/Casks/t/taccy.rb @@ -9,8 +9,8 @@ homepage "https://eclecticlight.co/taccy-signet-precize-alifix-utiutility-alisma/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/taccy(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/taccy(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" diff --git a/Casks/t/thetimemachinemechanic.rb b/Casks/t/thetimemachinemechanic.rb index 67652873df8f2..e16fc9eba501d 100644 --- a/Casks/t/thetimemachinemechanic.rb +++ b/Casks/t/thetimemachinemechanic.rb @@ -5,13 +5,12 @@ url "https://eclecticlightdotcom.files.wordpress.com/#{version.csv.second.major}/#{version.csv.second.minor}/t2m2#{version.csv.first.no_dots}.zip", verified: "eclecticlightdotcom.files.wordpress.com/" name "The Time Machine Mechanic" - name "T2M2" desc "Time Machine log viewer & status inspector" homepage "https://eclecticlight.co/consolation-t2m2-and-log-utilities/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/t2m2(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/t2m2(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -19,13 +18,14 @@ end end - depends_on macos: ">= :sierra" + depends_on macos: ">= :big_sur" app "t2m2#{version.csv.first.major}#{version.csv.first.minor}/TheTimeMachineMechanic.app" zap trash: [ - "~/Library/Caches/co.eclecticlight.TheTimeMachineMechanic", - "~/Library/Preferences/co.eclecticlight.TheTimeMachineMechanic.plist", - "~/Library/Saved Application State/co.eclecticlight.TheTimeMachineMechanic.savedState", + "~/Library/Caches/co.eclecticlight.TheTimeMachineMechanic2", + "~/Library/HTTPStorages/co.eclecticlight.TheTimeMachineMechanic2", + "~/Library/Preferences/co.eclecticlight.TheTimeMachineMechanic2.plist", + "~/Library/Saved Application State/co.eclecticlight.TheTimeMachineMechanic2.savedState", ] end diff --git a/Casks/u/ulbow.rb b/Casks/u/ulbow.rb index a4b20bc84fe14..37757c5d781ed 100644 --- a/Casks/u/ulbow.rb +++ b/Casks/u/ulbow.rb @@ -9,8 +9,8 @@ homepage "https://eclecticlight.co/consolation-t2m2-and-log-utilities/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/ulbow(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/ulbow(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -18,11 +18,12 @@ end end - depends_on macos: ">= :sierra" + depends_on macos: ">= :high_sierra" app "ulbow#{version.csv.first.no_dots}/Ulbow.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.ulbow.sfl*", "~/Library/Caches/co.eclecticlight.Ulbow", "~/Library/HTTPStorages/co.eclecticlight.Ulbow", "~/Library/Preferences/co.eclecticlight.Ulbow.plist", diff --git a/Casks/x/xattred.rb b/Casks/x/xattred.rb index 1df4721093657..0f93f2c67ff36 100644 --- a/Casks/x/xattred.rb +++ b/Casks/x/xattred.rb @@ -9,8 +9,8 @@ homepage "https://eclecticlight.co/xattred-sandstrip-xattr-tools/" livecheck do - url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" - regex(%r{/(\d+)/(\d+)/xattred(\d+)\.zip}i) + url :homepage + regex(%r{href=.*?/(\d+)/(\d+)/xattred(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -23,7 +23,9 @@ app "xattred#{version.csv.first.major}#{version.csv.first.minor}/xattred.app" zap trash: [ + "~/Library/Application Support/com.apple.sharedfilelist/com.apple.LSSharedFileList.ApplicationRecentDocuments/co.eclecticlight.xattred.sfl*", "~/Library/Caches/co.eclecticlight.xattred", + "~/Library/HTTPStorages/co.eclecticlight.xattred", "~/Library/Preferences/co.eclecticlight.xattred.plist", "~/Library/Saved Application State/co.eclecticlight.xattred.savedState", ] diff --git a/Casks/x/xprocheck.rb b/Casks/x/xprocheck.rb index 49f2a588c7048..8889668c60f0b 100644 --- a/Casks/x/xprocheck.rb +++ b/Casks/x/xprocheck.rb @@ -10,7 +10,7 @@ livecheck do url :homepage - regex(%r{/(\d+)/(\d+)/xprocheck(\d+)\.zip}i) + regex(%r{href=.*?/(\d+)/(\d+)/xprocheck(\d+)\.zip}i) strategy :page_match do |page, regex| page.scan(regex).map do |match| "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" @@ -22,5 +22,10 @@ app "xprocheck#{version.csv.first.no_dots}/XProCheck.app" - zap trash: "~/Library/Saved Application State/co.eclecticlight.XProCheck.savedState" + zap trash: [ + "~/Library/Caches/co.eclecticlight.XProCheck", + "~/Library/HTTPStorages/co.eclecticlight.XProCheck", + "~/Library/Preferences/co.eclecticlight.XProCheck.plist", + "~/Library/Saved Application State/co.eclecticlight.XProCheck.savedState", + ] end From 218fe4bc19eb24c156c755b6b15351f2e81a2d8c Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:43:19 -0400 Subject: [PATCH 02/15] cirrus: update livecheck --- Casks/c/cirrus.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/c/cirrus.rb b/Casks/c/cirrus.rb index 907e98d32835d..249fa8be48a52 100644 --- a/Casks/c/cirrus.rb +++ b/Casks/c/cirrus.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/cirrus-bailiff/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/cirrus(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Cirrus']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From 324be57af8e32cb42a35345cf41e109b8e17f9a6 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:43:28 -0400 Subject: [PATCH 03/15] dintch: update livecheck --- Casks/d/dintch.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/d/dintch.rb b/Casks/d/dintch.rb index 17fd9d34501da..058ebb1b02c40 100644 --- a/Casks/d/dintch.rb +++ b/Casks/d/dintch.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/dintch" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/dintch(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Dintch']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From 492c3e177e919d6db3f52543c45847562a52011e Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:43:39 -0400 Subject: [PATCH 04/15] lockrattler: update livecheck --- Casks/l/lockrattler.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/l/lockrattler.rb b/Casks/l/lockrattler.rb index 5ec6740b29183..2293ed13bd1a0 100644 --- a/Casks/l/lockrattler.rb +++ b/Casks/l/lockrattler.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/lockrattler-systhist/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/lockrattler(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='LockRattler']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From 34dbbe23a39d25f114a80b40080116392c5f4b89 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:43:51 -0400 Subject: [PATCH 05/15] metamer: update livecheck, depends_on --- Casks/m/metamer.rb | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Casks/m/metamer.rb b/Casks/m/metamer.rb index d783dcdcfae2a..1c8d4308b6de3 100644 --- a/Casks/m/metamer.rb +++ b/Casks/m/metamer.rb @@ -9,16 +9,21 @@ homepage "https://eclecticlight.co/xattred-sandstrip-xattr-tools/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/metamer(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Metamer']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end - depends_on macos: ">= :high_sierra" + depends_on macos: ">= :mojave" app "metamer#{version.csv.first.no_dots}/Metamer.app" From 0a5d5c42090828c5073619f65aad0c3ee936176a Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:43:57 -0400 Subject: [PATCH 06/15] mints: update livecheck --- Casks/m/mints.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/m/mints.rb b/Casks/m/mints.rb index 8c407bbaf5d59..de7d498ffa74d 100644 --- a/Casks/m/mints.rb +++ b/Casks/m/mints.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/mints-a-multifunction-utility/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/mints(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Mints']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From e1383b07066143bc7b70b578a1c50c160d3b937c Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:44:07 -0400 Subject: [PATCH 07/15] signet: update livecheck --- Casks/s/signet.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/s/signet.rb b/Casks/s/signet.rb index 22b5aca47254e..ba63e7bf60735 100644 --- a/Casks/s/signet.rb +++ b/Casks/s/signet.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/taccy-signet-precize-alifix-utiutility-alisma/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/signet(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Signet']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From 1a5a2885f81c6a8455b6f9b7d9ae14e0d0f3b487 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:46:17 -0400 Subject: [PATCH 08/15] silentknight: update livecheck This reinstates the legacy version of `silentknight`, as there is still a link to it on the Downloads page (https://eclecticlight.co/downloads/). --- Casks/s/silentknight.rb | 48 +++++++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 14 deletions(-) diff --git a/Casks/s/silentknight.rb b/Casks/s/silentknight.rb index d5c9f85f5343a..17786a73bb498 100644 --- a/Casks/s/silentknight.rb +++ b/Casks/s/silentknight.rb @@ -1,24 +1,44 @@ cask "silentknight" do - version "2.07,2023.11" - sha256 "90bc1b10f02f09c2a684a0f04242f2e93b1aadd912e5341bc5a7415cfe8f0c62" + on_mojave :or_older do + version "1.21,2022.06" + sha256 "c1cbb734f620e073f1c08c473edaa036c2b5ccdca02baa99ca117f86c10ad505" - url "https://eclecticlightdotcom.files.wordpress.com/#{version.csv.second.major}/#{version.csv.second.minor}/silentknight#{version.csv.first.no_dots}.zip", - verified: "eclecticlightdotcom.files.wordpress.com/" - name "SilentKnight" - desc "Automatically checks computer's security" - homepage "https://eclecticlight.co/lockrattler-systhist/" + livecheck do + skip "Legacy version" + end + + depends_on macos: ">= :el_capitan" + end + on_catalina :or_newer do + version "2.07,2023.11" + sha256 "90bc1b10f02f09c2a684a0f04242f2e93b1aadd912e5341bc5a7415cfe8f0c62" + + livecheck do + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='SilentKnight#{version.major}']]"] + next unless item - livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/silentknight([^1]\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + # Temporarily override the version to account for a one-off mismatch + version = "2.07" if version == "2.7" + + "#{version},#{match[1]}.#{match[2]}" end end + + depends_on macos: ">= :catalina" end - depends_on macos: ">= :catalina" + url "https://eclecticlightdotcom.files.wordpress.com/#{version.csv.second.major}/#{version.csv.second.minor}/silentknight#{version.csv.first.no_dots}.zip", + verified: "eclecticlightdotcom.files.wordpress.com/" + name "SilentKnight" + desc "Automatically checks computer's security" + homepage "https://eclecticlight.co/lockrattler-systhist/" app "silentknight#{version.csv.first.no_dots}/SilentKnight.app" From ffd4c8f79d0b8c93b5fe7a69de409b925162c4a4 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:48:05 -0400 Subject: [PATCH 09/15] silnite: update livecheck `silnite` version information isn't available in the `eclecticapps.plist` file (like related casks, so we have to check the download page instead. --- Casks/s/silnite.rb | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/Casks/s/silnite.rb b/Casks/s/silnite.rb index af0374b6c32d5..3f38e39dd383d 100644 --- a/Casks/s/silnite.rb +++ b/Casks/s/silnite.rb @@ -9,12 +9,10 @@ homepage "https://eclecticlight.co/lockrattler-systhist/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/silnite[._-]?v?(\d+(?:\.\d+)*\w?)\.zip}i) + url "https://eclecticlight.co/downloads/" + regex(%r{href=.*?/(\d+)/(\d+)/silnite[^"' >]*?\.zip[^>]*?>\s*silnite\s+v?(\d+(?:\.\d+)*)[^a-z)]}i) strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2]},#{match[0]}.#{match[1]}" - end + page.scan(regex).map { |match| "#{match[2]},#{match[0]}.#{match[1]}" } end end From e295d3a2b3e470336b02f1a8bb2b88355b60f19c Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:48:30 -0400 Subject: [PATCH 10/15] spundle: update livecheck --- Casks/s/spundle.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/s/spundle.rb b/Casks/s/spundle.rb index 86e644b70c3d3..8aa132dd9183f 100644 --- a/Casks/s/spundle.rb +++ b/Casks/s/spundle.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/dintch/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/Spundle(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Spundle']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From cf6634cf3c6cea3a230940b3422e220ce00d9bbd Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:48:36 -0400 Subject: [PATCH 11/15] taccy: update livecheck --- Casks/t/taccy.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/t/taccy.rb b/Casks/t/taccy.rb index b5f285acd653b..84d28327ed8ab 100644 --- a/Casks/t/taccy.rb +++ b/Casks/t/taccy.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/taccy-signet-precize-alifix-utiutility-alisma/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/taccy(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Taccy']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From dcf747002e3f117035d0342501fe024513d89c21 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:49:50 -0400 Subject: [PATCH 12/15] thetimemachinemechanic: update livecheck, restore name This also reinstates the `T2M2` alternative name. --- Casks/t/thetimemachinemechanic.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/Casks/t/thetimemachinemechanic.rb b/Casks/t/thetimemachinemechanic.rb index e16fc9eba501d..721e33954e6b3 100644 --- a/Casks/t/thetimemachinemechanic.rb +++ b/Casks/t/thetimemachinemechanic.rb @@ -5,16 +5,22 @@ url "https://eclecticlightdotcom.files.wordpress.com/#{version.csv.second.major}/#{version.csv.second.minor}/t2m2#{version.csv.first.no_dots}.zip", verified: "eclecticlightdotcom.files.wordpress.com/" name "The Time Machine Mechanic" + name "T2M2" desc "Time Machine log viewer & status inspector" homepage "https://eclecticlight.co/consolation-t2m2-and-log-utilities/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/t2m2(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='T2M22']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From e99f7ae643f1df6e0fb21d1af16717684b684414 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:49:58 -0400 Subject: [PATCH 13/15] ulbow: update livecheck --- Casks/u/ulbow.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/u/ulbow.rb b/Casks/u/ulbow.rb index 37757c5d781ed..06a381ca020c9 100644 --- a/Casks/u/ulbow.rb +++ b/Casks/u/ulbow.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/consolation-t2m2-and-log-utilities/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/ulbow(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='Ulbow']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From 3d9ff7df2045947c250add995252ad69273f7012 Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:50:07 -0400 Subject: [PATCH 14/15] xattred: update livecheck --- Casks/x/xattred.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/x/xattred.rb b/Casks/x/xattred.rb index 0f93f2c67ff36..ce7003dc73425 100644 --- a/Casks/x/xattred.rb +++ b/Casks/x/xattred.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/xattred-sandstrip-xattr-tools/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/xattred(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='xattred']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end From aa26cf5f1ee82249c90b1a325615d2f81772000f Mon Sep 17 00:00:00 2001 From: Sam Ford <1584702+samford@users.noreply.github.com> Date: Sun, 5 May 2024 15:50:15 -0400 Subject: [PATCH 15/15] xprocheck: update livecheck --- Casks/x/xprocheck.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/Casks/x/xprocheck.rb b/Casks/x/xprocheck.rb index 8889668c60f0b..c880f7c77d771 100644 --- a/Casks/x/xprocheck.rb +++ b/Casks/x/xprocheck.rb @@ -9,12 +9,17 @@ homepage "https://eclecticlight.co/consolation-t2m2-and-log-utilities/" livecheck do - url :homepage - regex(%r{href=.*?/(\d+)/(\d+)/xprocheck(\d+)\.zip}i) - strategy :page_match do |page, regex| - page.scan(regex).map do |match| - "#{match[2].split("", 2).join(".")},#{match[0]}.#{match[1]}" - end + url "https://raw.githubusercontent.com/hoakleyelc/updates/master/eclecticapps.plist" + regex(%r{/(\d+)/(\d+)/[^/]+?$}i) + strategy :xml do |xml, regex| + item = xml.elements["//dict[key[text()='AppName']/following-sibling::*[1][text()='XProCheck']]"] + next unless item + + version = item.elements["key[text()='Version']"]&.next_element&.text&.strip + match = item.elements["key[text()='URL']"]&.next_element&.text&.strip&.match(regex) + next if version.blank? || match.blank? + + "#{version},#{match[1]}.#{match[2]}" end end