YMJake.FusionCaptcha.ClickSelectionCaptcha
1.1.2
dotnet add package YMJake.FusionCaptcha.ClickSelectionCaptcha --version 1.1.2
NuGet\Install-Package YMJake.FusionCaptcha.ClickSelectionCaptcha -Version 1.1.2
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="YMJake.FusionCaptcha.ClickSelectionCaptcha" Version="1.1.2" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="YMJake.FusionCaptcha.ClickSelectionCaptcha" Version="1.1.2" />
<PackageReference Include="YMJake.FusionCaptcha.ClickSelectionCaptcha" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add YMJake.FusionCaptcha.ClickSelectionCaptcha --version 1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: YMJake.FusionCaptcha.ClickSelectionCaptcha, 1.1.2"
#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.
#:package YMJake.FusionCaptcha.ClickSelectionCaptcha@1.1.2
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=YMJake.FusionCaptcha.ClickSelectionCaptcha&version=1.1.2
#tool nuget:?package=YMJake.FusionCaptcha.ClickSelectionCaptcha&version=1.1.2
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FusionCaptcha
FusionCaptcha is a .NET captcha toolkit focused on three maintained modules:
PowCap(Proof-of-Work challenge)SlideCaptcha(slider puzzle)ClickSelectionCaptcha(ordered click selection)
The repository is intentionally scoped to these three modules for lower maintenance cost.
Packages
| Package | Description |
|---|---|
YMJake.FusionCaptcha.Abstractions |
Core contracts and shared models |
YMJake.FusionCaptcha.Core |
Base rendering pipeline and DI extensions |
YMJake.FusionCaptcha.PowCap |
PoW challenge server and token verification |
YMJake.FusionCaptcha.SlideCaptcha |
Slider captcha generation and validation |
YMJake.FusionCaptcha.ClickSelectionCaptcha |
Click-selection captcha generation and validation |
Rendering Status
FusionCaptcha.CoreusesVelloSharp + NetVipsfor base text captcha rendering.FusionCaptcha.SlideCaptchaandFusionCaptcha.ClickSelectionCaptchacurrently still useSkiaSharpin production paths.- Full rendering unification is planned and will be done incrementally to avoid regressions in slider/click puzzle behavior.
Storage Model
- The project now uses
IDistributedCachedirectly for captcha state. - For single-node/local runs, register
builder.Services.AddDistributedMemoryCache();. - For multi-node production, register a distributed provider such as Redis (for example
AddStackExchangeRedisCache(...)).
Quick Start (Minimal API)
See sample: samples/FusionCaptcha.MinimalApi
dotnet run --project samples/FusionCaptcha.MinimalApi
Default endpoints:
GET /slidePOST /slide/validateGET /pointPOST /point/validateGET /captchaPOST /captcha/validatePOST /cap/validateMapPowCapEndpoints()mounted routes
Sample Frontend
samples/captcha.web now contains only three tabs:
- Slider Puzzle
- Click Selection
- PoW (CAP)
Run:
cd samples/captcha.web
npm install
npm run dev
Notes
- Core image processing has been migrated away from ImageSharp.
- Deprecated/experimental modules have been removed from maintenance scope.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net8.0
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.7)
- Microsoft.Extensions.Options (>= 10.0.7)
- SkiaSharp (>= 3.119.2)
- YMJake.FusionCaptcha.Abstractions (>= 1.1.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.