{"id":15282429,"url":"https://github.com/flosse/node-xmpp-serviceadmin","last_synced_at":"2025-10-06T23:30:35.736Z","repository":{"id":2167141,"uuid":"3113345","full_name":"flosse/node-xmpp-serviceadmin","owner":"flosse","description":"Service Administration (XEP-0133) library for node-xmpp","archived":true,"fork":false,"pushed_at":"2016-11-09T10:22:36.000Z","size":30,"stargazers_count":18,"open_issues_count":2,"forks_count":4,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-09-15T21:59:19.206Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"CoffeeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flosse.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-01-05T21:15:24.000Z","updated_at":"2023-01-28T12:40:04.000Z","dependencies_parsed_at":"2022-08-28T20:11:17.023Z","dependency_job_id":null,"html_url":"https://github.com/flosse/node-xmpp-serviceadmin","commit_stats":{"total_commits":32,"total_committers":3,"mean_commits":"10.666666666666666","dds":0.0625,"last_synced_commit":"8bc4e43cdc73ca70780b6caa6d5f83c0fb7444cd"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flosse%2Fnode-xmpp-serviceadmin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flosse%2Fnode-xmpp-serviceadmin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flosse%2Fnode-xmpp-serviceadmin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flosse%2Fnode-xmpp-serviceadmin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flosse","download_url":"https://codeload.github.com/flosse/node-xmpp-serviceadmin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":219877454,"owners_count":16554878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-30T14:25:56.646Z","updated_at":"2025-10-06T23:30:35.355Z","avatar_url":"https://github.com/flosse.png","language":"CoffeeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# node-xmpp-serviceadmin\n\nJabber Service Administration\n[XEP-0133](http://xmpp.org/extensions/xep-0133.html) library for\n[node-xmpp](https://github.com/astro/node-xmpp).\n\n[![Build Status](https://secure.travis-ci.org/flosse/node-xmpp-serviceadmin.svg)](http://travis-ci.org/flosse/node-xmpp-serviceadmin)\n[![Dependency Status](https://gemnasium.com/flosse/node-xmpp-serviceadmin.svg)](https://gemnasium.com/flosse/node-xmpp-serviceadmin.png)\n[![NPM version](https://badge.fury.io/js/node-xmpp-serviceadmin.svg)](http://badge.fury.io/js/node-xmpp-serviceadmin)\n\n## Installation\n\nWith package manager [npm](http://npmjs.org/):\n\n    npm install --save node-xmpp-serviceadmin\n\n## Usage\n\nFirst of all make sure your server is configured correctly\n(see \"Configuring your server\").\nThen you can require and use the module like that:\n\n```javascript\nvar xmpp          = require(\"node-xmpp\");\nvar ServiceAdmin  = require(\"node-xmpp-serviceadmin\");\n\n// define the host\nvar service = \"example.org\";\n\n// define the JID that has the admin privileges\nvar root = \"root@mycomponent.example.org\";\n\n// create the xmpp connection\nvar comp = new xmpp.Component({\n  jid       : \"mycomponent\",\n  password  : \"secret\",\n  host      : \"127.0.0.1\",\n  port      : \"8888\"\n});\n\nvar sa = new ServiceAdmin(root, comp, service);\n\n// wait until the component is online\ncomp.on(\"online\", function(){\n\n  // creating a new user\n  sa.addUser(\n    \"jid@example.org\",\n    \"secret\",\n    { name: \"Der Weihnachtsmann\" },\n    function(err){ /*...*/ }\n  );\n\n  // changing a user password\n  sa.changeUserPassword(\n    \"jid@example.org\",\n    \"newSecret\",\n    function(err){ /*...*/ }\n  );\n\n  // receive a user's password\n  sa.getUserPassword(\n    \"jid@example.org\",\n    function(err){ /*...*/ }\n  );\n\n  // delete a user\n  sa.deleteUser(\n    \"jid@example.org\",\n    function(err){ /*...*/ }\n  );\n\n  // delete multiple users at once\n  sa.deleteUser(\n    [\"jid@example.org\",\"jid2@example.org\"],\n    function(err){ /*...*/ }\n  );\n\n});\n```\n## Configuring your server\n\nMake sure that:\n\n1. The server supports [XEP-0133](http://xmpp.org/extensions/xep-0133.html)\n2. The JID of your component has admin privileges\n3. XEP-0133 is enabled\n\n### Prosody\n\n```lua\nadmins = { \"root@example.org\", \"admin@component.example.org\" }\n\nmodules_enabled = {\n  --\n  \"admin_adhoc\";\n  --\n};\n```\n\n### ejabberd\n\n#### v2.13 and older\n\n```erlang\n{acl, admin, {user, \"root\", \"example.org\"}}.\n{acl, admin, {user, \"admin\", \"component.example.org\"}}.\n```\n#### v13.10 and newer\n\n```yml\nacl:\n  admin:\n    user:\n      - \"root\":  \"example.org\"\n      - \"admin\": \"component.example.org\"\n```\n\n## Implemented methods\n\n- 4.1. Add User\n- 4.2. Delete User\n- 4.5. End User Session\n- 4.6. Get User Password\n- 4.7. Change User Password\n\n## Missing methods\n\n- 4.3. Disable User\n- 4.4. Re-Enable User\n- 4.8. Get User Roster\n- 4.9. Get User Last Login Time\n- 4.10. Get User Statistics\n- 4.11. Edit Blacklist\n- 4.12. Edit Whitelist\n- 4.13. Get Number of Registered Users\n- 4.14. Get Number of Disabled Users\n- 4.15. Get Number of Online Users\n- 4.16. Get Number of Active Users\n- 4.17. Get Number of Idle Users\n- 4.18. Get List of Registered Users\n- 4.19. Get List of Disabled Users\n- 4.20. Get List of Online Users\n- 4.21. Get List of Active Users\n- 4.22. Get List of Idle Users\n- 4.23. Send Announcement to Online Users\n- 4.24. Set Message of the Day\n- 4.25. Edit Message of the Day\n- 4.26. Delete Message of the Day\n- 4.27. Set Welcome Message\n- 4.28. Delete Welcome Message\n- 4.29. Edit Admin List\n- 4.30. Restart Service\n- 4.31. Shut Down Service\n\n## Running tests\n\n```shell\nnpm install\nnpm test\n```\n\n## License\n\nnode-xmpp-serviceadmin is licensed under the MIT-Licence\n(see LICENSE.txt)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflosse%2Fnode-xmpp-serviceadmin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflosse%2Fnode-xmpp-serviceadmin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflosse%2Fnode-xmpp-serviceadmin/lists"}