Feat(go): add Signer interface + License Server for multi-customer deployments

This commit is contained in:
yuanyuanxiang
2026-05-20 15:11:32 +02:00
parent e264e092f6
commit d808462fe1
14 changed files with 1798 additions and 29 deletions

View File

@@ -0,0 +1,18 @@
package licensing
// NoOpSigner returns an empty signature. Used when neither YAMA_SIGN_PASSWORD
// nor YAMA_LICENSE_SERVER is set — operator hasn't configured licensing at
// all (free-tier mode). Device list keeps working; the client's private
// library refuses to start screen/file features when it sees a zeroed
// Signature[64] field in CMD_MASTERSETTING.
type NoOpSigner struct{}
func NewNoOp() *NoOpSigner { return &NoOpSigner{} }
func (n *NoOpSigner) Sign(startTime, clientID string) (string, error) {
return "", nil
}
func (n *NoOpSigner) Mode() string { return "noop" }
func (n *NoOpSigner) Close() error { return nil }