Skip to content

Repository files navigation

NF-ToolBox Banner Typing SVG

Go Postgres Stripe License

What is NF-ToolBox

NF-ToolBox is the license backbone for the NF Software tool line: a Go API server that issues and verifies licenses, a CLI (nf-toolbox) end users install tools through, and a shared Go package (pkg/license) any NF tool embeds to check entitlement at startup.

Components

Component Path Purpose
Server cmd/server/ License API — auth, activation, renewal, Stripe webhooks
Toolbox CLI cmd/toolbox/ login · list · install · update · sync · devices · status
License package pkg/license/ Fingerprinting, signing, verification — embed in any NF tool
Keygen cmd/keygen/ Generates signing keys for the server

Quickstart

createdb license_db
psql -d license_db < migrations/001_initial.sql

go run cmd/keygen/main.go        # generate keys, add to .env
cp .env.example .env

make run                          # start the server
go build -o bin/nf-toolbox cmd/toolbox/main.go
nf-toolbox login
nf-toolbox install <tool>
nf-toolbox sync        # renew license after purchase
nf-toolbox status
🔌 API Endpoints
Endpoint Auth Purpose
POST /api/v1/auth/register · /login Account creation & login
POST /api/v1/activate · /renew Bearer License activation / renewal
GET /api/v1/license · /devices · /tools · /me Bearer Read current state
DELETE /api/v1/devices/{id} Bearer Deactivate a device
POST /webhooks/stripe Stripe sig Payment events
🧩 Integrating a tool
import "github.com/nf-software/nf-toolbox/pkg/license"

func main() {
    if err := license.CheckEntitlement("your-tool-name"); err != nil {
        fmt.Fprintln(os.Stderr, "Run: nf-toolbox login && nf-toolbox install your-tool")
        os.Exit(1)
    }
}

Footer typing

Made with ♥ by NoamFav · Proprietary — NF Software

About

Go license server, CLI toolbox, and verification SDK for the NF Software tool line — auth, Stripe billing, and device activation.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages