New packages: - secubox-app-jabber: LXC-based Prosody XMPP server with: - Debian Bookworm container - Full XMPP support (C2S, S2S, MUC, MAM) - HTTP upload for file sharing - BOSH and WebSocket for web clients - SSL/TLS encryption - User and room management via jabberctl - luci-app-jabber: LuCI dashboard with: - Status overview and service controls - User management (add/delete) - Emancipate workflow (HAProxy + SSL + DNS) - Connection info display - Log viewer CLI commands: jabberctl install/uninstall/start/stop/status jabberctl user add/del/passwd/list jabberctl room create/delete/list jabberctl emancipate <domain> Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
108 lines
1.7 KiB
JavaScript
108 lines
1.7 KiB
JavaScript
'use strict';
|
|
'require rpc';
|
|
|
|
return L.Class.extend({
|
|
status: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'status',
|
|
expect: { }
|
|
}),
|
|
|
|
start: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'start',
|
|
expect: { }
|
|
}),
|
|
|
|
stop: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'stop',
|
|
expect: { }
|
|
}),
|
|
|
|
install: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'install',
|
|
expect: { }
|
|
}),
|
|
|
|
uninstall: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'uninstall',
|
|
expect: { }
|
|
}),
|
|
|
|
update: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'update',
|
|
expect: { }
|
|
}),
|
|
|
|
logs: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'logs',
|
|
params: ['lines'],
|
|
expect: { }
|
|
}),
|
|
|
|
emancipate: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'emancipate',
|
|
params: ['domain'],
|
|
expect: { }
|
|
}),
|
|
|
|
configureHaproxy: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'configure_haproxy',
|
|
expect: { }
|
|
}),
|
|
|
|
userAdd: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'user_add',
|
|
params: ['jid', 'password'],
|
|
expect: { }
|
|
}),
|
|
|
|
userDel: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'user_del',
|
|
params: ['jid'],
|
|
expect: { }
|
|
}),
|
|
|
|
userPasswd: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'user_passwd',
|
|
params: ['jid', 'password'],
|
|
expect: { }
|
|
}),
|
|
|
|
userList: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'user_list',
|
|
expect: { }
|
|
}),
|
|
|
|
roomCreate: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'room_create',
|
|
params: ['name'],
|
|
expect: { }
|
|
}),
|
|
|
|
roomDelete: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'room_delete',
|
|
params: ['name'],
|
|
expect: { }
|
|
}),
|
|
|
|
roomList: rpc.declare({
|
|
object: 'luci.jabber',
|
|
method: 'room_list',
|
|
expect: { }
|
|
})
|
|
});
|