A .NET class library for the Bluesky social network.
A .NET 8, 9 and 10 library and SDK for Bluesky and the AT Protocol
Add the idunno.Bluesky package to your project, and then
BlueskyAgent agent = new ();
var loginResult = await agent.Login(username, password);
if (loginResult.Succeeded)
{
var response = await agent.CreatePost("Hello World");
if (response.Succeeded)
{
}
}
Please see the documentation for much more useful documentation and samples.
The API status page shows what APIs are currently implemented.
Trimming is supported for applications targeting .NET 9.0 or later.
idunno.Bluesky, idunno.AtProto, idunno.AtProto.OAuthCallBack and idunno.AtProto.Types are available under the MIT license,
see the LICENSE file for more information.
If you find this library useful please consider donating to
If you want to give me the warm fuzzies, you can tag me on Bluesky at @blowdart.me to let me know.
The releases page provides details of each release and what was added, changed or removed. The changelog also contains this information, as well as information on upcoming releases.
The project uses an Authenticode certificate to sign assemblies and to author sign the nupkg packages. nuget validates the signatures during its publication process.
To validate these signatures use
dotnet nuget verify [<package-path(s)>]
The subject name of the signing certificate should be
Subject Name: CN=Barry Dorrans, O=Barry Dorrans, L=Bothell, S=Washington, C=US
In addition, GitHub artifacts are attested during build, and are also signed with minisign with the following public key.
RWTsT4BHHChe/Rj/GBAuZHg3RaZFnfBDqaZ7KzLvr44a7mO6fLCxSAFc
To validate a file using an artifact signature from a release
download the .nupkg from nuget and the appropriate .minisig from the release page, then use the following command,
replacing <package-path> with the file name you wish to verify.
minisign -Vm <package-path> -P RWTsT4BHHChe/Rj/GBAuZHg3RaZFnfBDqaZ7KzLvr44a7mO6fLCxSAFc
If you want to test pre-releases you can find them in the myget feed.
You can add this as a Package Source in Visual Studio
or through the command line, or by using the sample nuget.config file shown below:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<clear />
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
<add key="blowdart.myget.org" value="https://www.myget.org/F/blowdart/api/v3/index.json" />
</packageSources>
<packageSourceMapping>
<packageSource key="blowdart.myget.org">
<package pattern="idunno.AtProto" />
<package pattern="idunno.AtProto.*" />
<package pattern="idunno.Bluesky" />
</packageSource>
<packageSource key="nuget.org">
<package pattern="*" />
</packageSource>
</packageSourceMapping>
</configuration>
The package source URI is https://www.myget.org/F/blowdart/api/v3/index.json
To match a pre-release for a specific commit, if a build was produced for that commit
g as the build number.For example, commit 190d63e
produced a nightly build and packages. The package build number is be 1.1.0-prerelease.g190d63e20d
Please note that nightly builds are signed with Trusted Signing, the signing certificate chain will not match the signing chain of a release build. The subject name remains the same.
The .NET 8.0 version of idunno.AtProto takes a dependency on System.Text.Json v9 to support deserializing derived types
where the $type property is not the first property in the JSON object.
Fishyflip - a .NET ATProtocol/Bluesky Library
A Bluesky appview focused on low resource consumption
A Bluesky client for Windows 11, Windows 10 and Windows 10 Mobile
An oekaki BBS board running on top of the AT Protocol.
Client for Bluesky
BlueSky client for Windows 10/11
Your Brand Here!
50K+ engaged viewers every month
Limited spots available!
📧 Contact us via email🦋 Contact us on Bluesky