forked from hailey.at/cocoon
An atproto PDS written in Go

make default atproto proxy an env var

Changed files
+30 -20
cmd
cocoon
server
+7 -1
cmd/cocoon/main.go
··· 131 Name: "session-secret", 132 EnvVars: []string{"COCOON_SESSION_SECRET"}, 133 }, 134 }, 135 Commands: []*cli.Command{ 136 runServe, ··· 178 AccessKey: cmd.String("s3-access-key"), 179 SecretKey: cmd.String("s3-secret-key"), 180 }, 181 - SessionSecret: cmd.String("session-secret"), 182 }) 183 if err != nil { 184 fmt.Printf("error creating cocoon: %v", err)
··· 131 Name: "session-secret", 132 EnvVars: []string{"COCOON_SESSION_SECRET"}, 133 }, 134 + &cli.StringFlag{ 135 + Name: "default-atproto-proxy", 136 + EnvVars: []string{"COCOON_DEFAULT_ATPROTO_PROXY"}, 137 + Value: "did:web:api.bsky.app#bsky_appview", 138 + }, 139 }, 140 Commands: []*cli.Command{ 141 runServe, ··· 183 AccessKey: cmd.String("s3-access-key"), 184 SecretKey: cmd.String("s3-secret-key"), 185 }, 186 + SessionSecret: cmd.String("session-secret"), 187 + DefaultAtprotoProxy: cmd.String("default-atproto-proxy"), 188 }) 189 if err != nil { 190 fmt.Printf("error creating cocoon: %v", err)
+1 -1
server/handle_proxy.go
··· 27 28 svc := e.Request().Header.Get("atproto-proxy") 29 if svc == "" { 30 - svc = "did:web:api.bsky.app#bsky_appview" // TODO: should be a config var probably 31 } 32 33 svcPts := strings.Split(svc, "#")
··· 27 28 svc := e.Request().Header.Get("atproto-proxy") 29 if svc == "" { 30 + svc = s.config.DefaultAtprotoProxy 31 } 32 33 svcPts := strings.Split(svc, "#")
+22 -18
server/server.go
··· 102 S3Config *S3Config 103 104 SessionSecret string 105 } 106 107 type config struct { 108 - Version string 109 - Did string 110 - Hostname string 111 - ContactEmail string 112 - EnforcePeering bool 113 - Relays []string 114 - AdminPassword string 115 - SmtpEmail string 116 - SmtpName string 117 } 118 119 type CustomValidator struct { ··· 336 plcClient: plcClient, 337 privateKey: &pkey, 338 config: &config{ 339 - Version: args.Version, 340 - Did: args.Did, 341 - Hostname: args.Hostname, 342 - ContactEmail: args.ContactEmail, 343 - EnforcePeering: false, 344 - Relays: args.Relays, 345 - AdminPassword: args.AdminPassword, 346 - SmtpName: args.SmtpName, 347 - SmtpEmail: args.SmtpEmail, 348 }, 349 evtman: events.NewEventManager(events.NewMemPersister()), 350 passport: identity.NewPassport(h, identity.NewMemCache(10_000)),
··· 102 S3Config *S3Config 103 104 SessionSecret string 105 + 106 + DefaultAtprotoProxy string 107 } 108 109 type config struct { 110 + Version string 111 + Did string 112 + Hostname string 113 + ContactEmail string 114 + EnforcePeering bool 115 + Relays []string 116 + AdminPassword string 117 + SmtpEmail string 118 + SmtpName string 119 + DefaultAtprotoProxy string 120 } 121 122 type CustomValidator struct { ··· 339 plcClient: plcClient, 340 privateKey: &pkey, 341 config: &config{ 342 + Version: args.Version, 343 + Did: args.Did, 344 + Hostname: args.Hostname, 345 + ContactEmail: args.ContactEmail, 346 + EnforcePeering: false, 347 + Relays: args.Relays, 348 + AdminPassword: args.AdminPassword, 349 + SmtpName: args.SmtpName, 350 + SmtpEmail: args.SmtpEmail, 351 + DefaultAtprotoProxy: args.DefaultAtprotoProxy, 352 }, 353 evtman: events.NewEventManager(events.NewMemPersister()), 354 passport: identity.NewPassport(h, identity.NewMemCache(10_000)),