dumbtv
dumbtv가 ADB로 Fire TV에서 광고·추적·업데이트 알림을 제거, 루트·앱 변경 없이, 무료 오픈소스
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
Self-hosted OAuth 2.0 / OpenID Connect / SAML 2.0 authentication server for .NET. Pluggable storage: your own PostgreSQL or SQLite, Azure Table Storage, or AWS (DynamoDB / S3 / Secrets Manager).
The open, self-hostable identity server for .NET teams, a fully-featured alternative to Duende IdentityServer and Auth0 that you run. API-only ASP.NET Core server + React login SPA, shipped as a single Docker image, or embedded as a library in your own ASP.NET project. Built on a custom OIDC/OAuth2 protocol implementation, no OpenIddict or Duende dependency.README 전문 보기 ↗The open, self-hostable identity server for .NET teams, a fully-featured alternative to Duende IdentityServer and Auth0 that you run. API-only ASP.NET Core server + React login SPA, shipped as a single Docker image, or embedded as a library in your own ASP.NET project. Built on a custom OIDC/OAuth2 protocol implementation, no OpenIddict or Duende dependency.
☁️ Don't want to run it yourself?
Authagonal Cloud is the fully-managed version, multi-tenant SSO, SCIM, MFA, custom domains, and a management portal, with every feature on every plan and no per-connection SSO fees. Self-host the OSS here, or let us operate it → authagonal.io
docker compose up
This starts the auth server on http://localhost:8080 with an Azurite storage emulator.
| Project | Description |
|---|---|
src/Authagonal.Core | Domain models, interfaces, extensibility contracts |
src/Authagonal.Protocol | Embeddable OIDC / OAuth 2.0 protocol surface, bring your own identity (IOidcSubjectResolver) and storage (IClientStore / IGrantStore / IScopeStore / ISigningKeyStore). No user store, no SAML, no admin UI. |
src/Authagonal.AzureProvider | Azure Table Storage implementation of the stores (formerly Authagonal.Storage) |
src/Authagonal.AwsProvider | AWS implementation, DynamoDB / S3 / Secrets Manager stores and clustering |
src/Authagonal.SqlProvider | Self-hosted SQL implementation, PostgreSQL or SQLite, plus clustering and the DataProtection key ring |
src/Authagonal.Backup | Backup, restore, merge and rollup library for the storage backends |
src/Authagonal.Server | ASP.NET Core host, OIDC, SAML, auth API, admin API |
login-app | React/TypeScript login SPA (Vite), published as @authagonal/login |
tools/Authagonal.Migration | Duende IdentityServer → Table Storage migration tool |
tools/Authagonal.Backup | Azure Table Storage backup tool (incremental support) |
tools/Authagonal.Restore | Azure Table Storage restore tool (upsert, merge, clean modes) |
tests/Authagonal.Tests | Unit tests |
tests/load | k6 load tests (smoke, stress, soak) |
demos/custom-server | Demo: host Authagonal as a library with custom extensions |
demos/sample-app | Demo: client app (API + React SPA) authenticating via Authagonal |
appsettings.jsonRequireConsent flag, scope-aware re-consent, grant management UIPOST /connect/introspect for resource servers to verify token validityPOST /connect/revocation; revocations tracked in a persistent revocation list consulted by the introspection endpointPOST /connect/register for clients to self-register at runtime (opt-in via Auth:DynamicClientRegistrationEnabled), advertised via the discovery document when enabled/api/v1/scopes); custom scopes advertised dynamically by discovery and surfaced on the consent screenBackChannelLogoutUriDisabled, Enabled, Required) with IAuthHook override for per-user control.IProvisioningAppProvider.IAuthHook extensibility point for audit logging, custom validation, webhooks. Multiple implementations run in registration order.| Option | Description |
|---|---|
| Docker image | drawboardci/authagonal, pre-built, configure via env vars and branding.json |
| NuGet library | Reference Authagonal.Server + a provider (Authagonal.AzureProvider, Authagonal.SqlProvider or Authagonal.AwsProvider), call AddAuthagonal(), override services |
| npm package | @authagonal/login, the login SPA as a component library; import base components, override what you need |
| Managed cloud | Authagonal Cloud, we host and operate it for you |
# Build server image
docker build -t authagonal .
# Build migration tool
docker build -f Dockerfile.migration -t authagonal-migration .
# Storage emulator (the default appsettings.json expects Azurite on its default ports)
docker run -d -p 10000-10002:10000-10002 mcr.microsoft.com/azure-storage/azurite
# Server (requires .NET 10 SDK)
dotnet run --project src/Authagonal.Server
# Login app
cd login-app && npm install && npm run dev
var builder = WebApplication.CreateBuilder(args);
// Override extensibility points before AddAuthagonal (multiple hooks supported)
builder.Services.AddSingleton<IAuthHook, MyAuditHook>();
builder.Services.AddSingleton<IEmailService, MyEmailService>();
builder.Services.AddAuthagonal(builder.Configuration);
var app = builder.Build();
app.UseAuthagonal();
app.MapAuthagonalEndpoints();
app.MapFallbackToFile("index.html");
app.Run();
See demos/custom-server/ for a complete example.
Two things every new deployment needs:
Email:ResendApiKey + Email:SenderEmail to activate the built-in Resend sender, or register your own IEmailService before AddAuthagonal. Without one, verification and reset emails are discarded, and since login requires a confirmed email by default, self-registered users can't sign in (set Auth:AutoConfirmEmailDomains to skip verification for your domains).client_credentials client holding the authagonal-admin scope in the Clients: config section. Config-seeded clients are the only way to hold that scope; the API and dynamic registration refuse to grant it (so a runtime client can never escalate).# Quick smoke test
k6 run tests/load/smoke.js -e BASE_URL=http://localhost:8080
# Stress test (ramps to 100 VUs)
k6 run tests/load/stress.js
# Soak test (30 minutes sustained load)
k6 run tests/load/soak.js -e DURATION=30m
See the full documentation for configuration reference.
/api/v1/rolesITenantContext and IKeyManager interfaces for per-tenant configuration and signing key isolationVaultTransitClient for sign/verify, encrypt/decrypt and keyed HMAC against Vault's Transit engine — the building block for an IFieldCipher or IIndexTokenizer. Note: remote JWT signing is not wired; see Extensibility.AddAuthagonal() / UseAuthagonal() extension methods to host in your own projectAuthUser.CustomAttributes, persisted alongside standard profile fieldsbranding.json, CSS custom properties, or install the npm package and override individual componentsprefers-color-scheme detection with persisted user preference. Tenant branding variables override theme defaults.