62 lines
1.4 KiB
JavaScript
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.',
|
|
}
|