SinkingYachts 1.1.4
dotnet add package SinkingYachts --version 1.1.4
NuGet\Install-Package SinkingYachts -Version 1.1.4
<PackageReference Include="SinkingYachts" Version="1.1.4" />
paket add SinkingYachts --version 1.1.4
#r "nuget: SinkingYachts, 1.1.4"
// 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 🐟
A C# library for detecting Discord/Steam phishing links using the Sinking Yachts API.
Usage
Available on NuGet as SinkingYachts
, methods are available under the public class YachtsClient
.
https://www.nuget.org/packages/SinkingYachts
Features
- 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 https://hypesquadacademy-apply.ml");
//👉 True
Check a domain
bool isPhishing = await Yachts.IsPhishingDomain("warning-selectioneventhype.gq");
//👉 True
Get the latest domains
string[] domains = (await Yachts.GetRecent(TimeSpan.FromDays(1))).Where(x => x.Type == ChangeType.Add).SelectMany(x => x.Domains).ToArray();
//👉 steamcommunitysiv.top, wvwww-roblox.com, discord-download.win, steamcoumunity.eu, streamcummonity.com, streamcommunity.org, join-event-hypesquad.com, steamcommunityzowe.top
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.
Resources
Need help, want to discuss phishing or have a suggestion? Feel free to join our Discord server: https://discord.gg/d63pvY28HU (temporarily closed)
- Official website: https://sinking.yachts
- Email: admin@fishfish.gg, sinkingyachts@gmail.com
- GitHub: https://github.com/SinkingYachts
- Blog: https://sinking.yachts/blog/
Product | Versions 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. |
-
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.