webssh2/app/constants.js

62 lines
1.4 KiB
JavaScript

// server
// app/constants.js
import { fileURLToPath } from 'url'
import { dirname } from 'path'
import path from 'path'
const __filename = fileURLToPath(import.meta.url)
const __dirname = dirname(__filename)
/**
* Error messages
*/
export const MESSAGES = {
INVALID_CREDENTIALS: 'Invalid credentials format',
SSH_CONNECTION_ERROR: 'SSH CONNECTION ERROR',
SHELL_ERROR: 'SHELL ERROR',
CONFIG_ERROR: 'CONFIG_ERROR',
UNEXPECTED_ERROR: 'An unexpected error occurred',
EXPRESS_APP_CONFIG_ERROR: 'Failed to configure Express app',
CLIENT_FILE_ERROR: 'Error loading client file',
FAILED_SESSION_SAVE: 'Failed to save session',
CONFIG_VALIDATION_ERROR: 'Config validation error',
}
/**
* Default values
*/
export const DEFAULTS = {
SSH_PORT: 22,
LISTEN_PORT: 2222,
SSH_TERM: 'xterm-color',
IO_PING_TIMEOUT: 60000,
IO_PING_INTERVAL: 25000,
IO_PATH: '/ssh/socket.io',
WEBSSH2_CLIENT_PATH: path.resolve(
__dirname,
'..',
'node_modules',
'webssh2_client',
'client',
'public'
),
CLIENT_FILE: 'client.htm',
MAX_AUTH_ATTEMPTS: 2,
}
/**
* HTTP Related
*/
export const HTTP = {
OK: 200,
UNAUTHORIZED: 401,
INTERNAL_SERVER_ERROR: 500,
AUTHENTICATE: 'WWW-Authenticate',
REALM: 'Basic realm="WebSSH2"',
AUTH_REQUIRED: 'Authentication required.',
COOKIE: 'basicauth',
PATH: '/ssh/host/',
SAMESITE: 'Strict',
SESSION_SID: 'webssh2_sid',
CREDS_CLEARED: 'Credentials cleared.',
}