Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/main' into alex/malware-protecti…
Browse files Browse the repository at this point in the history
…on-6
  • Loading branch information
mallexxx committed Dec 10, 2024
2 parents 244467d + 763dbb4 commit e14814f
Show file tree
Hide file tree
Showing 2 changed files with 84 additions and 37 deletions.
19 changes: 18 additions & 1 deletion LocalPackages/Utilities/Package.swift
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
// swift-tools-version: 6.0
// swift-tools-version: 5.9
// The swift-tools-version declares the minimum version of Swift required to build this package.
//
// Package.swift
//
// Copyright © 2024 DuckDuckGo. All rights reserved.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//

import PackageDescription

Expand Down
102 changes: 66 additions & 36 deletions clean-app.sh
Original file line number Diff line number Diff line change
@@ -1,53 +1,83 @@
#!/bin/bash

delete_data() {
bundle_id="$1"
bundle_id="$1"

printf '%s' "Deleting data for ${bundle_id}..."
printf '%s' "Deleting data for ${bundle_id}..."

if defaults read "${bundle_id}" &>/dev/null; then
defaults delete "${bundle_id}"
fi
rm -rf "${HOME}/Library/Containers/${bundle_id}/Data"
if defaults read "${bundle_id}" &>/dev/null; then
defaults delete "${bundle_id}"
fi

echo " Done."
data_path="${HOME}/Library/Containers/${bundle_id}/Data"
if [ -d "${data_path}" ]; then
rm -r "${data_path}" || { echo "Failed to delete ${data_path}"; exit 1; }
echo " Done."
else
printf '\nNothing to do for %s\n' "${data_path}"
fi
}

bundle_id=
config_id=

case "$1" in
debug)
bundle_id="com.duckduckgo.macos.browser.debug"
netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*debug"
;;
review)
bundle_id="com.duckduckgo.macos.browser.review"
netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*review"
;;
debug-appstore)
bundle_id="com.duckduckgo.mobile.ios.debug"
;;
review-appstore)
bundle_id="com.duckduckgo.mobile.ios.review"
;;
*)
echo "usage: clean-app debug|review|debug-appstore|review-appstore"
exit 1
;;
debug)
bundle_id="com.duckduckgo.macos.browser.debug"
config_ids="*com.duckduckgo.macos.browser.app-configuration.debug"
netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*debug"
;;
review)
bundle_id="com.duckduckgo.macos.browser.review"
config_ids="*com.duckduckgo.macos.browser.app-configuration.review"
netp_bundle_ids_glob="*com.duckduckgo.macos.browser.network-protection*review"
;;
debug-appstore)
bundle_id="com.duckduckgo.mobile.ios.debug"
config_ids="*com.duckduckgo.mobile.ios.app-configuration.debug"
;;
review-appstore)
bundle_id="com.duckduckgo.mobile.ios.review"
config_ids="*com.duckduckgo.mobile.ios.app-configuration.review"
;;
*)
echo "usage: clean-app debug|review|debug-appstore|review-appstore"
exit 1
;;
esac

delete_data "${bundle_id}"

# shellcheck disable=SC2046
read -r -a config_bundle_ids <<< $(
find "${HOME}/Library/Group Containers/" \
-type d \
-maxdepth 1 \
-name "${config_ids}" \
-exec basename {} \;
)
for config_id in "${config_bundle_ids[@]}"; do
path="${HOME}/Library/Group Containers/${config_id}"
printf '%s' "Deleting data at ${path}... "
if [ -d "${path}" ]; then
rm -r "${path}" || { echo "Failed to delete ${path}"; exit 1; }
echo "Done."
else
printf '\nNothing to do for %s\n' "${path}"
fi

done

if [[ -n "${netp_bundle_ids_glob}" ]]; then
# shellcheck disable=SC2046
read -r -a netp_bundle_ids <<< $(
find "${HOME}/Library/Containers/" \
-type d \
-maxdepth 1 \
-name "${netp_bundle_ids_glob}" \
-exec basename {} \;
)
for netp_bundle_id in "${netp_bundle_ids[@]}"; do
delete_data "${netp_bundle_id}"
done
# shellcheck disable=SC2046
read -r -a netp_bundle_ids <<< $(
find "${HOME}/Library/Containers/" \
-type d \
-maxdepth 1 \
-name "${netp_bundle_ids_glob}" \
-exec basename {} \;
)
for netp_bundle_id in "${netp_bundle_ids[@]}"; do
delete_data "${netp_bundle_id}"
done
fi

0 comments on commit e14814f

Please sign in to comment.