mirror of
https://github.com/fiatjaf/nak.git
synced 2024-11-25 00:59:08 -05:00
update go-nostr keyer interface and make req --auth work again.
This commit is contained in:
parent
43fe41df5d
commit
d7c0ff2bb7
5
event.go
5
event.go
|
@ -239,7 +239,7 @@ example:
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
evt.PubKey = kr.GetPublicKey(ctx)
|
evt.PubKey, _ = kr.GetPublicKey(ctx)
|
||||||
}
|
}
|
||||||
|
|
||||||
// try to generate work with this difficulty -- runs forever
|
// try to generate work with this difficulty -- runs forever
|
||||||
|
@ -302,7 +302,8 @@ example:
|
||||||
// error publishing
|
// error publishing
|
||||||
if strings.HasPrefix(err.Error(), "msg: auth-required:") && (sec != "" || bunker != nil) && doAuth {
|
if strings.HasPrefix(err.Error(), "msg: auth-required:") && (sec != "" || bunker != nil) && doAuth {
|
||||||
// if the relay is requesting auth and we can auth, let's do it
|
// if the relay is requesting auth and we can auth, let's do it
|
||||||
log("performing auth as %s... ", kr.GetPublicKey(ctx))
|
pk, _ := kr.GetPublicKey(ctx)
|
||||||
|
log("performing auth as %s... ", pk)
|
||||||
if err := relay.Auth(ctx, func(authEvent *nostr.Event) error {
|
if err := relay.Auth(ctx, func(authEvent *nostr.Event) error {
|
||||||
return kr.SignEvent(ctx, authEvent)
|
return kr.SignEvent(ctx, authEvent)
|
||||||
}); err == nil {
|
}); err == nil {
|
||||||
|
|
2
go.mod
2
go.mod
|
@ -13,7 +13,7 @@ require (
|
||||||
github.com/fiatjaf/khatru v0.7.5
|
github.com/fiatjaf/khatru v0.7.5
|
||||||
github.com/mailru/easyjson v0.7.7
|
github.com/mailru/easyjson v0.7.7
|
||||||
github.com/markusmobius/go-dateparser v1.2.3
|
github.com/markusmobius/go-dateparser v1.2.3
|
||||||
github.com/nbd-wtf/go-nostr v0.36.3
|
github.com/nbd-wtf/go-nostr v0.37.2
|
||||||
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
|
golang.org/x/exp v0.0.0-20240909161429-701f63a606c0
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
4
go.sum
4
go.sum
|
@ -113,8 +113,8 @@ github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovk
|
||||||
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM=
|
||||||
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
github.com/mattn/go-isatty v0.0.20 h1:xfD0iDuEKnDkl03q4limB+vH+GxLEtL/jb4xVJSWWEY=
|
||||||
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
github.com/mattn/go-isatty v0.0.20/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y=
|
||||||
github.com/nbd-wtf/go-nostr v0.36.3 h1:50fNFO8vQNMEIZ+6qUq0M5hlqEtA13WrtrKcz10eg9k=
|
github.com/nbd-wtf/go-nostr v0.37.2 h1:42rriFqqz07EdydERwYeQnewl+Rah1Gq46I+Wh0KYYg=
|
||||||
github.com/nbd-wtf/go-nostr v0.36.3/go.mod h1:TGKGj00BmJRXvRe0LlpDN3KKbELhhPXgBwUEhzu3Oq0=
|
github.com/nbd-wtf/go-nostr v0.37.2/go.mod h1:TGKGj00BmJRXvRe0LlpDN3KKbELhhPXgBwUEhzu3Oq0=
|
||||||
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A=
|
||||||
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE=
|
||||||
|
|
|
@ -119,6 +119,13 @@ func connectToAllRelays(
|
||||||
forcePreAuth bool,
|
forcePreAuth bool,
|
||||||
opts ...nostr.PoolOption,
|
opts ...nostr.PoolOption,
|
||||||
) []*nostr.Relay {
|
) []*nostr.Relay {
|
||||||
|
sys.Pool = nostr.NewSimplePool(context.Background(),
|
||||||
|
append(opts,
|
||||||
|
nostr.WithEventMiddleware(sys.TrackEventHints),
|
||||||
|
nostr.WithPenaltyBox(),
|
||||||
|
)...,
|
||||||
|
)
|
||||||
|
|
||||||
relays := make([]*nostr.Relay, 0, len(relayUrls))
|
relays := make([]*nostr.Relay, 0, len(relayUrls))
|
||||||
relayLoop:
|
relayLoop:
|
||||||
for _, url := range relayUrls {
|
for _, url := range relayUrls {
|
||||||
|
@ -137,7 +144,7 @@ relayLoop:
|
||||||
if (*challengeTag)[1] == "" {
|
if (*challengeTag)[1] == "" {
|
||||||
return fmt.Errorf("auth not received yet *****")
|
return fmt.Errorf("auth not received yet *****")
|
||||||
}
|
}
|
||||||
return signer(authEvent)
|
return signer(ctx, nostr.RelayEvent{Event: authEvent, Relay: relay})
|
||||||
}); err == nil {
|
}); err == nil {
|
||||||
// auth succeeded
|
// auth succeeded
|
||||||
break challengeWaitLoop
|
break challengeWaitLoop
|
||||||
|
|
|
@ -48,10 +48,10 @@ func gatherKeyerFromArguments(ctx context.Context, c *cli.Command) (keyer.Keyer,
|
||||||
if bunker != nil {
|
if bunker != nil {
|
||||||
kr = keyer.NewBunkerSignerFromBunkerClient(bunker)
|
kr = keyer.NewBunkerSignerFromBunkerClient(bunker)
|
||||||
} else {
|
} else {
|
||||||
kr = keyer.NewPlainKeySigner(key)
|
kr, err = keyer.NewPlainKeySigner(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
return kr, nil
|
return kr, err
|
||||||
}
|
}
|
||||||
|
|
||||||
func gatherSecretKeyOrBunkerFromArguments(ctx context.Context, c *cli.Command) (string, *nip46.BunkerClient, error) {
|
func gatherSecretKeyOrBunkerFromArguments(ctx context.Context, c *cli.Command) (string, *nip46.BunkerClient, error) {
|
||||||
|
|
|
@ -12,8 +12,8 @@ import (
|
||||||
func paginateWithParams(
|
func paginateWithParams(
|
||||||
interval time.Duration,
|
interval time.Duration,
|
||||||
globalLimit uint64,
|
globalLimit uint64,
|
||||||
) func(ctx context.Context, urls []string, filters nostr.Filters) chan nostr.IncomingEvent {
|
) func(ctx context.Context, urls []string, filters nostr.Filters) chan nostr.RelayEvent {
|
||||||
return func(ctx context.Context, urls []string, filters nostr.Filters) chan nostr.IncomingEvent {
|
return func(ctx context.Context, urls []string, filters nostr.Filters) chan nostr.RelayEvent {
|
||||||
// filters will always be just one
|
// filters will always be just one
|
||||||
filter := filters[0]
|
filter := filters[0]
|
||||||
|
|
||||||
|
@ -29,7 +29,7 @@ func paginateWithParams(
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var globalCount uint64 = 0
|
var globalCount uint64 = 0
|
||||||
globalCh := make(chan nostr.IncomingEvent)
|
globalCh := make(chan nostr.RelayEvent)
|
||||||
|
|
||||||
repeatedCache := make([]string, 0, 300)
|
repeatedCache := make([]string, 0, 300)
|
||||||
nextRepeatedCache := make([]string, 0, 300)
|
nextRepeatedCache := make([]string, 0, 300)
|
||||||
|
|
6
req.go
6
req.go
|
@ -76,7 +76,7 @@ example:
|
||||||
relayUrls,
|
relayUrls,
|
||||||
c.Bool("force-pre-auth"),
|
c.Bool("force-pre-auth"),
|
||||||
nostr.WithAuthHandler(
|
nostr.WithAuthHandler(
|
||||||
func(authEvent *nostr.Event) error {
|
func(ctx context.Context, authEvent nostr.RelayEvent) error {
|
||||||
if !c.Bool("auth") && !c.Bool("force-pre-auth") {
|
if !c.Bool("auth") && !c.Bool("force-pre-auth") {
|
||||||
return fmt.Errorf("auth not authorized")
|
return fmt.Errorf("auth not authorized")
|
||||||
}
|
}
|
||||||
|
@ -85,10 +85,10 @@ example:
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
pk := kr.GetPublicKey(ctx)
|
pk, _ := kr.GetPublicKey(ctx)
|
||||||
log("performing auth as %s... ", pk)
|
log("performing auth as %s... ", pk)
|
||||||
|
|
||||||
return kr.SignEvent(ctx, authEvent)
|
return kr.SignEvent(ctx, authEvent.Event)
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user