aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/xedn/main.go25
-rw-r--r--flake.nix1
-rw-r--r--go.mod1
-rw-r--r--go.sum2
4 files changed, 17 insertions, 12 deletions
diff --git a/cmd/xedn/main.go b/cmd/xedn/main.go
index c6d82b3..ca0f7ca 100644
--- a/cmd/xedn/main.go
+++ b/cmd/xedn/main.go
@@ -18,6 +18,7 @@ import (
"time"
"github.com/golang/groupcache"
+ "github.com/rs/cors"
"github.com/sebest/xff"
"tailscale.com/tsnet"
"tailscale.com/tsweb"
@@ -36,7 +37,7 @@ var (
indexHTML []byte
)
-const cacheSize = 128 * 1024 * 1024 // 128 mebibytes
+const cacheSize = 386 * 1024 * 1024 // 386 mebibytes
type CacheData struct {
Headers http.Header
@@ -67,7 +68,7 @@ var Group = groupcache.NewGroup("b2-bucket", cacheSize, groupcache.GetterFunc(
// cache control headers
resp.Header.Set("Cache-Control", "max-age:604800")
- resp.Header.Set("Expires", time.Now().Add(604800 * time.Second).Format(http.TimeFormat))
+ resp.Header.Set("Expires", time.Now().Add(604800*time.Second).Format(http.TimeFormat))
body, err := io.ReadAll(resp.Body)
if err != nil {
@@ -92,17 +93,17 @@ var Group = groupcache.NewGroup("b2-bucket", cacheSize, groupcache.GetterFunc(
))
var (
- cacheGets = expvar.NewInt("cache_gets")
- cacheHits = expvar.NewInt("cache_hits")
+ cacheGets = expvar.NewInt("cache_gets")
+ cacheHits = expvar.NewInt("cache_hits")
cacheErrors = expvar.NewInt("cache_errors")
- cacheLoads = expvar.NewInt("cache_loads")
+ cacheLoads = expvar.NewInt("cache_loads")
etagMatches = expvar.NewInt("etag_matches")
fileHits = expvar.NewMap("file_hits")
referers = expvar.NewMap("referers")
- etags map[string]string
+ etags map[string]string
etagLock sync.RWMutex
)
@@ -110,7 +111,7 @@ func init() {
etags = map[string]string{}
}
-func refreshMetrics () {
+func refreshMetrics() {
t := time.NewTicker(10 * time.Second)
defer t.Stop()
@@ -128,11 +129,11 @@ func main() {
go refreshMetrics()
- go func () {
+ go func() {
srv := &tsnet.Server{
Hostname: "xedn-" + os.Getenv("FLY_REGION"),
- Logf: log.New(io.Discard, "", 0).Printf,
- AuthKey: os.Getenv("TS_AUTHKEY"),
+ Logf: log.New(io.Discard, "", 0).Printf,
+ AuthKey: os.Getenv("TS_AUTHKEY"),
}
lis, err := srv.Listen("tcp", ":80")
@@ -145,7 +146,7 @@ func main() {
defer srv.Close()
defer lis.Close()
ln.FatalErr(opname.With(ctx, "metrics-tsnet"), http.Serve(lis, ex.HTTPLog(http.DefaultServeMux)))
- } ()
+ }()
xffMW, err := xff.Default()
if err != nil {
@@ -204,5 +205,5 @@ func main() {
})
ln.Log(context.Background(), ln.F{"addr": *addr})
- http.ListenAndServe(*addr, xffMW.Handler(ex.HTTPLog(mux)))
+ http.ListenAndServe(*addr, cors.Default().Handler(xffMW.Handler(ex.HTTPLog(mux))))
}
diff --git a/flake.nix b/flake.nix
index 2535fd6..cf45ded 100644
--- a/flake.nix
+++ b/flake.nix
@@ -179,6 +179,7 @@
pkg-config
libaom
+ libavif
];
};
});
diff --git a/go.mod b/go.mod
index c4265cf..9ac7fbc 100644
--- a/go.mod
+++ b/go.mod
@@ -110,6 +110,7 @@ require (
github.com/olekukonko/tablewriter v0.0.5 // indirect
github.com/rivo/uniseg v0.2.0 // indirect
github.com/rogpeppe/go-internal v1.8.1-0.20211023094830-115ce09fd6b4 // indirect
+ github.com/rs/cors v1.8.2 // indirect
github.com/sendgrid/rest v2.4.1+incompatible // indirect
github.com/ssor/bom v0.0.0-20170718123548-6386211fdfcf // indirect
github.com/tailscale/certstore v0.1.1-0.20220316223106-78d6e1c49d8d // indirect
diff --git a/go.sum b/go.sum
index a4a24a5..ecd6e40 100644
--- a/go.sum
+++ b/go.sum
@@ -363,6 +363,8 @@ github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFR
github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc=
github.com/rogpeppe/go-internal v1.8.1-0.20211023094830-115ce09fd6b4 h1:Ha8xCaq6ln1a+R91Km45Oq6lPXj2Mla6CRJYcuV2h1w=
github.com/rogpeppe/go-internal v1.8.1-0.20211023094830-115ce09fd6b4/go.mod h1:JeRgkft04UBgHMgCIwADu4Pn6Mtm5d4nPKWu0nJ5d+o=
+github.com/rs/cors v1.8.2 h1:KCooALfAYGs415Cwu5ABvv9n9509fSiG5SQJn/AQo4U=
+github.com/rs/cors v1.8.2/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
github.com/sebest/xff v0.0.0-20210106013422-671bd2870b3a h1:iLcLb5Fwwz7g/DLK89F+uQBDeAhHhwdzB5fSlVdhGcM=
github.com/sebest/xff v0.0.0-20210106013422-671bd2870b3a/go.mod h1:wozgYq9WEBQBaIJe4YZ0qTSFAMxmcwBhQH0fO0R34Z0=
github.com/sendgrid/rest v2.4.1+incompatible h1:HDib/5xzQREPq34lN3YMhQtMkdXxS/qLp5G3k9a5++4=