This commit is contained in:
jdl 2025-01-04 13:36:55 +01:00
parent 2549e1ae08
commit 36172bf310
4 changed files with 13 additions and 12 deletions

View File

@ -30,7 +30,7 @@ AmbientCapabilities=CAP_NET_BIND_SERVICE
Type=simple Type=simple
User=user User=user
WorkingDirectory=/home/user/ WorkingDirectory=/home/user/
ExecStart=/home/user/hub -listen <addr>:https -secure=true -root-dir=/home/user ExecStart=/home/user/hub -listen <addr>:https -root-dir=/home/user
Restart=always Restart=always
RestartSec=8 RestartSec=8
TimeoutStopSec=24 TimeoutStopSec=24

View File

@ -19,14 +19,14 @@ var templateFS embed.FS
type Config struct { type Config struct {
RootDir string RootDir string
ListenAddr string ListenAddr string
Secure bool Insecure bool
} }
type App struct { type App struct {
api *api.API api *api.API
mux *http.ServeMux mux *http.ServeMux
tmpl map[string]*template.Template tmpl map[string]*template.Template
secure bool insecure bool
} }
func NewApp(conf Config) (*App, error) { func NewApp(conf Config) (*App, error) {
@ -39,7 +39,7 @@ func NewApp(conf Config) (*App, error) {
api: api, api: api,
mux: http.NewServeMux(), mux: http.NewServeMux(),
tmpl: webutil.ParseTemplateSet(templateFuncs, templateFS), tmpl: webutil.ParseTemplateSet(templateFuncs, templateFS),
secure: conf.Secure, insecure: conf.Insecure,
} }
app.registerRoutes() app.registerRoutes()

View File

@ -17,8 +17,9 @@ func (a *App) setCookie(w http.ResponseWriter, name, value string) {
Name: name, Name: name,
Value: value, Value: value,
Path: "/", Path: "/",
Secure: a.secure, Secure: !a.insecure,
SameSite: http.SameSiteStrictMode, SameSite: http.SameSiteStrictMode,
HttpOnly: true,
MaxAge: 86400 * 365 * 10, MaxAge: 86400 * 365 * 10,
}) })
} }

View File

@ -15,7 +15,7 @@ func Main() {
conf := Config{} conf := Config{}
flag.StringVar(&conf.RootDir, "root-dir", "", "[REQUIRED] Root directory.") flag.StringVar(&conf.RootDir, "root-dir", "", "[REQUIRED] Root directory.")
flag.StringVar(&conf.ListenAddr, "listen", "", "[REQUIRED] Listen address.") flag.StringVar(&conf.ListenAddr, "listen", "", "[REQUIRED] Listen address.")
flag.BoolVar(&conf.Secure, "secure", false, "Use secure cookies.") flag.BoolVar(&conf.Insecure, "insecure", false, "Don't use secure cookies.")
flag.Parse() flag.Parse()