{"id":13468227,"url":"https://github.com/damus-io/damus","last_synced_at":"2025-05-14T03:05:53.805Z","repository":{"id":40735025,"uuid":"477198595","full_name":"damus-io/damus","owner":"damus-io","description":"iOS nostr client","archived":false,"fork":false,"pushed_at":"2025-03-25T06:29:51.000Z","size":22452,"stargazers_count":2042,"open_issues_count":972,"forks_count":294,"subscribers_count":28,"default_branch":"master","last_synced_at":"2025-03-27T08:04:10.612Z","etag":null,"topics":["bitcoin","freedom","lightning-network","nostr"],"latest_commit_sha":null,"homepage":"","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damus-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"docs/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-03T00:00:20.000Z","updated_at":"2025-03-25T15:52:09.000Z","dependencies_parsed_at":"2024-07-24T20:18:25.563Z","dependency_job_id":"cd0e6685-fb9d-43aa-b570-d8f5a955575c","html_url":"https://github.com/damus-io/damus","commit_stats":{"total_commits":3538,"total_committers":96,"mean_commits":"36.854166666666664","dds":0.5635952515545506,"last_synced_commit":"68128b5ff138f398353936acbd3c4920cf0f3f7a"},"previous_names":[],"tags_count":21,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damus-io%2Fdamus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damus-io%2Fdamus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damus-io%2Fdamus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damus-io%2Fdamus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damus-io","download_url":"https://codeload.github.com/damus-io/damus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246970318,"owners_count":20862509,"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":["bitcoin","freedom","lightning-network","nostr"],"created_at":"2024-07-31T15:01:07.306Z","updated_at":"2025-04-03T09:05:16.524Z","avatar_url":"https://github.com/damus-io.png","language":"Swift","readme":"[![Run Test Suite](https://github.com/damus-io/damus/actions/workflows/run-tests.yaml/badge.svg?branch=master)](https://github.com/damus-io/damus/actions/workflows/run-tests.yaml)\n\n# damus\n\nA twitter-like [nostr][nostr] client for iPhone, iPad and MacOS. \n\n\u003cimg src=\"./ss.png\" width=\"50%\" height=\"50%\" /\u003e\n\n[nostr]: https://github.com/fiatjaf/nostr\n\n## How is Damus better than X/Twitter?\nThere are no toxic algorithms.\\\nYou can send or receive zaps (satoshis) without asking for permission.\\\n[There is no central database](https://fiatjaf.com/nostr.html). Therefore, Damus is censorship resistant.\\\nThere are no ads.\\\nYou don't have to reveal sensitive personal information to sign up.\\\nNo email is required. \\\nNo phone number is required. \\\nDamus is free and open source software. \\\nThere is no Big Tech moat. Therefore, seamless interoperability with thousands or millions of other nostr apps is possible, and is how [Damus and nostr win](https://www.youtube.com/watch?v=qTixqS-W1yo).\n\n## If there are no ads, how is Damus funded?\nDamus offers a paid subscription 🟣 purple 🟣 https://damus.io/purple/. \\\nInitial benefits include a unique subscriber number, subscriber badge, and auto-translate powered by DeepL.\n\nDamus has also graciously received donations or grants from hundreds of Damus users, [Opensats](https://opensats.org/), and the [Human Rights Foundation](https://hrf.org/).\n\n## Spec Compliance\n\ndamus implements the following [Nostr Implementation Possibilities][nips]\n\n- [NIP-01: Basic protocol flow][nip01]\n- [NIP-04: Encrypted direct message][nip04]\n- [NIP-08: Mentions][nip08]\n- [NIP-10: Reply conventions][nip10]\n- [NIP-12: Generic tag queries (hashtags)][nip12]\n- [NIP-19: bech32-encoded entities][NIP19]\n- [NIP-21: nostr: URI scheme][NIP21]\n- [NIP-25: Reactions][NIP25]\n- [NIP-42: Authentication of clients to relays][nip42]\n- [NIP-56: Reporting][nip56]\n\n[nips]: https://github.com/nostr-protocol/nips\n[nip01]: https://github.com/nostr-protocol/nips/blob/master/01.md\n[nip04]: https://github.com/nostr-protocol/nips/blob/master/04.md\n[nip08]: https://github.com/nostr-protocol/nips/blob/master/08.md\n[nip10]: https://github.com/nostr-protocol/nips/blob/master/10.md\n[nip12]: https://github.com/nostr-protocol/nips/blob/master/12.md\n[nip19]: https://github.com/nostr-protocol/nips/blob/master/19.md\n[nip21]: https://github.com/nostr-protocol/nips/blob/master/21.md\n[nip25]: https://github.com/nostr-protocol/nips/blob/master/25.md\n[nip42]: https://github.com/nostr-protocol/nips/blob/master/42.md\n[nip56]: https://github.com/nostr-protocol/nips/blob/master/56.md\n\n\n## Getting Started on Damus \n\n### Damus iOS\n1) Get the Damus app on the iOS App Store: https://apps.apple.com/ca/app/damus/id1628663131\n\n#### ⚙️ Settings (gear icon, top right)\n- Relays: You can add more relays to send your notes to by tapping the \"+\". \n  - Find more relays to add: https://nostr.info/relays/ \n- Public Key (pubkey): Your public, personal address and how people can find and tag you\n - Secret Key: Your *private* key unique to you. Never share your private key publicly and share with other clients at your own risk!\n   - Save your keys somewhere safe\n - Log out\n\n#### 🏠 Personal Feed (home icon, bottom navigation)\n- Feed from everyone you follow\n- Can post notes by tapping the blue + button\n\n#### Notes (under 🏠 Personal Feed)\n- Sending a Note is easy and it goes to both your 🏠 Personal and 🔍 Global Feeds \n- To tag a user you must grab their pubkey:\n  1. Search their username in the search bar at the top of the 🔍 Global Feed and click their profile\n  2. Tap the 🔑 icon which will copy their pubkey to your clipboard\n  3. Go back to your 🏠 Personal Feed and tap the blue + button to compose your Note\n  4. Add @ directly followed by the pubkey (e.g., `@npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s`)\n- You can also tap the ellipsis menu of a Note (three dots in top right of note) to grab their User ID aka pubkey or Note ID to link directly to a Note.\n- Currently you can't delete your Notes in the iOS app\n- Share images by pasting the image url which you can grab from nostr.build, imgbb, imgur, etc. (i.e., `https://i.ibb.co/2SHZbwm/alpha60.jpg`). Currently images only load for people you follow in the 🏠 Personal Feed. Images are not automatically loaded in 🔍 Global Feed\n- Engaging with Notes\n  - 💬 Replying to a Note: Tap the chat icon underneath the note. This will show up in the users’ notifications and in your 🏠 Personal and 🔍 Global Feeds\n  - ♺ Reposts: Tap the repost icon which will show up in your 🏠 Personal and 🔍 Global Feeds\n  - ♡ Likes: Tap the heart icon. Users will not get a notification, and cannot see who liked their note (currently, web clients can see your pfp only)\n\n\n#### 💬 Encrypted DMs (chat app, bottom navigation)\n- Tap the chat icon and you'll notice there's nothing to see at first. Go to a user profile and tap the 💬 chat icon next to the follow button to begin a DM\n\n#### 🔍 Global Feed (magnify glass, bottom navigation)\n- View the Global Feed from all the relays you've added in ⚙️ Settings. Currently you can only search hashtags and user names and pubkeys\n\n#### 🔔 Notifications\n- All your notifications except 💬 DMs\n\n#### 👤 Change Your Profile (PFP) and Bio\n1. Go to your Profile Page on Damus app\n2. Tap on Edit button at the top\n3. You will see text fields to update your information and bio\n4. For PFP, insert a URL containing your image (support video: https://cdn.jb55.com/vid/pfp-editor.mp4)\n5. Save\n\n\n#### ⚡️ Request Sats \nPaste an invoice from your favorite LN wallet.\n    (Sats or Satoshis are the smallest denomination of bitcoin)\n\t\n**Alby (browser extension)**\n- Get the [Alby](https://getalby.com/) browser extension and create your Alby address [yourname]@getalby.com or connect your existing Lightning wallet\n- Convert your Damus secret key from nsec to hex at https://damus.io/key then go to Settings in Alby and under the Nostr section at the bottom of the page add your private hex key. You can also generate new address in the extension\n- Click the Alby extension \u003e click Receive \u003e enter the amount of Sats \u003e click Get Invoice \u003e click Copy \u003e then paste into Damus\n- Note: On Damus Web it will appear as a string of characters but on Damus iOS it will appear as a clickable image\n\n**Zeus (mobile app)**\n- Download [Zeus](https://zeusln.app/) app (iOS, Google, APK)\n- Tap Get Started button \u003e tap Connect a node \u003e click on + sign (top right) \u003e select Indhub \u003e press Scan Lndhub QR \u003e (from the Alby browser extension… click your account on the top left \u003e click Manage Accounts \u003e click 3-dot menu to right of your account and click Export Account to get a QR code then go back to Zeus app) \u003e scan the QR Code and tap Save Node Config button\n- To create an invoice tap Lightning \u003e tap Receive \u003e type in amount \u003e tap Create Invoice \u003e tap Copy Invoice \u003e paste into a new Damus note\n\n## Contributing\n\nContributors welcome! Start by examining known issues: https://github.com/damus-io/damus/issues.\n\n### Mailing lists\n\nWe have a few mailing lists that anyone can join to get involved in damus development:\n\n- [dev][dev-list] - development discussions\n- [patches][patches-list] - code submission and review\n- [product][product-list] - product discussions\n- [design][design-list] - design discussions\n\n[dev-list]: https://damus.io/list/dev\n[patches-list]: https://damus.io/list/patches\n[product-list]: https://damus.io/list/product\n[design-list]: https://damus.io/list/design\n\n### Contributing\n\nSee [docs/CONTRIBUTING.md](./docs/CONTRIBUTING.md)\n\n### Privacy\nYour internet protocol (IP) address is exposed to the relays you connect to, and third party media hosters (e.g. nostr.build, imgur.com, giphy.com, youtube.com etc.) that render on Damus. If you want to improve your privacy, consider utilizing a service that masks your IP address (e.g. a VPN) from trackers online.\n\nThe relay also learns which public keys you are requesting, meaning your public key will be tied to your IP address.\n\nIt is public information which other profiles (npubs) you are exchanging DMs with. The content of the DMs is encrypted.\n\n### Translations\n\nTranslators welcome! Join the [Transifex][transifex] project.\n\nAll user-facing strings must have a comment in order to provide context to translators. If a SwiftUI component has a `comment` parameter, use that. Otherwise, wrap your string with `NSLocalizedString` with the `comment` field populated.\n\n[transifex]: https://explore.transifex.com/damus/damus-ios/\n\n### Awards\n\nDamus lead dev and founder Will awards developers with satoshis!\nThere may be nostr badges awarded for contributors in the future... :)\n\n\nFirst contributors:\n\n1. @randymcmillan\n2. @jcarucci27\n\n### git log bot\n\nnpub1fjtdwclt9lspjy8huu3qklr7eklp5uq90u6yh8mec290pqxraccqlufnas\n","funding_links":[],"categories":["Swift","Install from Source","C","网络服务","Web3 and ZKP Framework","Clients"],"sub_categories":["Nostr","网络服务_其他","Mobile"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamus-io%2Fdamus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamus-io%2Fdamus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamus-io%2Fdamus/lists"}