AD
Launch on Firsto—Launch your project today — get a DR57 backlink instantly.
BSkyInfo LogoBskyInfo
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryArticlesGuidesGlossaryBluesky SDKsSponsor
Submit
All ToolsCategoriesCollectionsFeed DirectoryLabeler DirectoryGuidesGlossaryArticlesBluesky SDKsSponsorSubmit
  1. SDKs
  2. /JavaScript
  3. /skyname
darnfish

skyname

A JavaScript SDK for Bluesky and AT Protocol by darnfish

Free, unique usernames for Bluesky

GitHub Stats

35stars
3forks
1contributors
9open issues

Dates

Created:August 12, 2023
Last updated:October 17, 2025

README

The following content is from skyname's GitHub repository. All rights reserved by the original author.

Skyname

Register and own your own free, unique usernames for Bluesky

Why?

Skyname is a username registrar for Bluesky.

Bluesky uses domains as usernames. Since I own the domain darn.fish, I can set it as my username on Bluesky, hence why I am @darn.fish.

DNS, specifically a TXT record, is used for verifying domain ownership. Skyname hijacks this process and lets users verify a subdomain on a set of domain names owned by whoever runs a Skyname instance.

The official Skyname instance is located at skyna.me. You can find domains such as bsky.cool and bsky.lgbt among others. Anyone can sign up and claim their own .bsky.cool username for free and forever.

If you'd like to add your own domain for anyone to use, email domains@skyna.me to start the process. Alternatively, and more preferrably, you can host your own instances and email instances@skyna.me to be added to a list coming in the not so distant future.

Setup

Clone down the repo and install dependencies:

git clone git@github.com:darnfish/skyname.git
cd skyname
yarn

You will need to populate SKYNAME_CONFIG with a Base64 encoded JSON object to supply your owned domains and DNS providers. Here is a sample:

{
    "domains": {
        "example.com": {
            "provider": "my-provider",
            "zoneId": "<cf_zone_id>",
            "disallowedSubdomains": [
                "skyname"
            ]
        }
    },
    "providers": {
        "my-provider": {
            "service": "cloudflare",
            "token": "<cf_token>",
            "attestation": {
                "verified": true
            }
        }
    }
}

Once you have this file, save it to config.json and run the following command to copy the encoded Base64 string to clipboard so you can set as your SKYNAME_CONFIG environment variable:

cat config.json | base64 | pbcopy -

You will also need to set POSTGRES_URL to a PostgreSQL database. The database must have read write permissions and a table called registrations which can be created using the following SQL query:

CREATE TABLE "public"."registrations" (
    "id" varchar NOT NULL,
    "created_at" text NOT NULL DEFAULT now(),
    "invalidated_at" text,
    "actor" varchar NOT NULL,
    "subdomain" varchar NOT NULL,
    "domain" varchar NOT NULL,
    "previous_username" varchar NOT NULL,
    "record_id" varchar NOT NULL,
    "server" varchar NOT NULL DEFAULT 'bsky.social'::character varying,
    PRIMARY KEY ("id")
);

You can optionally set a TG_CHAT_ID and TG_BOT_TOKEN which will log events out to a Telegram chat.

Development

To run the server locally, make sure you have added the above environment variables to .env.local in the repository root. Then you can run the following:

yarn dev

License

MIT

Topics

blueskycloudflarednsregistrar

Related SDKs

sammorrisdesigninteractive-feed

A Twitter, Mastodon, and BlueSky bot that shares new interactive, graphic, and data vis stories from newsrooms around the world

58•JavaScript
bluesky-socialatproto

AT Protocol Reference Implementation (TypeScript)

8870•JavaScript
marcomaroni-githubtwitter-to-bluesky

Import all tweets exported from X/Twitter to a Bluesky account.

627•JavaScript
FxEmbedFxEmbed

Fix X/Twitter and Bluesky embeds! Use multiple images, videos, polls, translations and more on Discord, Telegram and others

3671•JavaScript
mary-extatproto-scraping

Git scraping of AT Protocol/Bluesky instances

152•JavaScript
mary-extbluesky-labeler-scraping

Git scraping of Bluesky labelers/label providers

68•JavaScript

Resources

GitHub RepositoryProject Website

License

MIT

Author

darnfish
darnfish

Activity

Last commit: October 17, 2025
Commit frequency: Unknown

Our Sponsors

Your Brand Here!

50K+ engaged viewers every month

Limited spots available!

📧 Contact us via email🦋 Contact us on Bluesky
BSkyInfo LogoBskyInfo

The Most Comprehensive Bluesky Tools Directory

Stay updated with the latest Bluesky tools and ecosystem news 🦋

Bluesky butterfly logo
Quick LinksSubmit a ToolSponsorAboutLegal Information
ToolsFeed DirectoryLabeler DirectorySchedulingAnalyticsAll ToolsCategoriesCollectionsTags
ResourcesArticlesBluesky GuidesBluesky GlossaryBluesky SDKsBluesky ResourcesSkyRaffleMeida Coverage
Our ProductsRaffleBlueAiTeach ToolsLaiewAI affiliate listFirstoCoast Fire CalculatorAsphalt CalculatorDog Names World

This website may contain affiliate links

© 2025 BskyInfo. All rights reserved.