// // file: consts.h // project: OverSight (shared) // description: #defines and what not // // created by Patrick Wardle // copyright (c) 2020 Objective-See. All rights reserved. // #ifndef consts_h #define consts_h //start at login #define PREF_AUTOSTART_MODE @"startAtLogin" //disable 'inactive' alerts #define PREF_DISABLE_INACTIVE @"disableInactive" //pref // execute action #define PREF_EXECUTE_ACTION @"executeAction" //pref // execution path #define PREF_EXECUTE_PATH @"executePath" //pref // execute action #define PREF_EXECUTE_ACTION_ARGS @"executeActionArgs" //cs consts // from: cs_blobs.h #define CS_VALID 0x00000001 #define CS_ADHOC 0x0000002 #define CS_RUNTIME 0x00010000 //patreon url #define PATREON_URL @"https://www.patreon.com/join/objective_see" //sentry crash reporting URL #define SENTRY_DSN @"https://729ac84fd0014ea1aa48ca46386546b6@o130950.ingest.sentry.io/5745525" //app name #define PRODUCT_NAME @"OverSight" //bundle ID #define BUNDLE_ID "com.objective-see.oversight" //main app bundle id #define MAIN_APP_ID @"com.objective-see.oversight" //helper (login item) ID #define HELPER_ID @"com.objective-see.oversight.helper" //installer (app) ID #define INSTALLER_ID @"com.objective-see.oversight.installer" //installer (helper) ID #define CONFIG_HELPER_ID @"com.objective-see.oversight.uninstallHelper" //signing auth #define SIGNING_AUTH @"Developer ID Application: Objective-See, LLC (VBG97UB4TA)" //product version url #define PRODUCT_VERSIONS_URL @"https://objective-see.org/products.json" //product url #define PRODUCT_URL @"https://objective-see.org/products/oversight.html" //error(s) url #define ERRORS_URL @"https://objective-see.org/errors.html" //os major #define SUPPORTED_OS_MAJOR @"OSMajor" //os minor #define SUPPORTED_OS_MINOR @"OSMinor" //latest version #define LATEST_VERSION @"version" //close category #define CATEGORY_CLOSE @"close" //action category #define CATEGORY_ACTION @"action" //support us button tag #define BUTTON_SUPPORT_US 100 //more info button tag #define BUTTON_MORE_INFO 101 //install cmd #define CMD_INSTALL @"-install" //uninstall cmd #define CMD_UNINSTALL @"-uninstall" //install cmd #define CMD_UPGRADE @"-upgrade" //flag to uninstall #define ACTION_UNINSTALL_FLAG 0 //flag to install #define ACTION_INSTALL_FLAG 1 //flag for partial uninstall // leave preferences file, etc. #define UNINSTALL_PARTIAL 0 //flag for full uninstall #define UNINSTALL_FULL 1 //add rule, block #define BUTTON_BLOCK 0 //add rule, allow #define BUTTON_ALLOW 1 //preferences file #define PREFERENCES @"/Library/Preferences/com.objective-see.oversight.plist" //prefs // disabled status #define PREF_IS_DISABLED @"disabled" //prefs // icon mode #define PREF_NO_ICON_MODE @"noIconMode" //prefs // no external devices mode #define PREF_NO_EXTERNAL_DEVICES_MODE @"noExternalDevicesMode" //prefs // update mode #define PREF_NO_UPDATE_MODE @"noupdateMode" //allowed items (key) #define PREFS_ALLOWED_ITEMS @"allowedItems" //general error URL #define FATAL_ERROR_URL @"https://objective-see.org/errors.html" //key for exit code #define EXIT_CODE @"exitCode" //rules changed #define RULES_CHANGED @"com.objective-see.oversight.rulesChanged" //first time flag #define INITIAL_LAUNCH @"-initialLaunch" /* INSTALLER */ //menu: 'about' #define MENU_ITEM_ABOUT 0 //menu: 'quit' #define MENU_ITEM_QUIT 1 //app name #define APP_NAME @"OverSight.app" //apps folder #define APPS_FOLDER @"/Applications" //frame shift // for status msg to avoid activity indicator #define FRAME_SHIFT 45 //flag to close #define ACTION_CLOSE_FLAG -1 //cmdline flag to uninstall #define ACTION_UNINSTALL @"-uninstall" //uninstall via UI #define CMD_UNINSTALL_VIA_UI @"-uninstallViaUI" //flag to uninstall #define ACTION_UNINSTALL_FLAG 0 //cmdline flag to uninstall #define ACTION_INSTALL @"-install" //flag to install #define ACTION_INSTALL_FLAG 1 //button title: upgrade #define ACTION_UPGRADE @"Upgrade" //button title: close #define ACTION_CLOSE @"Close" //button title: next #define ACTION_NEXT @"Next ยป" //show info about notifications #define ACTION_SHOW_NOTIFICATIONS 2 //show friends #define ACTION_SHOW_SUPPORT 3 //support us #define ACTION_SUPPORT 4 //path to chmod #define CHMOD @"/bin/chmod" //path to xattr #define XATTR @"/usr/bin/xattr" //path to open #define OPEN @"/usr/bin/open" //path to launchctl #define LAUNCHCTL @"/bin/launchctl" //path to kill all #define KILL_ALL @"/usr/bin/killall" //path to facetime #define FACE_TIME @"/System/Applications/FaceTime.app/Contents/MacOS/FaceTime" //rules window #define WINDOW_RULES 0 //preferences window #define WINDOW_PREFERENCES 1 //key for stdout output #define STDOUT @"stdOutput" //key for stderr output #define STDERR @"stdError" //key for exit code #define EXIT_CODE @"exitCode" //event keys #define EVENT_DEVICE @"device" #define EVENT_TIMESTAMP @"timeStamp" #define EVENT_DEVICE_STATUS @"status" #define EVENT_PROCESS_ID @"processID" #define EVENT_PROCESS_PATH @"processPath" #define NOTIFICATION_ERROR -1 #define NOTIFICATION_SPURIOUS 0 #define NOTIFICATION_SKIPPED 1 #define NOTIFICATION_DELIVER 2 //av devices typedef enum {Device_Camera, Device_Microphone} AVDevice; //updates typedef enum {Update_Error, Update_None, Update_NotSupported, Update_Available} UpdateStatus; //log levels typedef enum {Log_Level_Default, Log_Level_Info, Log_Level_Debug} LogLevels; #endif