├── README.md └── app-passwords.md /README.md: -------------------------------------------------------------------------------- 1 | # AT Protocol Ecosystem [Deprecated] 2 | 3 | ⚠️ This repository is no longer actively maintained. Visit our [Community Projects page](https://atproto.com/community/projects) to view a list of projects and implementations in the AT Protocol ecosystem. 4 | 5 | You can open pull requests to submit/remove your project from the Community Projects page [here](https://github.com/bluesky-social/atproto-website). 6 | 7 | ## Disclaimer 8 | 9 | *This list of third-party developer clients is provided for informational purposes only. These clients are not affiliated with the Bluesky PBLLC company, unless otherwise indicated, and we do not endorse or guarantee their performance or security. Users should be aware that logging in to their accounts through these third-party clients carries inherent risks, including the possibility of account compromise or data loss. It is important to only use third-party clients that are trusted and reputable. We strongly advise users to exercise caution and use these third-party clients at their own risk. Only log in to your account through a third-party client if you trust the developer and are confident in their ability to safeguard your account information.* 10 | 11 | *We are not responsible for any damage, loss, or unauthorized access to your account that may result from using these third-party clients. By using any of these clients, you acknowledge and accept these risks and limitations.* 12 | 13 | ## Protocol Documentation 14 | 15 | - [atproto.com](https://atproto.com/docs) 16 | 17 | ## Protocol Implementations (Libraries) 18 | 19 | - [atproto](https://github.com/bluesky-social/atproto) (Typescript): this is the leading protocol implementation, developed by Bluesky PBLLC 20 | - [indigo](https://github.com/bluesky-social/indigo) (Go): not stable 21 | - [adenosine](https://gitlab.com/bnewbold/adenosine) (Rust): not stable 22 | - [atrium](https://github.com/sugyan/atrium) (Rust): new, not stable 23 | - [lexrpc](https://github.com/snarfed/lexrpc) (Python): not stable 24 | - [atprototools](https://github.com/ianklatzco/atprototools) (Python): new, not stable 25 | - [atproto](https://github.com/myConsciousness/atproto.dart/tree/main/packages/atproto) and [bluesky](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky) (Dart) 26 | - [bskyrb](https://github.com/ShreyanJain9/bskyrb) (Ruby): new, not stable 27 | - [blue-pyinthe-sky](https://github.com/robcerda/blue-pyinthe-sky) (Python) new, not stable. Packaging it up into an installable module is a work in progress. 28 | - [bsky4j](https://github.com/uakihir0/bsky4j) (Java): new, not stable 29 | - [blueRsky](https://github.com/colin-fraser/blueRsky) (R): R package. Not on CRAN yet but installable and functional. 30 | - [chitose](https://github.com/mnogu/chitose) (Python): new, not stable 31 | - [BlueSky.Net](https://github.com/dariogriffo/bluesky-net) (.NET) new, WIP. Available to download in [Nuget](https://www.nuget.org/packages/Bluesky.Net/) 32 | - [nanoatp](https://github.com/susumuota/nanoatp) (Python): new, not stable 33 | - [psychonaut](https://github.com/jbn/psychonaut) (Python): async with Pydantic models for lexicon enforcement. WIP/unstable 34 | - [atproto](https://github.com/MarshalX/atproto) (Python): new, not stable 35 | 36 | ## Clients 37 | 38 | ### Web Clients 39 | 40 | - Bluesky (developed by Bluesky PBLLC): 41 | - site: [https://staging.bsky.app/](https://staging.bsky.app/) 42 | - Flat: 43 | - app: [flat-bs.vercel.app](https://flat-bs.vercel.app) 44 | - repo: [github.com/sabigara/flat](https://github.com/sabigara/flat) 45 | - Kite 🪁 46 | - app: [Kite](https://kite.black) 47 | - repo: [github.com/callmearta/kite](https://github.com/callmearta/kite) 48 | - Bsky 49 | - app: [bsky.syui.cf](https://bsky.syui.cf) 50 | - repo: [github.com/syui/bsky-web](https://github.com/syui/bsky-web) 51 | - Bsky Wrapper 52 | - site: [blue.amazingca.dev](https://blue.amazingca.dev) 53 | - repo: [https://github.com/Amazingca/BSKY-Wrapper](https://github.com/Amazingca/BSKY-Wrapper) 54 | - Skylight 55 | - site: [https://penpenpng.github.io/skylight](https://penpenpng.github.io/skylight) 56 | - repo: [https://github.com/penpenpng/skylight](https://github.com/penpenpng/skylight) 57 | - Skylight Bluesky Style 58 | - site: [https://skylight.louis-c-novel.com/#/](https://skylight.louis-c-novel.com/#/) 59 | - repo: [https://github.com/louiscnovel2/skylight-bluesky-style](https://github.com/louiscnovel2/skylight-bluesky-style) 60 | - Redsky 61 | - site: [https://redsky.pages.dev/](https://redsky.pages.dev/) 62 | - repo: [https://github.com/akanoren/redsky](https://github.com/akanoren/redsky) 63 | - TOKIMEKI Bluesky 64 | - site: [https://tokimekibluesky.vercel.app](https://tokimekibluesky.vercel.app) 65 | - repo: [https://github.com/spuithori/tokimekibluesky](https://github.com/spuithori/tokimekibluesky) 66 | - The Blue 67 | - site: [https://the-blue.shino3.net](https://the-blue.shino3.net) 68 | - repo: [https://github.com/ShinoharaTa/AozoraWebClient](https://github.com/ShinoharaTa/AozoraWebClient) 69 | - Klearsky 70 | - site: [https://klearsky.pages.dev/](https://klearsky.pages.dev/) 71 | - repo: [https://github.com/mimonelu/klearsky](https://github.com/mimonelu/klearsky) 72 | - Skyline 73 | - site: [https://skyline.gay/](https://skyline.gay/) 74 | - repo: [https://github.com/louislva/skyline](https://github.com/louislva/skyline) 75 | - Firesky: Real-time Bluesky firehose 76 | - site: [https://firesky.tv](https://firesky.tv) 77 | - Sunrise 78 | - site: [https://sunrise.li/](https://sunrise.li) 79 | - Connectsky (Web & extension based ATProto Client) 80 | - repo: https://github.com/Nester-xyz/Connectsky 81 | 82 | ### Android Clients 83 | 84 | - Bluesky (developed by Bluesky PBLLC) 85 | - app: [Play Store](https://play.google.com/store/apps/details?id=xyz.blueskyweb.app&hl=en_US) 86 | - site: [bsky.app](https://bsky.app) 87 | - Seiun 88 | - app: [Google Play Store](https://play.google.com/store/apps/details?id=io.github.akiomik.seiun) 89 | - repo: [https://github.com/akiomik/seiun](https://github.com/akiomik/seiun) 90 | - Ozone 91 | - app: 🚧 TBD 92 | - repo: [https://github.com/christiandeange/ozone](https://github.com/christiandeange/ozone) 93 | 94 | ### iOS Clients 95 | 96 | - Bluesky (developed by Bluesky PBLLC) 97 | - app: [App Store](https://apps.apple.com/us/app/bluesky-social/id6444370199) 98 | - site: [bsky.app](https://bsky.app) 99 | - Graysky 100 | - app: [App Store](https://testflight.apple.com/join/8Q1M4gwt) 101 | - repo: [bsky.app](https://github.com/mozzius/graysky) 102 | 103 | ### MacOS Clients 104 | 105 | - [swiftsky](https://github.com/rmcan/swiftsky) (Swift) 106 | - [Bluesky for Raycast](https://www.raycast.com/dharamkapila/bluesky): A Bluesky client for [Raycast](https://www.raycast.com). 107 | 108 | ### CLI Clients 109 | 110 | - [adenosine-cli](https://gitlab.com/bnewbold/adenosine/-/blob/main/adenosine-cli/README.md) (Rust) 111 | - [gosky](https://github.com/bluesky-social/indigo/tree/main/cmd/gosky) (Golang)(developed by Bluesky PBLLC) 112 | - [bsky](https://github.com/mattn/bsky) (Golang) 113 | - [gomoderate](https://github.com/thepudds/gomoderate) (Golang) 114 | - [atr](https://github.com/syui/atr) (Rust) 115 | - bluesky_cli (Dart) 116 | - repo: [bluesky_cli](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_cli) 117 | - site: [pub.dev](https://pub.dev/packages/bluesky_cli) 118 | - bluesky_ex (Elixir): new, not stable 119 | - repo: [bluesky_ex](https://github.com/cribbles/bluesky_ex) (Elixir): new, not stable 120 | - site: [hexdocs](https://hexdocs.pm/bluesky_ex/readme.html) 121 | - [blue-sky-cli](https://github.com/wesbos/blue-sky-cli) (Typescript) 122 | - [gokyuzu](https://github.com/kiliczsh/gokyuzu) (Python) 123 | - [pBsky](https://github.com/davidcarryer/pBsky) (Python-based BlueSky Client for the Linux Command Line) 124 | 125 | ### Other Tools 126 | 127 | - [twitter-to-bsky](https://github.com/ianklatzco/twitter-to-bsky) Import a Twitter archive into Bluesky. (may spam timeline!) 128 | - [bluesky-post](https://github.com/myConsciousness/atproto.dart/tree/main/packages/bluesky_post) A tool to post from GitHub Actions to Bluesky Social on your behalf. 129 | - site: [GitHub Marketplace](https://github.com/marketplace/actions/send-bluesky-post) 130 | - Bsky Tooling – Cache and follow tons of repos and users. 131 | - site: [blue.amazingca.dev/tools](https://blue.amazingca.dev/tools) 132 | - repo: [https://github.com/Amazingca/BSKY-Wrapper/blob/main/tools.html](https://github.com/Amazingca/BSKY-Wrapper/blob/main/tools.html) 133 | - Bluestream: RSS feed generator for Bluesky. 134 | - site: [Bluestream](https://bluestream.deno.dev/) 135 | - repo: https://github.com/kawarimidoll/bluestream 136 | - [blueskyfirehose](https://github.com/CharlesDardaman/blueskyfirehose) (Golang) Tool to view a firehose of all posts coming from bsky.social 137 | - [Bluesky Overhaul](https://github.com/xenohunter/bluesky-overhaul) Browser extension that improves UX on the web app 138 | - [Chrome Web Store](https://chrome.google.com/webstore/detail/bluesky-overhaul/cllpkmbebfmadmkkpplnaaffnhjjpgbi) 139 | - [Mozilla Add-ons](https://addons.mozilla.org/en-US/firefox/addon/bluesky-overhaul/) 140 | - [SkyLink](https://github.com/jessejanderson/skylink) A simple web extension that detects if the current website is connected to a Bluesky user. 141 | - [Chrome Web Store](https://chrome.google.com/webstore/detail/skylink-bluesky-did-detec/aflpfginfpjhanhkmdpohpggpolfopmb) 142 | - [Mozilla Add-ons](https://addons.mozilla.org/en-US/firefox/addon/skylink-bluesky-did-detector/) 143 | - [granary](https://granary.io/) (Python, REST API) converts `app.bsky` objects to/from ActivityStreams, RSS, Atom, HTML, and more 144 | - [Bridgy Fed](https://fed.brid.gy/) (Python) includes implementations of the [AT Protocol Merkle search tree](https://github.com/snarfed/bridgy-fed/blob/main/atproto_mst.py) and [`com.atproto.sync`](https://github.com/snarfed/bridgy-fed/blob/main/atproto.py) 145 | - [bsky-link-preview](https://github.com/capjamesg/bsky-link-preview): Generate an embeddable link preview for a Bluesky post. 146 | - [bluesky-esphome](https://github.com/softplus/bluesky_esphome): Basic ESPHOME / ESP32 configuration to display Bluesky data. 147 | - [bluesky-api-client](https://github.com/smileostrich/bluesky-api-client): (Java, REST API) Providing interesting methods(checking followers automatically) and helper methods for authentication, fetching likes list, timelines etc... 148 | - [socialweb/atproto-lexicon](https://github.com/socialweb-php/atproto-lexicon) (PHP, Lexicon parser): Parses and resolves Lexicon schemas; useful for code generation and more. 149 | - [w3igg-crossposter](https://github.com/molly/w3igg-crossposter): Tool used currently for [web3isgoinggreat](https://web3isgoinggreat.com/) to x-post to Twitter, Mastodon, and Bluesky simultaneously 150 | -------------------------------------------------------------------------------- /app-passwords.md: -------------------------------------------------------------------------------- 1 | # App Password 2 | 3 | To allow users to start logging in with app passwords, you won't need to change 4 | a thing! Users will be able to log into your client with an "app password" in 5 | the exact same way that they log in with their account password. 6 | 7 | App passwords have most of the same abilities as the user's account password, 8 | however they're restricted from destructive actions such as account deletion or 9 | account migration. They are also restricted from creating additional app 10 | passwords. 11 | 12 | No client changes are required to adopt app passwords. However, we strongly 13 | encourage you to prompt users to use an app password on login and **avoid ever 14 | entering their password**. For account creation, we encourage **redirecting a user 15 | to the bluesky client** (https://staging.bsky.app) 16 | 17 | We also strongly encourage you to **delete all existing refresh tokens** and 18 | re-fetch access/refresh tokens using an app password. 19 | 20 | App passwords are of the form `xxxx-xxxx-xxxx-xxxx`. For your users' safety, you 21 | could run a quick check to ensure that they are logging in with an app password 22 | and not their account password. 23 | --------------------------------------------------------------------------------