{"id":13409692,"url":"https://github.com/berty/berty","last_synced_at":"2025-05-14T11:08:40.501Z","repository":{"id":36962893,"uuid":"141089889","full_name":"berty/berty","owner":"berty","description":"Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network","archived":false,"fork":false,"pushed_at":"2025-04-29T08:54:37.000Z","size":271114,"stargazers_count":8220,"open_issues_count":85,"forks_count":418,"subscribers_count":131,"default_branch":"master","last_synced_at":"2025-05-07T10:52:33.210Z","etag":null,"topics":["android","berty","censorship","crdt","cybersecurity","encryption","gomobile","ios","ipfs","libp2p","messaging","mobile-app","monorepo","offline-first","orbitdb","p2p","privacy","react-native","surveillance"],"latest_commit_sha":null,"homepage":"https://berty.tech","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/berty.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE-APACHE","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,"zenodo":null}},"created_at":"2018-07-16T05:21:19.000Z","updated_at":"2025-05-07T06:42:47.000Z","dependencies_parsed_at":"2023-10-03T14:44:54.042Z","dependency_job_id":"e9203254-17bb-4de9-b63d-f6bda864200e","html_url":"https://github.com/berty/berty","commit_stats":{"total_commits":5554,"total_committers":72,"mean_commits":77.13888888888889,"dds":0.8984515664386028,"last_synced_commit":"8ea8c75e6424675b0d2a1c76848b4b6f6ef4a7bf"},"previous_names":[],"tags_count":1161,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berty%2Fberty","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berty%2Fberty/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berty%2Fberty/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/berty%2Fberty/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/berty","download_url":"https://codeload.github.com/berty/berty/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254005060,"owners_count":21998171,"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","berty","censorship","crdt","cybersecurity","encryption","gomobile","ios","ipfs","libp2p","messaging","mobile-app","monorepo","offline-first","orbitdb","p2p","privacy","react-native","surveillance"],"created_at":"2024-07-30T20:01:02.820Z","updated_at":"2025-05-14T11:08:40.455Z","avatar_url":"https://github.com/berty.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003e\n  \u003cimg src=\"https://berty.tech/img/berty.svg\" alt=\"Berty\" title=\"Berty\" height=\"300px\" /\u003e\n\u003c/h1\u003e\n\n\u003ch3 align=\"center\"\u003e Berty is an open, secure, offline-first, peer-to-peer and zero trust messaging app \u003c/h3\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://berty.tech\"\u003e\u003cimg alt=\"berty.tech\" src=\"https://img.shields.io/badge/berty.tech-2845a7?logo=internet-explorer\u0026style=flat\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://crpt.fyi/berty-discord\"\u003e\u003cimg alt=\"discord\" src=\"https://img.shields.io/badge/discord-gray?logo=discord\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty\"\u003e\u003cimg alt=\"github\" src=\"https://img.shields.io/badge/@berty-471961?logo=github\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://twitter.com/berty\"\u003e\u003cimg alt=\"twitter\" src=\"https://img.shields.io/twitter/follow/berty?label=%40berty\u0026style=flat\u0026logo=twitter\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3AJS\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/JS/badge.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3AGo\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/Go/badge.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3AProtobuf\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/Protobuf/badge.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3ARelease\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/Release/badge.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3AAndroid\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/Android/badge.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3AiOS\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/iOS/badge.svg\" /\u003e\u003c/a\u003e\n    \u003ca href=\"https://github.com/berty/berty/actions?query=workflow%3AIntegration\"\u003e\u003cimg src=\"https://github.com/berty/berty/workflows/Integration/badge.svg\" /\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://pkg.go.dev/berty.tech/berty/v2/go?tab=subdirectories\"\u003e\u003cimg alt=\"GoDoc\" src=\"https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white\" /\u003e\u003c/a\u003e\n  \u003ca title=\"Crowdin\" href=\"https://translate.berty.community\"\u003e\u003cimg src=\"https://badges.crowdin.net/e/a4cb8d931040fbe4a794322b86de6721/localized.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/berty/berty/releases\"\u003e\u003cimg alt=\"GitHub release\" src=\"https://img.shields.io/github/v/release/berty/berty\" /\u003e\u003c/a\u003e\n  \u003ca href=\"https://www.codefactor.io/repository/github/berty/berty\"\u003e\u003cimg src=\"https://www.codefactor.io/repository/github/berty/berty/badge?s=bf5885a3b2782ead81d91cd423915f2e9ddc9196\" alt=\"CodeFactor\" /\u003e\u003c/a\u003e\n  \u003c!--\u003ca href=\"https://goreportcard.com/report/berty/berty\"\u003e\u003cimg src=\"https://goreportcard.com/badge/berty/berty\" alt=\"Go Report Card\"\u003e\u003c/a\u003e--\u003e\n  \u003c!--\u003ca href=\"https://bump.sh/doc/berty-messenger\"/\u003e\u003cimg src=\"https://img.shields.io/badge/bump.sh-messenger%20api-black\" /\u003e\u003c/a\u003e--\u003e\n  \u003c!--\u003ca href=\"https://bump.sh/doc/berty-protocol\"/\u003e\u003cimg src=\"https://img.shields.io/badge/bump.sh-protocol%20api-black\" /\u003e\u003c/a\u003e--\u003e\n\u003c/p\u003e\n\n---\n\n## TLDR : Install it!\n\n### Mobile\n\nTo use the latest released version, install it from [Google Play](https://play.google.com/store/apps/details?id=tech.berty.android)\nor [Apple App Store](https://apps.apple.com/tt/app/berty/id1535500412).\n\nTo compile and run the mobile application on your device, see [js/README.md](js/README.md).\n\n### CLI\n\nYou can `go run` or `go install` the CLI tool located in `go/cmd/berty`.\nThe two main command line utilities are:\n\n- `berty mini`: a CLI messaging app using the Wesh Protocol.\n- `berty daemon`: a full node manageable through the Wesh Protocol API.\n\n## Introduction\n\n\u003e **Warning**: Berty is still under active development and should not yet be used to exchange sensitive data.\n\n**[Berty](https://berty.tech/)** is a privacy-first messaging application built on top of [the Wesh Protocol](https://berty.tech/docs/protocol/).\n\n- *Secure and private* :\n    - Messages are end-to-end encrypted by default\n    - Metadata is kept to a minimum\n    - No phone number or email address is required to create an account\n    - Built to retain its properties even when used on adversarial networks\n- *Censorship-resilient*\n    - Decentralized, distributed, peer-to-peer and serverless\n    - No internet connection is required, thanks to [BLE technology](https://en.wikipedia.org/wiki/Bluetooth_Low_Energy) and [mDNS](https://en.wikipedia.org/wiki/Multicast_DNS).\n- *Open* :\n    - Free forever and open-source\n\n**Berty** is designed to be used as a communication tool when all other traditional messengers fail. Berty Messenger serves the following use cases:\n\n- When you need to share sensitive information over untrusted networks, for instance while traveling\n- If you want to communicate anonymously\n- If you want full control over your data and thus don't want to rely on third-party servers\n- In countries that actively monitor and temper with their network, restricting its use and censoring some of its contents\n- In areas with weak or no connection at all\n\nBerty is currently developed by **[Berty Technologies](https://berty.tech/about)**, a French nonprofit organization.\n\n**Note: this project is led by a small team made of humans, who make mistakes. Please do not hesitate to point out bugs or missing features.** _See the [contribute section](#contribute) below._\n\n\u003e We cannot promise we will offer you the best application, but we dedicate ourselves to doing our best to create a great one.\n\n### The philosophy behind Berty\n\nWe want to contribute to a world where free and secure communications are common and fear of censorship or surveillance are not.\n\nWe believe that open-source is more secure, as anyone can examine the code and improve it: this is why we rely on and build open and free software.\n\nAs the founding team, our ultimate goal is to progressively relinquish control over Berty and to make it become a truly global community project.\n\nMore info on [berty/community](https://github.com/berty/community).\n\n## Development Status\n\nThe current Berty implementation is using the [Wesh Protocol](https://berty.tech/docs/protocol/), which means the encryption technique is safe, and it works as a peer-to-peer app!\n\nAlas, Berty has not yet been hardened, so please avoid using it on devices with weak sandboxes, such as unpatchable devices that use old Android versions.\n\nThe current Wesh Protocol is _partially implemented_.\n\nThe API will continue to evolve in the near future. As such, we cannot yet guarantee none-breaking changes, or any kind of API stability. Be prepared for a rough ride if you start rolling the Wesh Protocol in your application.\n\n_[Subscribe](https://tech.us20.list-manage.com/subscribe/post?u=5ca3993c7f0b8f646dcda714b\u0026id=4d7828715b) to our newsletter if you wish to be notified about the latest features and releases._\n\n**Note: The repositories are being opened progressively, and there will be additional modifications and updates soon.**\n\n## Under the hood\n\n![Berty Messenger High Level Architecture](docs/architecture/Berty_Messenger_Architecture.jpg)\n\n### Wesh Protocol\n\n[![go.dev reference](https://img.shields.io/badge/go.dev-reference-007d9c?logo=go\u0026logoColor=white)](https://pkg.go.dev/berty.tech/berty/v2/go/pkg/bertyprotocol?tab=doc)\n[![Code coverage](https://codecov.io/gh/berty/berty/branch/master/graph/badge.svg?token=rBPpNHNNow\u0026flag=go.unittests)](https://codecov.io/gh/berty/berty)\n\nThe Wesh Protocol comes with a generic, but full-featured SDK allowing developers to write peer-to-peer applications. You can just focus on high-level features for your app, we will take care of the rest (encryption, identities, network routing, group management, account management, device management, application lifecycle).\n\nThe main concept of the _Wesh Protocol_ is called the \"group\", a virtual place where multiple devices can share messages and metadata using [OrbitDB](https://github.com/orbitdb), which itself relies on the InterPlanetary File System ([IPFS](https://en.wikipedia.org/wiki/InterPlanetary_File_System))\n\n\u003c!-- _TODO: add usage examples_ --\u003e\n\nGet it:\n\n```\ngit clone https://github.com/berty/berty\n```\n\n### The Berty Messenger\n\n[![Code coverage](https://codecov.io/gh/berty/berty/branch/master/graph/badge.svg?token=rBPpNHNNow\u0026flag=js.unittests)](https://codecov.io/gh/berty/berty)\n\nThe Berty Messenger, or simply Berty, is a messaging application written in [React Native](https://reactnative.dev/), that uses the Wesh Protocol through [gomobile-ipfs](https://github.com/ipfs-shipyard/gomobile-ipfs), which, in turns, is using [gomobile](https://github.com/golang/mobile).\n\n## Main items in the repo\n\n- [./go](go): Where all the Golang code lies.\n  - [./go/framework/bertybridge](go/framework/bertybridge): The gomobile entrypoint.\n  - [./go/cmd/**berty**](go/cmd/berty): The main **Berty CLI**:\n    - `berty daemon`: Runs the whole Wesh Protocol instance.\n    - `berty mini`: Simple CLI messenger application using Wesh Protocol.\n  - [./go/cmd/**rdvp**](go/cmd/rdvp): A Rendez-Vous Point server.\n  - [./go/cmd/**welcomebot**](go/cmd/welcomebot): An onboarding bot used during the early phase.\n  - [./go/cmd/**testbot**](go/cmd/testbot): A bot used by integration tests and developers.\n- [./js](js): Where all the Javascript/Typescript code lies:\n  - The **Berty Messenger** application, written in React Native.\n- [./docs](docs): Mostly auto-generated documentation.\n\n## Contributing\n\n![Contribute to Berty](https://assets.berty.tech/files/contribute-contribute_v2--Contribute-berty-ultra-light.gif)\n\nWe welcome contributions! Your input is deeply appreciated and extremely valuable to us. We thank you in advance for it.\n\nThere is no small feat: everyone is encouraged to do what they can to help, based on their ability and interest.\n\nThere are plenty of ways to get involved and to help our community, which can roughly be divided in two distinct parts: everything that is related to the code and everything that is not.\n\nTo put it simply:\n\n- Code-related = GitHub\n- Not code-related = Open a task\n\nEverything about contribution is summed up here: [CONTRIBUTING.MD](https://github.com/berty/community/blob/master/CONTRIBUTING.md)\n\n## Stargazers over time\n\n[![Star History Chart](https://api.star-history.com/svg?repos=berty/berty\u0026type=Date)](https://star-history.com/#berty/berty\u0026Date)\n\n## Other resources\n\n- Official website: https://berty.tech\n- Assets: https://assets.berty.tech/\n- Application assets \u0026 mockups: https://assets.berty.tech/categories/app__v2.4/\n\n## Contact\n\nFor a direct contact, see our [contact page](https://berty.tech/contact) of our website. Alternatively, take a look at our [community repository](https://github.com/berty/community/).\n\n## Licensing\n\n© 2018-2023 [Berty Technologies](https://berty.tech)\n\nLicensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0) ([`LICENSE-APACHE`](LICENSE-APACHE)) or the [MIT license](https://opensource.org/licenses/MIT) ([`LICENSE-MIT`](LICENSE-MIT)), at your discretion. See the [`COPYRIGHT`](COPYRIGHT) file for more details.\n","funding_links":[],"categories":["TypeScript","HarmonyOS","Go","开源类库","Applications","Communication and Collaboration Tools","Install from Source","Open source library","工具","Go (531)","Apps","网络服务","android","cybersecurity","Projects","Communications"],"sub_categories":["Windows Manager","AWS Amplify","即时通信","Communication","Secure Communication","Social","Instant Messages","效率工具","网络服务_其他","Chat and Messaging"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberty%2Fberty","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fberty%2Fberty","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fberty%2Fberty/lists"}