mirror of
https://git.maid.zone/stuff/soundcloak.git
synced 2025-12-11 14:19:38 +05:00
70 lines
2.6 KiB
Go
70 lines
2.6 KiB
Go
package cfg
|
|
|
|
import (
|
|
"time"
|
|
|
|
jsoniter "github.com/json-iterator/go"
|
|
)
|
|
|
|
// fully loads the track on page load
|
|
// this option is here since the stream expires after some time (5 minutes? correct me if im wrong)
|
|
// if the stream isn't fully loaded before it expires - you'll need to reload the page
|
|
const FullyPreloadTrack = false
|
|
|
|
// proxy images (user avatars, track/playlist covers)
|
|
const ProxyImages = false
|
|
const ImageCacheControl = "max-age=600; public" // 10 minutes by default, only used for proxied images
|
|
|
|
// time-to-live for clientid cache
|
|
// larger number will improve performance (no need to recheck everytime) but might make soundcloak briefly unusable for a larger amount of time if the client id is invalidated
|
|
const ClientIDTTL = 30 * time.Minute
|
|
|
|
// time-to-live for user profile cache
|
|
const UserTTL = 10 * time.Minute
|
|
|
|
// delay between cleanup of user cache
|
|
const UserCacheCleanDelay = UserTTL / 4
|
|
|
|
// time-to-live for track cache
|
|
const TrackTTL = 10 * time.Minute
|
|
|
|
// delay between cleanup of track cache
|
|
const TrackCacheCleanDelay = TrackTTL / 4
|
|
|
|
// time-to-live for playlist cache
|
|
const PlaylistTTL = 10 * time.Minute
|
|
|
|
// delay between cleanup of playlist cache
|
|
const PlaylistCacheCleanDelay = PlaylistTTL / 4
|
|
|
|
// default fasthttp one was causing connections to be stuck? todo make it cycle browser useragents or just choose random at startup
|
|
const UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/127.0.0.0 Safari/537.3"
|
|
|
|
// time-to-live for dns cache
|
|
const DNSCacheTTL = 10 * time.Minute
|
|
|
|
// // // some webserver configuration, put here to make it easier to configure what you need // // //
|
|
// more info can be found here: https://docs.gofiber.io/api/fiber#config
|
|
|
|
// run soundcloak on this address (localhost:4664 by default)
|
|
const Addr = ":4664"
|
|
|
|
// run multiple instances of soundcloud locally to be able to handle more requests
|
|
// each one will be a separate process, so they will have separate cache
|
|
const Prefork = false
|
|
|
|
// Enables TLS Early Data (0-RTT / zero round trip time)
|
|
// This can reduce latency, but also makes requests replayable (not that much of a concern for soundcloak, since there are no authenticated operations)
|
|
// There might be breakage when used together with TrustedProxyCheck and the proxy is untrusted
|
|
const EarlyData = false
|
|
|
|
// use X-Forwarded-* headers ONLY when ip is in TrustedProxies list
|
|
// when disabled, the X-Forwarded-* headers will be blindly used
|
|
const TrustedProxyCheck = true
|
|
|
|
// list of ips or ip ranges of trusted proxies (check above)
|
|
var TrustedProxies = []string{}
|
|
|
|
// what JSON library should be used
|
|
var JSON = jsoniter.ConfigFastest
|