Configuration

Comprehensive guide to configuring AurisLink for your needs.

Server Configuration

Configure the core server settings:

server: {
  host: '0.0.0.0',           // Bind address
  port: 2333,                // Server port
  password: 'youshallnotpass', // Authentication password
  tls: {
    enabled: false,          // Enable HTTPS
    cert: '',                // Path to certificate
    key: '',                 // Path to private key
  },
  http2: {
    enabled: false,          // Enable HTTP/2
  }
}

Logging Configuration

Control logging behavior:

logging: {
  level: 'info',             // 'debug' | 'info' | 'warn' | 'error'
  timestamps: true,          // Include timestamps in logs
  colors: true,              // Use colored output
  file: {
    enabled: false,          // Log to file
    path: 'logs',            // Log directory
  }
}

Audio Sources

SoundCloud

soundcloud: {
  enabled: true,
  clientId: 'YOUR_CLIENT_ID', // Get from SoundCloud API
}

Deezer

deezer: {
  enabled: true,
  arl: 'YOUR_ARL_TOKEN',           // Deezer session token
  decryptionKey: 'YOUR_DECRYPTION_KEY', // 16-character key
}

Note: The ARL token is obtained from your Deezer browser session.

Spotify

spotify: {
  enabled: true,
  market: 'BR',                    // Market code
  clientId: 'YOUR_CLIENT_ID',
  clientSecret: 'YOUR_CLIENT_SECRET',
  preferAnonymousToken: false,
}

JioSaavn

jiosaavn: {
  enabled: true,
  playlistLoadLimit: 50,  // Max tracks per playlist
  artistLoadLimit: 20,    // Max tracks per artist
}

Cluster Configuration

Configure worker processes and timeouts:

cluster: {
  enabled: true,
  workers: 1,                      // Number of workers
  commandTimeoutMs: 10_000,        // Command timeout
  fastCommandTimeoutMs: 5_000,     // Fast command timeout
  hibernation: {
    enabled: true,
    timeoutMs: 1_200_000,          // 20 minutes
  }
}

Connection Monitoring

Monitor and manage connection health:

connection: {
  logAllChecks: true,
  intervalMs: 60_000,              // Check interval
  timeoutMs: 10_000,               // Check timeout
  thresholds: {
    badMbps: 1,                    // Bad connection threshold
    averageMbps: 5,                // Average connection threshold
  },
  probeUrl: 'https://speed.cloudflare.com/__down?bytes=1000000',
}

Performance Tuning

Player Update Interval

playerUpdateInterval: 5_000 - Update player state every 5 seconds

Stats Interval

statsInterval: 60_000 - Broadcast stats every 60 seconds

Track Stuck Threshold

trackStuckThresholdMs: 10_000 - Detect stuck tracks after 10 seconds

Environment Variables

You can also use environment variables to override config values:

AURISLINK_HOST=0.0.0.0
AURISLINK_PORT=2333
AURISLINK_PASSWORD=youshallnotpass
SOUNDCLOUD_CLIENT_ID=...
SPOTIFY_CLIENT_ID=...
SPOTIFY_CLIENT_SECRET=...