{"id":13420333,"url":"https://github.com/lavabit/libdime","last_synced_at":"2025-06-15T06:33:41.309Z","repository":{"id":24951917,"uuid":"28369696","full_name":"lavabit/libdime","owner":"lavabit","description":"The DIME resolver library and command line utilities.","archived":false,"fork":false,"pushed_at":"2023-09-22T13:51:14.000Z","size":79444,"stargazers_count":414,"open_issues_count":11,"forks_count":74,"subscribers_count":58,"default_branch":"develop","last_synced_at":"2025-05-25T01:09:22.599Z","etag":null,"topics":["dark-mail","email","encryption","messaging","security"],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lavabit.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"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":"2014-12-23T01:24:42.000Z","updated_at":"2025-03-23T16:04:31.000Z","dependencies_parsed_at":"2024-10-26T23:33:04.796Z","dependency_job_id":null,"html_url":"https://github.com/lavabit/libdime","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/lavabit/libdime","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavabit%2Flibdime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavabit%2Flibdime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavabit%2Flibdime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavabit%2Flibdime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lavabit","download_url":"https://codeload.github.com/lavabit/libdime/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lavabit%2Flibdime/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259934767,"owners_count":22934330,"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":["dark-mail","email","encryption","messaging","security"],"created_at":"2024-07-30T22:01:31.457Z","updated_at":"2025-06-15T06:33:41.282Z","avatar_url":"https://github.com/lavabit.png","language":"C","funding_links":[],"categories":["TODO scan for Android support in followings","Objective-C","security"],"sub_categories":[],"readme":"# Dark Internet Mail Environment (DIME)\n\n## Introduction\n\nInternet electronic mail (email) was designed in the early days of the Internet, and so\nlacks any mechanism to protect the privacy of the sender and addressee. Several techniques\nhave been used in an attempt to increase the privacy of email. These techniques have provided\neither modest increases in privacy, or have proven to be very difficult to use for most people.\n\nIn addition to protection of content, truly private email must limit information disclosed to \nhandling agents, only exposing information necessary for delivery (the metadata), and provide robust\nidentity guarantees which prevent the impersonation of senders. \n\nThe Dark Internet Mail Environment (DIME) achieves this level of privacy with core protocols\nusing multiple layers of key management and multiple layers of message encryption. The \n[DIME Protocol Specifications](https://darkmail.info/spec) (PDF, ~20 MB) contain the full technical details of \nthe DIME.\n\nThe **libdime** project holds the DIME library and associated command line utilities. This code is \ndeveloped in conjunction with the [magma](https://github.com/lavabit/magma) mail daemon, and is \na community effort to develop and maintain a C library for building DIME compatible software, and\nthe standalone utilities to test, debug, and administer a DIME compatible mail service.\n\n## Dependencies\n\nPlease see the [Quick Start Guide](res/docs/quickstart.md).\n\nSystem:\nc dl rt pthread resolv \n\nBundled for DIME:\nzlib openssl donna\n\nBundled for the Unit Tests\ngoogletest gtest-tap-listener\n\n## Supported Platforms\n\n* CentOS 6 x86_64\n* CentOS 7 x86_64\n\n## Build Instructions\n\nFirst, build the bundled dependencies:\n\n    make setup\n\nThen run:\n\n    make all\n\nThe specific make targets:\n\n    make dime\n    make signet\n    make genrec\n    make libdime.a\n    make libdime.so\n\nFinally, to compile and run the unit tests use:\n\n\tmake check\n\t\nOr compile the check utility with the make target:\n\n\tmake dime.check\n\t\n\n## Directories\n\nDirectory | Description\n:--- | :---\nchecs/ | The DIME unit test source code.\nlib/ | The bundled dependencies. \nres/ | Resource files used by the different components and utilities.\nsandbox/ | Where the unit tests store temporary resources..\nsrc/ | The libdime source code.\ntools/dime/ | Retrieve and validate a signet from a DIME compatible server using DMTP.\ntools/signet/ | Generate, sign, view and verify a signet.\ntools/genrec/ | Generate a DIME management record which must be added to the DNS zone file.\n\n## Video\n\nA slightly outdated video presentation of the DIME standard and the various command line tools:\n\nhttps://www.youtube.com/watch?v=TWzvXaxR6us\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flavabit%2Flibdime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flavabit%2Flibdime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flavabit%2Flibdime/lists"}