dot-cafe / beam.cafe.backend

🎒 Backend for beam.cafe.
https://beam.cafe/
10 stars 2 forks source link
beam-cafe

Logo

Beam up something. Instantly. Anonymously.


CD Status CI Status Current version Support me


This is the official backend for beam.cafe, check out the main repository!


Configuration:

The configuration consists of three files, the default.json with default values, a development.json with development-specific values and a production.json version.

A config file consists of the following options, each option is optional and will be merged with the default configuration.

{
    "server": {
        "port": 8080,
        "internalIdSize": 32, // Size of ids used in internal in-memory objects
        "mediaStreamChunkSize": 4096000 // Maximum size of a chunk used in streaming
    },
    "security": {
        "fileKeySize": 8, // File-key size, used as part of the download-link - the longer the better
        "streamKeySize": 64, // Access-key size for streams - the longer the better
        "downloadKeySize": 64, // Access-key size for downloads - the longer the better
        "downloadKeyMaxAge": 60000, // Maximum age of a download key until its used - the shorter the better
        "clientWebSocketTimeout": 15000, // Timout for a websocket without a session - the shorter the better
        "clientWebSocketSessionTimeout": 900000, // Timeout for web-socket connections
        "clientWebSocketSessionKeySize": 64, // Size of a session-key - the longer the better
        "transferLimit": 50000000000, // Transferlimit for the uploader (ip-based) - used to prevent abuse (50GB)
        "transferLimitResetInterval": 86400000 // Expiration date for the transfer-limit (1d)
    },
    "logs": {
        "logUserAgent": true, // If the user-agent of each client should be logged
        "logLevels": [ // Log-level filter
            "FATAL",
            "ERROR",
            "WARNING",
            "INFO",
            "DEBUG"
        ]
    }
}

Logs are saved in ./.logs relative to the location of where the application got launched.