homebrew-cask/Casks/charles.rb

40 lines
1.3 KiB
Ruby

cask "charles" do
version "4.6.2"
sha256 "8e66c73ebd5d97bbe2b79e27bdfd3f06299edb7f941246ea52cc32883917df12"
url "https://www.charlesproxy.com/assets/release/#{version}/charles-proxy-#{version}.dmg"
name "Charles"
desc "Web debugging Proxy application"
homepage "https://www.charlesproxy.com/"
livecheck do
url "https://www.charlesproxy.com/latest.do"
regex(/v?(\d+(?:\.\d+)+)/i)
end
app "Charles.app"
uninstall_postflight do
stdout, * = system_command "/usr/bin/security",
args: ["find-certificate", "-a", "-c", "Charles", "-Z"],
sudo: true
hashes = stdout.lines.grep(/^SHA-256 hash:/) { |l| l.split(":").second.strip }
hashes.each do |h|
system_command "/usr/bin/security",
args: ["delete-certificate", "-Z", h],
sudo: true
end
end
uninstall quit: "com.xk72.Charles",
launchctl: "com.xk72.Charles.ProxyHelper",
delete: "/Library/PrivilegedHelperTools/com.xk72.Charles.ProxyHelper"
zap trash: [
"~/Library/Application Support/Charles",
"~/Library/Preferences/com.xk72.Charles.plist",
"~/Library/Preferences/com.xk72.charles.config",
"~/Library/Saved Application State/com.xk72.Charles.savedState",
]
end