Git Product home page Git Product logo

xmpp-chat's Introduction

Introduction

This is a Facebook chat clone written using Strophe.js and Ember.js. You can see a short screencast here.

Installation

First of all you'll need a XMPP server e.g. ejabberd that can be easily installed using homebrew or apt-get. The widget does not handle user registration or subscriptions - these features will most likely be managed by your web application. If you want to try it out you'll have to create XMPP accounts and subscriptions between them yourself. The easiest way to do it is to use any IM chat client or via command line interface of your XMPP server (ejabberdctlif you're using ejabberd).

The widget runs on a web server written in Node that acts also as reverse proxy for XMPP server. It requires express and http-proxy packages. Run node server.js and it will start the server on localhost:9677. Sign in with any of the accounts you've created earlier and you should be good to go.

License

This software is released under the MIT license:

www.opensource.org/licenses/MIT

xmpp-chat's People

Contributors

szimek avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

xmpp-chat's Issues

Embed chat

How to run this application not as a standalone application but inside a website?

http-bind crash

The node module / server crashes if you try to open /http-bind twice directly, e.g. in the Browser:
http-bind

I think it's a big security leak.

Use MUC for 1-to-1 chat

Use Multi-User Chat for 1-to-1 chats instead of sending direct messages. This way it will be possible to fetch previous messages between users and invite additional users to conversation.

XMPP Support from Facebook.

Has Facebook completed blocked XMPP Webchats or is there a way to use this XMPP Protocol in Facebook ????

Offline

I can't connect with any server.
It does't work with an ejabberd server on localhost and also with public servers.
The credentials are correct.
On the website i am always loggedin, but offline.
The terminal, where node runs, doesn't show any error.
I don't know, whats wrong.
Do it work in an internal network or only in the internet?

Failed to start server.js

Hi. Which version to use?
I have
npm 1.1.32
Nodejs 0.6.19

node server.js

/xmpp-chat/node_modules/http-proxy/lib/node-http-proxy/http-proxy.js:53
throw new Error('Both options and options.target are required.');
^
Error: Both options and options.target are required.
at new (/xmpp-chat/node_modules/http-proxy/lib/node-http-proxy/http-proxy.js:53:11)
at Object. (/xmpp-chat/server.js:9:13)
at Module._compile (module.js:446:26)
at Object..js (module.js:464:10)
at Module.load (module.js:353:31)
at Function._load (module.js:311:12)
at Array.0 (module.js:484:10)
at EventEmitter._tickCallback (node.js

Problem with Websockets

Hi,

Im use Strophe.Websocket.js ( https://gist.github.com/739147 ) and node-xmpp-bosh (BOSH WebSockets; https://github.com/dhruvbird/node-xmpp-bosh ) over ejabberd.

I had to change this line in xmpp-chat: this.connection = new Strophe.Connection(this.host); to this.connection = new Strophe.WebSocket(this.host); and this.host = 'http://192.168.38.129:5280/http-bind'; to this.host = 'ws://192.168.38.129:5280'; in /js/chat/client.js

Strophe.WebSocket(this.host) instances an Strophe.Connection object

But I have problem with this. Can't connect to chat, and obviously I can't chat... I

Anyone know how to fix this problem?

bosh

PD: sorry for my english

Group chats

This is a support request, not sure how to post them in here.

Is this support for group chats? and how can we do that?

Redesign

Fix some CSS issues with chat tabs and maybe change roster to a sidebar (like on Facebook).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.