Pretendo BOSS server implementation
Go to file
mrjvs ce4eec54bc
Some checks are pending
Build and Publish Docker Image / Build and Publish Docker Image (amd64) (push) Waiting to run
Build and Publish Docker Image / Build and Publish Docker Image (arm64) (push) Waiting to run
chore: remove unimplemented import cmd
2025-09-14 16:07:05 +02:00
.github/workflows chore: add split amd and arm Docker builds 2025-05-20 23:23:34 +01:00
cdn updated BOSS contents 2023-11-15 23:15:41 -05:00
scripts chore: add .editorconfig and move scripts into folder, remove logger as unused 2025-01-08 12:51:55 +00:00
seeding chore: copy existing encrypted data into the new folder structure (still encrypted) 2025-09-14 15:29:43 +02:00
src chore: remove unimplemented import cmd 2025-09-14 16:07:05 +02:00
.dockerignore feat: Dockerize server 2024-07-02 14:34:35 -04:00
.editorconfig chore: add JSON and YML exceptions to editorconfig 2025-01-08 13:04:00 +00:00
.gitignore feat: add fully featured seeding command 2025-09-14 15:05:45 +02:00
Dockerfile fix: make Dockerfile better again (chown node) 2025-03-26 18:49:47 +00:00
eslint.config.mjs chore: update common eslint to include global ignores 2025-01-19 23:39:05 +00:00
LICENSE Create LICENSE 2022-08-13 20:21:26 -04:00
package-lock.json feat: add foundation for a BOSS CLI 2025-09-03 22:20:50 +02:00
package.json feat: add foundation for a BOSS CLI 2025-09-03 22:20:50 +02:00
README.md feat: Add readme contents 2025-09-03 13:13:10 +02:00
tsconfig.json chore; use tsup for building 2025-01-09 17:35:49 +00:00
tsup.config.ts feat: add foundation for a BOSS CLI 2025-09-03 22:20:50 +02:00
update-rotation.mjs feat(update-rotation): add better env validation and add checksum for idempotency 2025-05-20 23:21:23 +01:00

BOSS

Handles all BOSS (Background Online Storage Service) related tasks for the Pretendo network.

What does BOSS handle?

  • SpotPass on 3DS
  • Tasksheets and policy files for both WiiU and 3DS
  • Streetpass relay

Configuration

Configurations are loaded through environment variables. .env files are supported.

Environment variable Description Default
PN_BOSS_CONFIG_HTTP_PORT The HTTP port the server listens on None
PN_BOSS_CONFIG_LOG_FORMAT What logging format to use, possible options: pretty or json pretty
PN_BOSS_CONFIG_LOG_LEVEL What log level to use info
PN_BOSS_CONFIG_BOSS_WIIU_AES_KEY The BOSS WiiU AES key, needs to be dumped from a console None
PN_BOSS_CONFIG_BOSS_WIIU_HMAC_KEY The BOSS WiiU HMAC key, needs to be dumped from a console None
PN_BOSS_CONFIG_BOSS_3DS_AES_KEY The BOSS 3DS AES key, needs to be dumped from a console None
PN_BOSS_CONFIG_MONGO_CONNECTION_STRING MongoDB connection string None
PN_BOSS_CONFIG_GRPC_BOSS_SERVER_ADDRESS Address for the GRPC server to listen on None
PN_BOSS_CONFIG_GRPC_BOSS_SERVER_PORT Port for the GRPC server to listen on None
PN_BOSS_CONFIG_GRPC_BOSS_SERVER_API_KEY API key that services will use to connect to the BOSS GRPC server None
PN_BOSS_CONFIG_GRPC_ACCOUNT_SERVER_ADDRESS Address of the account GRPC server None
PN_BOSS_CONFIG_GRPC_ACCOUNT_SERVER_PORT Port of the account GRPC server None
PN_BOSS_CONFIG_GRPC_ACCOUNT_SERVER_API_KEY API key of the account GRPC server None
PN_BOSS_CONFIG_GRPC_FRIENDS_SERVER_ADDRESS Address of the friends GRPC server None
PN_BOSS_CONFIG_GRPC_FRIENDS_SERVER_PORT Port of the friends GRPC server None
PN_BOSS_CONFIG_GRPC_FRIENDS_SERVER_API_KEY API key of the friends GRPC server None
PN_BOSS_CONFIG_S3_ENDPOINT S3 server endpoint None
PN_BOSS_CONFIG_S3_REGION S3 server region None
PN_BOSS_CONFIG_S3_BUCKET S3 server bucket None
PN_BOSS_CONFIG_S3_ACCESS_KEY S3 access key None
PN_BOSS_CONFIG_S3_ACCESS_SECRET S3 access key secret None
PN_BOSS_CONFIG_CDN_DISK_PATH Storage path for the CDN, use as alternative for S3 None
PN_BOSS_CONFIG_STREETPASS_RELAY_ENABLED Should Streetpass Relay be enabled? false
PN_BOSS_CONFIG_DOMAINS_NPDI What domain should the NPDI component use? npdi.cdn.pretendo.cc
PN_BOSS_CONFIG_DOMAINS_NPDL What domain should the NPDL component use? npdl.cdn.pretendo.cc
PN_BOSS_CONFIG_DOMAINS_NPFL What domain should the NPFL component use? npfl.c.app.pretendo.cc
PN_BOSS_CONFIG_DOMAINS_NPPL What domain should the NPPL component use? nppl.app.pretendo.cc,nppl.c.app.pretendo.cc
PN_BOSS_CONFIG_DOMAINS_NPTS What domain should the NPTS component use? npts.app.pretendo.cc
PN_BOSS_CONFIG_DOMAINS_SPR What domain should the SPR component use? service.spr.app.pretendo.cc

S3 server

The S3 server is optional, you can set PN_BOSS_CONFIG_CDN_DISK_PATH if you want to use a local folder as CDN source instead.