{"id":18558017,"url":"https://github.com/zh/paas","last_synced_at":"2025-04-10T01:32:36.478Z","repository":{"id":697082,"uuid":"342042","full_name":"zh/paas","owner":"zh","description":"Presence As A Service - using XMPP presences for microblogging, online status displaying etc","archived":false,"fork":false,"pushed_at":"2010-01-28T06:43:48.000Z","size":98,"stargazers_count":8,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-24T14:38:01.042Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://status.zhware.net/","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zh.png","metadata":{"files":{"readme":"README.markdown","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2009-10-19T09:04:34.000Z","updated_at":"2017-07-06T04:14:01.000Z","dependencies_parsed_at":"2022-07-14T18:30:49.032Z","dependency_job_id":null,"html_url":"https://github.com/zh/paas","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh%2Fpaas","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh%2Fpaas/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh%2Fpaas/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zh%2Fpaas/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zh","download_url":"https://codeload.github.com/zh/paas/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248140754,"owners_count":21054349,"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-11-06T21:38:41.019Z","updated_at":"2025-04-10T01:32:31.466Z","avatar_url":"https://github.com/zh.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"## What is PaaS\n\n[Presence-As-A-Service (PaaS)](http://status.zhware.net/) is using [XMPP presence stanzas](http://xmpp.org/rfcs/rfc3921.html#presence) for microblogging, online status displaying etc.\n\n\n## Why?\n\n * Because [Google XMPP implementation sucks](http://code.google.com/appengine/docs/python/xmpp/overview.html#Google_Talk_User_Status)\n * Because XMPP presences are uncomplete ([missing timestamp](http://www.process-one.net/en/blogs/article/timestamp_on_presence_tag/))\n * Need it for other services ([ReaTiWe](http://reatiwe.appspot.com/))\n\n\n## How?\n\n### Install\n\n * Needed gems: eventmachine, xmpp4r, xmpp4r-simple, json, ratom, httpclient, sequel, sinatra\n * Copy __myconfig.rb.dist__ to __myconfig.rb__ and adjust your settings\n * Start the bot (this will create also database [sqlite3], if missing):  __ruby ./bot.rb__\n * Start the API:\n   * via [rackup](http://wiki.github.com/rack/rack/tutorial-rackup-howto): __rackup -p 8080__\n   * standalone: __ruby ./api.rb -p 8080__\n * Start the bot AND the API: __ruby ./bot.rb -a -p 8080__\n\n### Usage\n\n * Add the bot to your roster\n * __PING__ to test the connection\n * __HELP__ to see the available bot commands\n * Send __LOGIN__ command to register (and accept the authorization request)\n * Change your nick - __NICK ...__ to hide your real JID\n * Enable PuSH publishing - __ON__\n * All your presence changes will be saved - time, status, message\n * To trac only some presences (extended away - XA) - __QUIET__\n\n\n## What you've get?\n\n### Web (HTTP services)\n\n * __/last/:nick/:type__ - Text/image (.png) user status (status, message, timestamp)\n * __/atom/:nick__ - Atom feed with latest 10 presences (pinging PuSH hub on update)\n * __/photo/:nick__ - Return the XMPP Vcard photo (\"PHOTO/BINVAL\")\n * __/json__ (optional __?callback=...__ parameter) JSON/JSONP with latest 10 presences\n * __/stream__ and __/user/:nick__ - demo services\n\n### XMPP (bot commands)\n\n * __HELP, H, help, ?__ : List all local commands\n * __PING, P, ping__ : Connection test\n * __LOGIN, L, login__ : Register in the system\n * __ONLINE, O, online__ : Online users list\n * __STAT[US], S, stat[us] [JID]__ : Get JID status - 'away' etc.\n * __NICK, N, nick [name]__ : Change/show your nick (2-16 chars, [A-Za-z0-9_])\n * __MSG, M, msg {nick} {text}__ : Direct message {text} to user {nick}\n * __ON/OFF, on/off__ : Enable/disable presences sharing\n * __QUIET/VERBOSE, quiet/verbose__ : Trac all or only XA presences\n\nYou can make your own install, or use the __status@zhware.net__ bot and [http://status.zhware.net/](http://status.zhware.net/) URL for API calls and to see the results.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzh%2Fpaas","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzh%2Fpaas","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzh%2Fpaas/lists"}