secubox-openwrt/package/secubox/luci-app-jabber/htdocs/luci-static/resources/jabber/api.js
CyberMind-FR b0d208777d feat(jabber): Add Jabber/XMPP server packages (Prosody)
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>
2026-02-19 07:48:09 +01:00

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: { }
})
});