├── .github ├── 1.png ├── 2.png ├── 3.png ├── FUNDING.yml ├── oco-architecture.drawio ├── oco-architecture.png ├── oco-schematic.drawio ├── oco-schematic.png └── workflows │ └── build_packages.yml ├── .gitignore ├── .htaccess ├── Dockerfile ├── LICENSE.txt ├── README.md ├── api-agent.php ├── api-agent ├── api-agent.php ├── api-mdm.php └── index.php ├── client-extension ├── installer │ ├── .gitignore │ ├── deb │ │ ├── build.sh │ │ └── oco-client-extension-linux │ │ │ └── DEBIAN │ │ │ ├── control │ │ │ └── postinst │ └── windows │ │ ├── logo-service.ico │ │ └── setup.iss ├── oco-client-extension-linux.desktop ├── oco-client-extension-linux.py ├── oco-client-extension-windows.py └── oco-client-extension-windows.reg ├── conf.php.example ├── console.php ├── depot └── .placeholder ├── docker-compose.yml ├── docs ├── Agent-API.md ├── Client-API.md ├── Computers.md ├── Database-Schema.md ├── Deploy-Install-Uninstall.md ├── Extensions.md ├── Logging.md ├── Mobile-Device-Management.md ├── OS-Installation.md ├── Packages.md ├── Permissions.md ├── README.md ├── Reports.md ├── Self-Service.md ├── Server-Installation.md ├── Server-Upgrade.md ├── WebApp-Architecture.md ├── WebApplication.md ├── decisions │ ├── 0001-Agent Communication.md │ ├── 0002-Author as Text in Database.md │ ├── 0003-Settings in Database.md │ ├── 0004-Package Metadata in Job Tables.md │ └── 0005-Android Management via Google API.md ├── development │ ├── MDM-DeviceInformation-Example-Response.txt │ ├── MDM-InstalledApplicationList-Example-Response.txt │ └── MDM-ProfileList-Example-Response.txt ├── examples │ ├── SetupComplete.cmd │ ├── fail2ban │ │ ├── README.md │ │ ├── filter │ │ │ └── oco.conf │ │ └── jails │ │ │ └── oco.conf │ ├── ipxe.cfg │ ├── mint.cfg │ ├── oco-agent-setup.inf │ └── startnet.cmd ├── img │ ├── dbschema.png │ └── force-agent-update.png └── install-uninstall-catalog │ ├── Adobe Acrobat Reader DC.md │ ├── Arduino IDE.md │ ├── Citrix Workspace.md │ ├── DaVinci Resolve.md │ ├── GIMP.md │ ├── Google Chrome.md │ ├── Inkscape.md │ ├── Java.md │ ├── LibreOffice.md │ ├── Microsoft Office.md │ ├── Mozilla Firefox.md │ ├── OCO Agent Update.md │ ├── README.md │ ├── TightVNC.md │ ├── VScode.md │ ├── Windows Drivers.md │ ├── Windows Update.md │ ├── Windows Upgrade.md │ ├── Windows Winget.md │ ├── Zoom.md │ └── vmware RemoteConsole (vmrc).md ├── extensions ├── .gitignore └── .placeholder ├── frontend ├── ajax-handler │ ├── .htaccess │ ├── computers.php │ ├── deployment-rules.php │ ├── domain-users.php │ ├── index.php │ ├── job-containers.php │ ├── mobile-devices.php │ ├── notification-info.php │ ├── packages.php │ ├── reports.php │ ├── settings.php │ └── update-check.php ├── api-agent.php ├── api-client.php ├── api-mdm.php ├── css │ ├── .htaccess │ ├── index.php │ └── main.css ├── fonts │ ├── OFL.txt │ ├── Quicksand-VariableFont_wght.ttf │ └── SourceCodePro-VariableFont_wght.ttf ├── head.inc.php ├── img │ ├── .htaccess │ ├── add.dyn.svg │ ├── add2.dyn.svg │ ├── apple.dyn.svg │ ├── apps.dyn.svg │ ├── arrow-back.dyn.svg │ ├── arrow-right.dyn.svg │ ├── bg-self-service.jpg │ ├── bg.jpg │ ├── close.dyn.svg │ ├── close.opacity.svg │ ├── collapse.dyn.svg │ ├── command.dyn.svg │ ├── computer.dyn.svg │ ├── container.dyn.svg │ ├── copy.dyn.svg │ ├── csv.dyn.svg │ ├── delete.dyn.svg │ ├── deploy.dyn.svg │ ├── download.dyn.svg │ ├── downloading.dyn.svg │ ├── edit.dyn.svg │ ├── error.dyn.svg │ ├── error.message.svg │ ├── exit.light.svg │ ├── expand.dyn.svg │ ├── eye.dyn.svg │ ├── files.dyn.svg │ ├── folder-insert-into.dyn.svg │ ├── folder-new.dyn.svg │ ├── folder-remove-from.dyn.svg │ ├── folder.dyn.svg │ ├── force-update.dyn.svg │ ├── forkme.png │ ├── generate-db-schema.py │ ├── help.light.svg │ ├── home.dyn.svg │ ├── home.light.svg │ ├── ietroll.png │ ├── image-add.dyn.svg │ ├── image-remove.dyn.svg │ ├── index.php │ ├── info.dyn.svg │ ├── info.light.svg │ ├── info.message.svg │ ├── install.dyn.svg │ ├── job.dyn.svg │ ├── layer-up.dyn.svg │ ├── ldap-directory.dyn.svg │ ├── linux.dyn.svg │ ├── list.dyn.svg │ ├── loader-dots.svg │ ├── loader.svg │ ├── lock.dyn.svg │ ├── logo.dyn.svg │ ├── menu.light.svg │ ├── mobile-device-android.dyn.svg │ ├── mobile-device-ios.dyn.svg │ ├── mobile-device.dyn.svg │ ├── move.dyn.svg │ ├── notification.dyn.svg │ ├── package-family.dyn.svg │ ├── package-new.dyn.svg │ ├── package.dyn.svg │ ├── password.dyn.svg │ ├── pending.dyn.svg │ ├── ping.dyn.svg │ ├── profile.dyn.svg │ ├── refresh.dyn.svg │ ├── refresh.light.svg │ ├── remove.dyn.svg │ ├── reorder.dyn.svg │ ├── report.dyn.svg │ ├── rule.dyn.svg │ ├── schedule.dyn.svg │ ├── screen-access.dyn.svg │ ├── search.dyn.svg │ ├── self-service.dyn.svg │ ├── send.white.svg │ ├── settings.dyn.svg │ ├── settings.light.svg │ ├── software.dyn.svg │ ├── store.dyn.svg │ ├── success.dyn.svg │ ├── success.message.svg │ ├── success.opacity.svg │ ├── textbox.dyn.svg │ ├── timeout.dyn.svg │ ├── touchicon.png │ ├── unlock.dyn.svg │ ├── unpacking.dyn.svg │ ├── user.dyn.svg │ ├── users.dyn.svg │ ├── wait.dyn.svg │ ├── warning.dyn.svg │ ├── warning.message.svg │ ├── windows.dyn.svg │ └── wol.dyn.svg ├── index.php ├── js │ ├── .htaccess │ ├── confetti.js │ ├── index.php │ ├── main.js │ ├── notification.js │ ├── search.js │ ├── strings.js.php │ └── table.js ├── login.php ├── session-options.inc.php ├── session.inc.php ├── setup.php └── views │ ├── .htaccess │ ├── apps.php │ ├── computer-details.php │ ├── computers.php │ ├── deployment-rules.php │ ├── dialog-about.php │ ├── dialog-computer-create.php │ ├── dialog-computer-edit.php │ ├── dialog-computer-group-add.php │ ├── dialog-deployment-rule-edit.php │ ├── dialog-domain-user-edit.php │ ├── dialog-domain-user-ldap-edit.php │ ├── dialog-domain-user-role-edit.php │ ├── dialog-event-query-rule-edit.php │ ├── dialog-general-config-edit.php │ ├── dialog-job-container-edit.php │ ├── dialog-jobs-move.php │ ├── dialog-jobs-renew.php │ ├── dialog-managed-app-assign.php │ ├── dialog-mobile-device-assigned-managed-app-info.php │ ├── dialog-mobile-device-assigned-profile-info.php │ ├── dialog-mobile-device-command.php │ ├── dialog-mobile-device-create-android.php │ ├── dialog-mobile-device-create-ios.php │ ├── dialog-mobile-device-edit.php │ ├── dialog-mobile-device-group-add.php │ ├── dialog-package-dependency-add.php │ ├── dialog-package-edit.php │ ├── dialog-package-family-edit.php │ ├── dialog-package-group-add.php │ ├── dialog-password-rotation-rule-edit.php │ ├── dialog-profile-assign.php │ ├── dialog-profile-details.php │ ├── dialog-profile-edit.php │ ├── dialog-report-create.php │ ├── dialog-report-edit.php │ ├── dialog-report-group-move.php │ ├── dialog-setting-edit.php │ ├── dialog-system-user-edit-own-password.php │ ├── dialog-system-user-edit.php │ ├── dialog-system-user-ldap-edit.php │ ├── dialog-system-user-role-edit.php │ ├── dialog-uninstall.php │ ├── dialog-wol-satellites-edit.php │ ├── docs.php │ ├── domain-users.php │ ├── homepage.php │ ├── index.php │ ├── job-container-new.php │ ├── job-containers.php │ ├── jobs.php │ ├── managed-apps.php │ ├── mobile-device-details.php │ ├── mobile-devices.php │ ├── package-details.php │ ├── package-families.php │ ├── package-new.php │ ├── packages.php │ ├── partial │ └── copyright.php │ ├── profiles.php │ ├── report-details.php │ ├── reports.php │ ├── search.php │ ├── settings-configuration.php │ ├── settings-deleted-objects.php │ ├── settings-domain-users.php │ ├── settings-event-query-rules.php │ ├── settings-mdm.php │ ├── settings-own.php │ ├── settings-password-rotation-rules.php │ ├── settings-system-users.php │ ├── settings.php │ ├── software.php │ └── tree.php ├── index.php ├── lib ├── Android │ └── AndroidEnrollment.class.php ├── Apple │ ├── AppStore.class.php │ ├── AutomatedDeviceEnrollment.class.php │ ├── MdmCommand.class.php │ ├── PushNotificationService.class.php │ ├── Util │ │ ├── ECSignature.class.php │ │ ├── JsonWebToken.class.php │ │ └── PemDerConverter.class.php │ └── VolumePurchaseProgram.class.php ├── AuthenticationController.class.php ├── AuthenticationException.class.php ├── CFPropertyList │ ├── CFArray.class.php │ ├── CFBinaryPropertyList.class.php │ ├── CFBoolean.class.php │ ├── CFData.class.php │ ├── CFDate.class.php │ ├── CFDictionary.class.php │ ├── CFNumber.class.php │ ├── CFPropertyList.class.php │ ├── CFString.class.php │ ├── CFType.class.php │ ├── CFTypeDetector.class.php │ ├── CFUid.class.php │ ├── IOException.class.php │ └── PListException.class.php ├── CoreLogic.class.php ├── DatabaseController.class.php ├── DatabaseMigrationController.class.php ├── ExtensionController.class.php ├── HouseKeeping.class.php ├── Html.class.php ├── InvalidRequestException.class.php ├── Language │ ├── de.php │ ├── en.php │ └── fr.php ├── LanguageCodes.class.php ├── LanguageController.class.php ├── LdapSync.class.php ├── LicenseCheck.class.php ├── MobileDeviceCommandController.class.php ├── Models │ ├── App.class.php │ ├── Computer.class.php │ ├── ComputerDevice.class.php │ ├── ComputerEvent.class.php │ ├── ComputerGroup.class.php │ ├── ComputerNetwork.class.php │ ├── ComputerPackage.class.php │ ├── ComputerPartition.class.php │ ├── ComputerPassword.class.php │ ├── ComputerPrinter.class.php │ ├── ComputerScreen.class.php │ ├── ComputerService.class.php │ ├── ComputerSoftware.class.php │ ├── ComputerUser.class.php │ ├── DeploymentRule.class.php │ ├── DomainUser.class.php │ ├── DomainUserLogon.class.php │ ├── DomainUserRole.class.php │ ├── DynamicJob.class.php │ ├── EventQueryRule.class.php │ ├── HierarchicalGroup.class.php │ ├── IHierarchicalGroup.class.php │ ├── IUser.class.php │ ├── Job.class.php │ ├── JobContainer.class.php │ ├── Log.class.php │ ├── ManagedApp.class.php │ ├── MobileDevice.class.php │ ├── MobileDeviceApp.class.php │ ├── MobileDeviceCommand.class.php │ ├── MobileDeviceGroup.class.php │ ├── MobileDeviceGroupManagedApp.class.php │ ├── MobileDeviceProfile.class.php │ ├── Package.class.php │ ├── PackageFamily.class.php │ ├── PackageGroup.class.php │ ├── PasswordRotationRule.class.php │ ├── Profile.class.php │ ├── Report.class.php │ ├── ReportGroup.class.php │ ├── SearchResult.class.php │ ├── Setting.class.php │ ├── Software.class.php │ ├── StaticJob.class.php │ ├── SystemUser.class.php │ └── SystemUserRole.class.php ├── MsiInfo.class.php ├── NotFoundException.class.php ├── OcoServer.class.php ├── Parsedown.class.php ├── PermissionException.class.php ├── PermissionManager.class.php ├── QRCode.class.php ├── ResumeDownload.class.php ├── SelfService │ ├── AuthenticationController.class.php │ ├── CoreLogic.class.php │ └── PermissionManager.class.php ├── SettingsController.class.php ├── Tools.php └── WakeOnLan.class.php ├── loader.inc.php ├── scripts ├── checkmk.php └── mdm-android.php ├── self-service ├── ajax-handler │ ├── .htaccess │ ├── computers.php │ ├── index.php │ ├── job-containers.php │ └── packages.php ├── css │ ├── .htaccess │ ├── index.php │ ├── main.css │ └── self-service.css ├── fonts ├── head.inc.php ├── img ├── index.php ├── js │ ├── .htaccess │ ├── index.php │ ├── main.js │ ├── self-service.js │ ├── strings.js.php │ └── table.js ├── login.php ├── session-options.inc.php ├── session.inc.php └── views │ ├── .htaccess │ ├── computers.php │ ├── dialog-about.php │ ├── dialog-uninstall.php │ ├── help.php │ ├── help │ └── .gitignore │ ├── homepage.php │ ├── index.php │ ├── job-container-new.php │ ├── job-containers.php │ ├── packages.php │ ├── partial │ └── copyright.php │ └── tree.php └── sql └── SCHEMA.sql /.github/1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/1.png -------------------------------------------------------------------------------- /.github/2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/2.png -------------------------------------------------------------------------------- /.github/3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/3.png -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/FUNDING.yml -------------------------------------------------------------------------------- /.github/oco-architecture.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/oco-architecture.drawio -------------------------------------------------------------------------------- /.github/oco-architecture.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/oco-architecture.png -------------------------------------------------------------------------------- /.github/oco-schematic.drawio: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/oco-schematic.drawio -------------------------------------------------------------------------------- /.github/oco-schematic.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/oco-schematic.png -------------------------------------------------------------------------------- /.github/workflows/build_packages.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.github/workflows/build_packages.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.gitignore -------------------------------------------------------------------------------- /.htaccess: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/.htaccess -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/Dockerfile -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/LICENSE.txt -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/schorschii/OCO-Server/HEAD/README.md -------------------------------------------------------------------------------- /api-agent.php: -------------------------------------------------------------------------------- 1 | frontend/api-agent.php -------------------------------------------------------------------------------- /api-agent/api-agent.php: -------------------------------------------------------------------------------- 1 | ../frontend/api-agent.php -------------------------------------------------------------------------------- /api-agent/api-mdm.php: -------------------------------------------------------------------------------- 1 | ../frontend/api-mdm.php -------------------------------------------------------------------------------- /api-agent/index.php: -------------------------------------------------------------------------------- 1 |