title: How can I send an image on the web in an XMPP (Jabber) message?
body: <p>For the <a href="https://meta.stackexchange.com/questions/57316/offer-an-xmpp-method-for-chat/63420#63420">XMPP interface for the Stack Overflow chat</a>, I am currently <a href="https://stackoverflow.com/questions/4101525/using-ruby-how-can-i-confirm-that-an-xml-snippit-is-valid">taking the HTML of the chat messages and converting to valid XML</a>, and setting that as the <code>html</code> child element of the XMPP <code>message</code> object. In my Mac OS X jabber client this was working great! It meant that when users in the SO chat posted a oneboxed image, the image would show up in my XMPP client (Adium for OS X):</p>
  
  <p><img src="https://i.stack.imgur.com/0kfu2.png" alt="My Mind Is Blown"></p>
  
  <p>However I just updated Adium to the latest version and apparently <a href="http://trac.adium.im/ticket/11506" rel="nofollow noreferrer">they considered what I was doing to be a security hole and against XMPP specs, and changed that behavior</a>. Their reasoning was that XMPP should not reveal your Ip address, and to fetch an image over HTTP would reveal my IP address.</p>
  
  <p>So now the chats are imageless over XMPP. How can I make images work over XMPP? Should my XMPP component download the images and embed them into the <code>&lt;Message&gt;</code> stanzas? Can the images be proxied through the XMPP server? Or is this an impossibility?</p>