3.2 KiB
3.2 KiB
Breaking Changes in Configuration Format
This document outlines the breaking changes and updates to the configuration format between versions. These changes require manual updates to your existing config.json
files.
Major Structure Changes
Removed Sections
The following sections have been completely removed:
socketio
- Socket.IO configuration is now handled internallyterminal
- Terminal configuration moved to client-sideserverlog
- Logging configuration simplifiedalgorithms
- Moved under thessh
sectionaccesslog
- Removedverify
- RemovedsafeShutdownDuration
- Removed
Renamed and Restructured Sections
HTTP Configuration
- Old:
socketio.origins
- New:
http.origins
- "socketio": {
- "serveClient": false,
- "path": "/ssh/socket.io",
- "origins": ["localhost:2222"]
- }
+ "http": {
+ "origins": ["*.*"]
+ }
SSH Algorithms
- Old: Root-level
algorithms
object - New: Moved to
ssh.algorithms
- "algorithms": {
+ "ssh": {
+ "algorithms": {
"kex": [...],
"cipher": [...],
"hmac": [...],
"compress": [...]
+ "serverHostKey": [...]
}
+ }
Session Configuration
"session": {
- "name": "WebSSH2",
+ "name": "webssh2",
"secret": "secret"
}
New Options
SSH Configuration
Added under the ssh
section:
{
"ssh": {
"alwaysSendKeyboardInteractivePrompts": false,
"disableInteractiveAuth": false
}
}
Feature Options
Renamed and expanded options:
"options": {
"challengeButton": true,
- "allowreauth": false
+ "autoLog": false,
+ "allowReauth": true,
+ "allowReconnect": true,
+ "allowReplay": true
}
Detailed Changes
1. Authentication Options
- Added support for SSH private key authentication via
user.privatekey
- Removed
user.overridebasic
option - Added keyboard-interactive authentication controls
2. Server Settings
- Default port changed from 2224 to 2222
- Socket.IO path is now fixed at "/ssh/socket.io"
- Added server host key algorithm configurations
3. Terminal Configuration
All terminal-specific configurations have been removed from server config:
- "terminal": {
- "cursorBlink": true,
- "scrollback": 10000,
- "tabStopWidth": 8,
- "bellStyle": "sound",
- "fontSize": 14
- }
These settings are now managed client-side.
Migration Guide
- Create a new
config.json
file based on the new format - Move your existing settings to their new locations
- Remove any deprecated options
- Add new required options
- Test your configuration before deploying to production
Default Configuration Example
{
"listen": {
"ip": "0.0.0.0",
"port": 2222
},
"http": {
"origins": ["*.*"]
},
"user": {
"name": null,
"password": null,
"privatekey": null
},
"ssh": {
"host": null,
"port": 22,
"term": "xterm-color",
"readyTimeout": 20000,
"keepaliveInterval": 120000,
"keepaliveCountMax": 10,
"algorithms": {
// ... algorithm configurations ...
}
},
"options": {
"challengeButton": true,
"autoLog": false,
"allowReauth": true,
"allowReconnect": true,
"allowReplay": true
}
}