SinkingYachts 1.1.4

dotnet add package SinkingYachts --version 1.1.4
NuGet\Install-Package SinkingYachts -Version 1.1.4
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SinkingYachts" Version="1.1.4" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SinkingYachts --version 1.1.4
#r "nuget: SinkingYachts, 1.1.4"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install SinkingYachts as a Cake Addin
#addin nuget:?package=SinkingYachts&version=1.1.4

// Install SinkingYachts as a Cake Tool
#tool nuget:?package=SinkingYachts&version=1.1.4

Sinking Yachts 🐟

alternate text is missing from this package README image

A C# library for detecting Discord/Steam phishing links using the Sinking Yachts API.


Available on NuGet as SinkingYachts, methods are available under the public class YachtsClient.


  • Made with .NET 6
  • Fully async
  • Access to a Discord-related phishing database of over 15 500 confirmed malicious domains
  • Regex matching of domains and automatic phishing detection
  • Different modes for storing and loading phishing domains
  • Instant updates through WebSocket events
  • Domain whitelisting to decrease false positives
  • Customizable caching to decrease load

Example Project

Under the Example directory you can find a working demo Discord bot that implements this library.

07.09. 19:13:59 [Discord] Discord.Net v3.8.0 (API v9)
07.09. 19:13:59 [Gateway] Connecting
07.09. 19:14:01 [Gateway] Connected
07.09. 19:14:02 [Bot] Ready to protect your server from 15601 phishing domains
07.09. 19:14:02 [Bot] Domains added within the past day: 8
07.09. 19:14:02 [Bot] Domains deleted within the past day: 0
07.09. 19:14:02 [Gateway] Ready

Code Samples

Check message content

bool isPhishing = await Yachts.IsPhishing("hello");
//👉 True

Check a domain

bool isPhishing = await Yachts.IsPhishingDomain("");
//👉 True

Get the latest domains

string[] domains = (await Yachts.GetRecent(TimeSpan.FromDays(1))).Where(x => x.Type == ChangeType.Add).SelectMany(x => x.Domains).ToArray();

Get the database size

int size = await Yachts.GetDatabaseSize();
//👉 15601

Available methods

  • Task<Change[]> GetRecent(TimeSpan time)
  • Task<Change[]> GetRecent(int seconds)
  • Task<bool> IsPhishing(string content)
  • Task<bool> IsPhishingDomain(string domain)
  • Task<int> GetDatabaseSize()
  • Task<string[]> GetPhishingDomains()

Available events (requires StorageMode.LocalWS)

  • EventHandler<string> DomainAdded
  • EventHandler<string> DomainDeleted

Missing domains

Found a Discord/Steam phishing domain that isn't yet present in the database? Send it into the #domain-reports channel on our Discord server or open an issue in this repository.


Need help, want to discuss phishing or have a suggestion? Feel free to join our Discord server: (temporarily closed)

Product Compatible and additional computed target framework versions.
.NET net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • net6.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.1.4 424 9/8/2022
1.0.4 389 6/21/2022
1.0.3 407 6/20/2022
1.0.2 399 6/20/2022
1.0.1 388 6/20/2022
1.0.0 369 6/20/2022