Compare commits

..

3 Commits

Author SHA1 Message Date
Philipp Heckel
5948f39a53 Add firebase subscriber to topics from cache upon initialization; stricter rate limits 2021-11-03 21:16:07 -04:00
Philipp Heckel
eef85c0955 Merge branch 'main' of github.com:binwiederhier/ntfy into main 2021-11-03 11:46:45 -04:00
Philipp Heckel
60cbf23bcc Fix CGO stuff for sqlite 2021-11-03 11:46:24 -04:00
4 changed files with 10 additions and 6 deletions

View File

@@ -4,11 +4,9 @@ before:
builds: builds:
- binary: ntfy - binary: ntfy
env: env:
- CGO_ENABLED=0 - CGO_ENABLED=1 # required for go-sqlite3
goos: goos:
- linux - linux
- windows
- darwin
goarch: goarch:
- amd64 - amd64
nfpms: nfpms:

View File

@@ -94,6 +94,7 @@ build-snapshot:
build-simple: clean build-simple: clean
mkdir -p dist/ntfy_linux_amd64 mkdir -p dist/ntfy_linux_amd64
export CGO_ENABLED=1
$(GO) build \ $(GO) build \
-o dist/ntfy_linux_amd64/ntfy \ -o dist/ntfy_linux_amd64/ntfy \
-ldflags \ -ldflags \

View File

@@ -15,12 +15,12 @@ const (
) )
// Defines all the limits // Defines all the limits
// - request limit: max number of PUT/GET/.. requests (here: 50 requests bucket, replenished at a rate of 1 per second) // - request limit: max number of PUT/GET/.. requests (here: 50 requests bucket, replenished at a rate of one per 10 seconds)
// - global topic limit: max number of topics overall // - global topic limit: max number of topics overall
// - subscription limit: max number of subscriptions (active HTTP connections) per per-visitor/IP // - subscription limit: max number of subscriptions (active HTTP connections) per per-visitor/IP
var ( var (
defaultGlobalTopicLimit = 5000 defaultGlobalTopicLimit = 5000
defaultVisitorRequestLimit = rate.Every(time.Second) defaultVisitorRequestLimit = rate.Every(10 * time.Second)
defaultVisitorRequestLimitBurst = 50 defaultVisitorRequestLimitBurst = 50
defaultVisitorSubscriptionLimit = 30 defaultVisitorSubscriptionLimit = 30
) )

View File

@@ -47,7 +47,7 @@ func (e errHTTP) Error() string {
} }
const ( const (
messageLimit = 1024 messageLimit = 512
) )
var ( var (
@@ -86,6 +86,11 @@ func New(conf *config.Config) (*Server, error) {
if err != nil { if err != nil {
return nil, err return nil, err
} }
for _, t := range topics {
if firebaseSubscriber != nil {
t.Subscribe(firebaseSubscriber)
}
}
return &Server{ return &Server{
config: conf, config: conf,
cache: cache, cache: cache,