policies

package
v1.0.7 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 1, 2024 License: CC0-1.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AntiSyncBots

func AntiSyncBots(ctx context.Context, filter nip1.Filter) (reject bool, msg string)

AntiSyncBots tries to prevent people from syncing kind:1s from this relay to else by always requiring an author parameter at least.

func NoComplexFilters

func NoComplexFilters(ctx context.Context, filter nip1.Filter) (reject bool, msg string)

NoComplexFilters disallows filters with more than 2 tags.

func NoEmptyFilters

func NoEmptyFilters(ctx context.Context, filter nip1.Filter) (reject bool, msg string)

NoEmptyFilters disallows filters that don't have at least a tag, a kind, an author or an id.

func NoSearchQueries

func NoSearchQueries(ctx context.Context, filter nip1.Filter) (reject bool, msg string)

func PreventLargeTags

func PreventLargeTags(maxTagValueLen int) func(context.Context, *nip1.Event) (bool, string)

PreventLargeTags rejects events that have indexable tag values greater than maxTagValueLen.

func PreventTimestampsInTheFuture

func PreventTimestampsInTheFuture(thresholdSeconds timestamp.T) func(context.Context, *nip1.Event) (bool, string)

func PreventTimestampsInThePast

func PreventTimestampsInThePast(thresholdSeconds timestamp.T) func(context.Context, *nip1.Event) (bool, string)

func PreventTooManyIndexableTags

func PreventTooManyIndexableTags(max int, ignoreKinds kind.Array, onlyKinds kind.Array) func(context.Context, *nip1.Event) (bool, string)

PreventTooManyIndexableTags returns a function that can be used as a RejectFilter that will reject events with more indexable (single-character) tags than the specified number.

If ignoreKinds is given this restriction will not apply to these kinds (useful for allowing a bigger). If onlyKinds is given then all other kinds will be ignored.

func RejectKind04Snoopers

func RejectKind04Snoopers(ctx context.Context, filter nip1.Filter) (bool, string)

RejectKind04Snoopers prevents reading NIP-04 messages from people not involved in the conversation.

func RemoveAllButKinds

func RemoveAllButKinds(kinds ...uint16) func(context.Context, *nip1.Filter)

func RemoveAllButTags

func RemoveAllButTags(tagNames ...string) func(context.Context, *nip1.Filter)

func RemoveSearchQueries

func RemoveSearchQueries(ctx context.Context, filter *nip1.Filter)

func RestrictToSpecifiedKinds

func RestrictToSpecifiedKinds(kinds ...kind.T) func(context.Context, *nip1.Event) (bool, string)

RestrictToSpecifiedKinds returns a function that can be used as a RejectFilter that will reject any events with kinds different than the specified ones.

todo: this range minimum doesn't look like it would ever change from zero

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL