{"id":23920599,"url":"https://github.com/simplito/privmx-endpoint-java","last_synced_at":"2025-04-11T22:04:46.178Z","repository":{"id":264828280,"uuid":"880808576","full_name":"simplito/privmx-endpoint-java","owner":"simplito","description":"Java wrappers for the native C++ library used by PrivMX to handle end-to-end (E2E) encryption.","archived":false,"fork":false,"pushed_at":"2025-03-10T14:44:50.000Z","size":265,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-25T17:53:34.671Z","etag":null,"topics":["android","communication","e2ee","end-to-end-encryption","java","kotlin","mobile","privmx","security"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simplito.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-30T11:59:42.000Z","updated_at":"2025-03-04T10:07:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"1360d028-197b-4e68-9907-cd1c03f6f02c","html_url":"https://github.com/simplito/privmx-endpoint-java","commit_stats":null,"previous_names":["simplito/privmx-endpoint-java"],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplito%2Fprivmx-endpoint-java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplito%2Fprivmx-endpoint-java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplito%2Fprivmx-endpoint-java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simplito%2Fprivmx-endpoint-java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simplito","download_url":"https://codeload.github.com/simplito/privmx-endpoint-java/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248487717,"owners_count":21112191,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","communication","e2ee","end-to-end-encryption","java","kotlin","mobile","privmx","security"],"created_at":"2025-01-05T15:50:07.227Z","updated_at":"2025-04-11T22:04:46.168Z","avatar_url":"https://github.com/simplito.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PrivMX Endpoint Java\n\nThis repository provides Java wrappers for the native C++ library used by PrivMX to handle\nend-to-end (e2e) encryption. PrivMX is a privacy-focused platform designed to offer secure\ncollaboration solutions by integrating robust encryption across various data types and communication\nmethods. This project enables seamless integration of PrivMX’s encryption functionalities in\nJava/Kotlin\napplications, preserving the security and performance of the original C++ library while making its\ncapabilities accessible in the JVM ecosystem.\n\n## About PrivMX\n\n[PrivMX](https://privmx.dev) allows developers to build end-to-end encrypted apps used for\ncommunication. The Platform works according to privacy-by-design mindset, so all of our solutions\nare based on Zero-Knowledge architecture. This project extends PrivMX’s commitment to security by\nmaking its encryption features accessible to developers using Java/Kotlin.\n\n### Key Features\n\n- End-to-End Encryption: Ensures that data is encrypted at the source and can only be decrypted by\n  the intended recipient.\n- Native C++ Library Integration: Leverages the performance and security of C++ while making it\n  accessible in Java/Kotlin applications.\n- Cross-Platform Compatibility: Designed to support PrivMX on multiple operating systems and\n  environments.\n- Simple API: Easy-to-use interface for Java/Kotlin developers without compromising security.\n\n## Modules\n\n### 1. PrivMX Endpoint Java Extra\n\nPrivMX Endpoint Java Extra is the fundamental **recommended library** for utilizing the platform in\nthe majority of cases.\nIt encompasses all the essential logic that simplifies and secures the usage of our libraries.\nIt can be utilized on Java Virtual Machines (JVM).\n\n#### This library implements:\n\n- Enums and static fields to minimize errors while invoking the methods.\n- `PrivMXEndpoint` for managing the connection and registering callbacks for any events.\n- `PrivMXEndpointContainer` for managing the global session with an implemented event loop.\n- Classes to simplify reading and writing to files using byte arrays and InputStream/OutputStream.\n\n### 2. PrivMX Endpoint Java Android\n\nPrivMX Endpoint Java Android is an extension of `PrivMX Endpoint Java Extra` with logic specifically\nfor **Android**.\n\n#### This library implements:\n\n- `PrivMXEndpointService` - an Android Service that manages the PrivMX Endpoint Java Extra library\n  and handles app lifecycle changes.\n- `PrivMXEndpointBaseActivity` - an Android Activity that configures and binds to\n  `PrivMXEndpointService`.\n\n### 3. PrivMX Endpoint Java\n\nPrivMX Endpoint Java is the fundamental wrapper library, essential for the Platform’s operational\nfunctionality. It utilizes JNI to declare native functions in Java.\nAs the most minimalist library available, it provides the highest degree of flexibility in\ncustomizing the Platform to meet your specific requirements.\nIt is compatible with Java Virtual Machines (JVM).\n\nThis library implements models, exception catching, and the following modules:\n\n- `CryptoApi` - Cryptographic methods used to encrypt/decrypt and sign your data or generate keys to\n  work with PrivMX Bridge.\n- `Connection` - Methods for managing connection with PrivMX Bridge.\n- `ThreadApi` - Methods for managing Threads and sending/reading messages.\n- `StoreApi` - Methods for managing Stores and sending/reading files.\n- `InboxApi` - Methods for managing Inboxes and entries.\n\n## Usage\n\n1. Add `mavenCentral()` repository to your `settings.gradle`:\n\n```groovy\ndependencyResolutionManagement {\n    repositories {\n        mavenCentral()\n    }\n}\n```\n\n2. Add dependency to `build.gradle`:\n\n```groovy\ndependencies {\n    def privmxLibVersion = \"2.2.2\" // privmx-endpoint version\n    implementation(\"com.simplito.java:privmx-endpoint-extra:$privmxLibVersion\")\n    //implementation(\"com.simplito.java:privmx-endpoint:$privmxLibVersion\")  //for base Java library \n    //implementation(\"com.simplito.java:privmx-endpoint-android:$privmxLibVersion\") //for Android Java library \n}\n```\n\n\\\nFor more details on PrivMX Platform, including setup guides and API reference,\nvisit [PrivMX documentation](https://docs.privmx.dev).\n\n## License information\n\n**PrivMX Endpoint Java**\\\nCopyright © 2024 Simplito sp. z o.o.\n\nThis project is part of the PrivMX Platform (https://privmx.dev). \\\nThis project is Licensed under the MIT License.\n\nPrivMX Endpoint and PrivMX Bridge are licensed under the PrivMX Free License.\\\nSee the License for the specific language governing permissions and limitations under the License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplito%2Fprivmx-endpoint-java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimplito%2Fprivmx-endpoint-java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimplito%2Fprivmx-endpoint-java/lists"}