Casks/c/charles.rb
cask "charles" do
version "4.6.7"
sha256 "ba16148c7a6b3723488cc95968d96fba1de0807ad8e47467a2b5ac3ad13ff22b"
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 launchctl: "com.xk72.Charles.ProxyHelper",
quit: "com.xk72.Charles",
delete: "/Library/PrivilegedHelperTools/com.xk72.Charles.ProxyHelper"
zap trash: [
"~/Library/Application Support/Charles",
"~/Library/Preferences/com.xk72.charles.config",
"~/Library/Preferences/com.xk72.Charles.plist",
"~/Library/Saved Application State/com.xk72.Charles.savedState",
]
caveats do
requires_rosetta
end
end