You can run these scripts to uninstall Timus Connect entirely from the device.
This both script must be run under sudo or admin privilege.
[MacOS] Uninstall Script
When you download the script, before you run it, do not forget to make the file executable by running this command:
chmod +x uninstall_timus.sh sudo ./uninstall_timus.sh
#!/bin/bash # Uninstallation Script for Timus Connect # --------------------------------------- # Please review this script carefully before running it. # This script will completely uninstall the Timus Connect app and remove all related files. # It performs the following actions: # 1. Unloads any running daemons associated with Timus Connect. # 2. Kills any running processes related to Timus Connect. # 3. Removes the Timus Connect application. # 4. Deletes Timus Connect logs. # 5. Removes Timus Connect application support files. # 6. Removes daemon plist files associated with Timus Connect. # 7. Removes Accessibility and Screen Capture permissions for Timus Connect. # 8. Removes Timus Connect app from login items on macOS. log_file="/tmp/timus_uninstall.log" timestamp() { date +"%Y-%m-%d %H:%M:%S" } echo "$(timestamp): Starting Timus Connect uninstallation script..." > "$log_file" set +e # Continue execution even if a command fails kill_process() { process_name=$1 echo "$(timestamp): Killing process $process_name..." >> "$log_file" sudo pkill -f "$process_name" >> "$log_file" 2>&1 sudo pgrep -f "$process_name" | xargs sudo kill -9 >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully killed $process_name." >> "$log_file" else echo "$(timestamp): Failed to kill $process_name or no process found." >> "$log_file" fi } # Unload any running daemons associated with Timus Connect echo "$(timestamp): Unloading any running daemons associated with Timus Connect..." >> "$log_file" launchctl unload /Library/LaunchDaemons/timus* >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully unloaded daemons." >> "$log_file" else echo "$(timestamp): Failed to unload daemons." >> "$log_file" fi # Kill any remaining processes related to Timus Connect after unloading daemons # Determine system architecture architecture=$(uname -m) # Kill appropriate processes based on system architecture if [ "$architecture" = "arm64" ]; then kill_process "timus-connect-service_arm64" kill_process "timus-helper-service_arm64" kill_process "timus-telemetry_arm64" else kill_process "timus-connect-service" kill_process "timus-helper-service" kill_process "timus-telemetry" fi kill_process "Timus Connect" # Ensure kill any running processes related to Timus Connect not exist. echo "$(timestamp): Killing any running processes related to Timus Connect..." >> "$log_file" pkill -f timus* >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully killed Timus Connect processes." >> "$log_file" else echo "$(timestamp): Failed to kill Timus Connect processes or no processes found." >> "$log_file" fi # Remove the Timus Connect application echo "$(timestamp): Removing the Timus Connect application..." >> "$log_file" rm -rf /Applications/Timus\\ Connect.app >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect application." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect application." >> "$log_file" fi # Remove Timus Connect logs echo "$(timestamp): Removing Timus Connect logs..." >> "$log_file" rm -rf ~/Library/Logs/Timus\\ Connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect logs." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect logs." >> "$log_file" fi # Remove Timus Connect application support files echo "$(timestamp): Removing Timus Connect application support files..." >> "$log_file" rm -rf $HOME/Library/Application\\ Support/Timus\\ Connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect application support files." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect application support files." >> "$log_file" fi # Remove daemon plist files associated with Timus Connect echo "$(timestamp): Removing daemon plist files associated with Timus Connect..." >> "$log_file" rm /Library/LaunchDaemons/timus-* >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed daemon plist files." >> "$log_file" else echo "$(timestamp): Failed to remove daemon plist files." >> "$log_file" fi # Reset Accessibility permissions for Timus Connect echo "$(timestamp): Resetting Accessibility permissions for Timus Connect..." >> "$log_file" sudo tccutil reset Accessibility com.timus.connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully reset Accessibility permissions." >> "$log_file" else echo "$(timestamp): Failed to reset Accessibility permissions." >> "$log_file" fi # Reset Screen Capture permissions for Timus Connect echo "$(timestamp): Resetting Screen Capture permissions for Timus Connect..." >> "$log_file" sudo tccutil reset ScreenCapture com.timus.connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully reset Screen Capture permissions." >> "$log_file" else echo "$(timestamp): Failed to reset Screen Capture permissions." >> "$log_file" fi # Remove Timus Connect app from login items on macOS echo "$(timestamp): Removing Timus Connect app from login items on macOS..." >> "$log_file" osascript -e 'tell application "System Events" to delete login item "Timus Connect"' >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect from login items." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect from login items or it was not found." >> "$log_file" fi # Notify the user that the uninstallation is complete echo "$(timestamp): Timus Connect has been successfully uninstalled." >> "$log_file" echo "Timus Connect has been successfully uninstalled. Check $log_file for details."[MacOS Sequoia 15.3] Uninstall Script
#!/bin/bash # Uninstallation Script for Timus Connect # --------------------------------------- # Please review this script carefully before running it. # This script will completely uninstall the Timus Connect app and remove all related files. # It performs the following actions: # 1. Unloads any running daemons associated with Timus Connect. # 2. Kills any running processes related to Timus Connect. # 3. Removes the Timus Connect application. # 4. Deletes Timus Connect logs. # 5. Removes Timus Connect application support files. # 6. Removes daemon plist files associated with Timus Connect. # 7. Removes Accessibility and Screen Capture permissions for Timus Connect. # 8. Removes Timus Connect app from login items on macOS. log_file="/tmp/timus_uninstall.log" timestamp() { date +"%Y-%m-%d %H:%M:%S" } echo "$(timestamp): Starting Timus Connect uninstallation script..." > "$log_file" set +e # Continue execution even if a command fails kill_process() { process_name=$1 echo "$(timestamp): Killing process $process_name..." >> "$log_file" sudo pkill -f "$process_name" >> "$log_file" 2>&1 sudo pgrep -f "$process_name" | xargs sudo kill -9 >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully killed $process_name." >> "$log_file" else echo "$(timestamp): Failed to kill $process_name or no process found." >> "$log_file" fi } # Unload any running daemons associated with Timus Connect echo "$(timestamp): Unloading any running daemons associated with Timus Connect..." >> "$log_file" launchctl unload /Library/LaunchDaemons/timus* >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully unloaded daemons." >> "$log_file" else echo "$(timestamp): Failed to unload daemons." >> "$log_file" fi # Kill any remaining processes related to Timus Connect after unloading daemons # Determine system architecture architecture=$(uname -m) # Kill appropriate processes based on system architecture if [ "$architecture" = "arm64" ]; then kill_process "timus-connect-service_arm64" kill_process "timus-helper-service_arm64" kill_process "timus-telemetry_arm64" else kill_process "timus-connect-service" kill_process "timus-helper-service" kill_process "timus-telemetry" fi kill_process "Timus Connect" # Ensure kill any running processes related to Timus Connect not exist. echo "$(timestamp): Killing any running processes related to Timus Connect..." >> "$log_file" pkill -f timus* >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully killed Timus Connect processes." >> "$log_file" else echo "$(timestamp): Failed to kill Timus Connect processes or no processes found." >> "$log_file" fi # Remove the Timus Connect application echo "$(timestamp): Removing the Timus Connect application..." >> "$log_file" rm -rf /Applications/Timus\\ Connect.app >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect application." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect application." >> "$log_file" fi # Remove Timus Connect logs echo "$(timestamp): Removing Timus Connect logs..." >> "$log_file" rm -rf ~/Library/Logs/Timus\\ Connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect logs." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect logs." >> "$log_file" fi # Remove Timus Connect application support files echo "$(timestamp): Removing Timus Connect application support files..." >> "$log_file" rm -rf $HOME/Library/Application\\ Support/Timus\\ Connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect application support files." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect application support files." >> "$log_file" fi # Remove daemon plist files associated with Timus Connect echo "$(timestamp): Removing daemon plist files associated with Timus Connect..." >> "$log_file" rm /Library/LaunchDaemons/timus-* >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed daemon plist files." >> "$log_file" else echo "$(timestamp): Failed to remove daemon plist files." >> "$log_file" fi # Reset Accessibility permissions for Timus Connect echo "$(timestamp): Resetting Accessibility permissions for Timus Connect..." >> "$log_file" sudo tccutil reset Accessibility com.timus.connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully reset Accessibility permissions." >> "$log_file" else echo "$(timestamp): Failed to reset Accessibility permissions." >> "$log_file" fi # Reset Screen Capture permissions for Timus Connect echo "$(timestamp): Resetting Screen Capture permissions for Timus Connect..." >> "$log_file" sudo tccutil reset ScreenCapture com.timus.connect >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully reset Screen Capture permissions." >> "$log_file" else echo "$(timestamp): Failed to reset Screen Capture permissions." >> "$log_file" fi # Remove Timus Connect app from login items on macOS echo "$(timestamp): Removing Timus Connect app from login items on macOS..." >> "$log_file" osascript -e 'tell application "System Events" to delete login item "Timus Connect"' >> "$log_file" 2>&1 if [ $? -eq 0 ]; then echo "$(timestamp): Successfully removed Timus Connect from login items." >> "$log_file" else echo "$(timestamp): Failed to remove Timus Connect from login items or it was not found." >> "$log_file" fi # Notify the user that the uninstallation is complete echo "$(timestamp): Timus Connect has been successfully uninstalled." >> "$log_file" echo "Timus Connect has been successfully uninstalled. Check $log_file for details."%[Windows] Uninstall Script
# Uninstallation Script for Timus Connect # --------------------------------------- # This script performs the following actions: # 1. Stops and deletes services related to Timus Connect. # 2. Kills all processes named "timus" and other specified processes. # 3. Runs the uninstaller for Timus Connect silently. # 4. Deletes specific directories associated with Timus Connect. # 5. Removes Timus Connect from startup items. # 6. Removes specific registry keys related to Timus Connect. # # NOTE: Please review this script thoroughly before running it. Ensure that the paths # and services mentioned are correct for your specific setup. # Define log function function Log-Message { param ( [string]$message ) $logFile = "$env:USERPROFILE\\timus_uninstall.txt" Add-Content -Path $logFile -Value ("$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss') - $message") } # Function to stop and delete a service function Stop-And-Delete-Service { param ( [string]$serviceName ) try { $service = Get-Service -Name $serviceName -ErrorAction Stop if ($service.Status -ne 'Stopped') { Stop-Service -Name $serviceName -Force -ErrorAction Stop Log-Message "Stopped service $serviceName" } sc.exe delete $serviceName Log-Message "Deleted service $serviceName" } catch { Log-Message "Failed to stop or delete service ${serviceName}: $($_)" } } # Function to kill processes by name function Kill-Processes { param ( [string[]]$processNames ) foreach ($processName in $processNames) { try { Get-Process -Name $processName -ErrorAction Stop | Stop-Process -Force Log-Message "Killed all processes named $processName" } catch { Log-Message "Failed to kill processes named ${processName}: $($_)" } } } # Function to kill processes by executable name using taskkill function TaskKill-Processes { param ( [string[]]$processExecutables ) foreach ($processExecutable in $processExecutables) { try { Start-Process -FilePath "taskkill.exe" -ArgumentList "/F /IM $processExecutable" -NoNewWindow -Wait Log-Message "Taskkill executed for $processExecutable" } catch { Log-Message "Failed to execute taskkill for ${processExecutable}: $($_)" } } } # Function to delete directories function Delete-Directory { param ( [string]$directoryPath ) try { Remove-Item -Path $directoryPath -Recurse -Force -ErrorAction Stop Log-Message "Deleted directory $directoryPath" } catch { Log-Message "Failed to delete directory ${directoryPath}: $($_)" } } # Function to remove startup items function Remove-StartupItem { param ( [string]$itemName ) try { # Remove from Startup folder $startupFolderPath = [System.Environment]::GetFolderPath('Startup') $startupItemPath = Join-Path -Path $startupFolderPath -ChildPath "$itemName.lnk" if (Test-Path $startupItemPath) { Remove-Item -Path $startupItemPath -Force Log-Message "Removed $itemName from Startup folder" } } catch { Log-Message "Failed to remove $itemName from Startup folder: $($_)" } try { # Remove from Registry (Current User) $regPath = "HKCU:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run" if (Get-ItemProperty -Path $regPath -Name $itemName -ErrorAction Stop) { Remove-ItemProperty -Path $regPath -Name $itemName -ErrorAction Stop -Force Log-Message "Removed $itemName from HKCU registry" } } catch { Log-Message "Failed to remove $itemName from HKCU registry: $($_)" } try { # Remove from Registry (Local Machine) $regPathLM = "HKLM:\\Software\\Microsoft\\Windows\\CurrentVersion\\Run" if (Get-ItemProperty -Path $regPathLM -Name $itemName -ErrorAction Stop) { Remove-ItemProperty -Path $regPathLM -Name $itemName -ErrorAction Stop -Force Log-Message "Removed $itemName from HKLM registry" } } catch { Log-Message "Failed to remove $itemName from HKLM registry: $($_)" } } # Function to remove registry keys function Remove-RegistryKey { param ( [string]$registryPath ) try { if (Test-Path $registryPath) { Remove-Item -Path $registryPath -Recurse -Force -ErrorAction Stop Log-Message "Removed registry key $registryPath" } } catch { Log-Message "Failed to remove registry key ${registryPath}: $($_)" } } # Define paths using environment variables $programFilesPath = [System.Environment]::GetFolderPath('ProgramFiles') $programDataPath = [System.Environment]::GetFolderPath('CommonApplicationData') $appDataLocalPath = [System.Environment]::GetFolderPath('LocalApplicationData') $appDataRoamingPath = [System.Environment]::GetFolderPath('ApplicationData') # Construct the path to the uninstaller $uninstallPath = Join-Path -Path $programFilesPath -ChildPath "Timus Connect\\Uninstall Timus Connect" # Stop and delete Timus Connect services Stop-And-Delete-Service -serviceName "timus-connect-service" Stop-And-Delete-Service -serviceName "timus-helper-service" # Kill all processes named "timus" Kill-Processes -processNames @("timus") # Additional taskkill commands for specific executables TaskKill-Processes -processExecutables @("timus-connect-service.exe", "timus-helper-service.exe", "timus-telemetry.exe", "timus-wireguard-tunnel-service.exe", "openvpn.exe") # Run uninstaller silently try { $process = Start-Process -FilePath $uninstallPath -ArgumentList "/S" -NoNewWindow -Wait -PassThru $process.WaitForExit() Log-Message "Ran uninstaller at $uninstallPath" } catch { Log-Message "Failed to run uninstaller at ${uninstallPath}: $($_)" } # Delete directories associated with Timus Connect Delete-Directory -directoryPath "$appDataLocalPath\\timus-updater" Delete-Directory -directoryPath "$appDataRoamingPath\\Timus Connect" Delete-Directory -directoryPath "$programFilesPath\\Timus Connect" Delete-Directory -directoryPath "$programDataPath\\Timus Connect" # Remove Timus Connect from startup items Remove-StartupItem -itemName "Timus Connect" # Remove specific registry keys related to Timus Connect Remove-RegistryKey -registryPath "HKCU:\\SOFTWARE\\Classes\\timus-connect" Remove-RegistryKey -registryPath "HKLM:\\SOFTWARE\\Timus" Remove-RegistryKey -registryPath "HKCR:\\timus-connect" # Log completion of the script Log-Message "Uninstallation script completed" # Exit the script exit
Updated
Comments
0 comments
Article is closed for comments.