XSF Discussion - 2019-12-11

  1. sfdcjkl

    Kann man mit XMPP in C++ ein Messanger schreiben ?

  2. sfdcjkl

    Can I write an messanger in C++ with the XMPP protocole ?

  3. Zash

    Sure. E.g. Swift ( https://swift.im/ ) is an XMPP client written in C++

  4. sfdcjkl

    with server ?

  5. Zash

    Servers can also be written in C++

  6. sfdcjkl

    But only C++ no swift

  7. Guus

    XMPP is a protocol definition, that can be implemented in most programming languages.

  8. sfdcjkl

    and can i run the server on raspberry pi

  9. Guus

    See https://xmpp.org/software/ for a listing of some of the available implementations.

  10. Zash

    Please be aware that you're in a discussion channel for the protocol itself.

  11. Guus

    People do have servers running on a raspberry, yes. I personally don't have experience with that.

  12. sfdcjkl

    Okay, sorry, I thought they could help me

  13. Guus

    No worries, we can.

  14. sfdcjkl

    Yes I just wanted to write a messenger in C ++ and wanted to inform me about the protocol XMPP and see if it runs on a Paspberry pi ...

  15. Guus

    I'm a Java dev myself, so I have limited C++ experience.

  16. Guus

    I think https://camaya.net/gloox/ is a commonly used library for C++ though

  17. Guus

    Apart from Swiften (note that the name does not relate to Swift from Apple, even if it sounds similar)

  18. sfdcjkl

    Yes and I am a 13 year old student who knows python and now wants to learn C ++ ...

  19. Guus

    Cool. go for it πŸ™‚

  20. sfdcjkl


  21. sfdcjkl

    Oh, I thought of swift an apple, sorry

  22. Daniel

    If you are just starting out I'd recommend focusing on either the server or the client for now

  23. Daniel

    And then either use a preexisting server or client to test what you are developing with

  24. Guus

    Swiften, the XMPP project, existed long before Swift from Apple came along πŸ™‚

  25. sfdcjkl

    Okay, thank you very much, I have not had this idea for so long and I just did Python and played a bit with the Apache2 server. Now I wanted to learn C ++ but realized that it's fast like python

  26. sfdcjkl

    Okay, thank you very much, I have not had this idea for so long and I just did Python and played a bit with the Apache2 server. Now I wanted to learn C ++ but realized that it's fast like python

  27. Guus

    Happy to help. Good luck!

  28. sfdcjkl

    Oh, and I am there with my Ubuntu (19.04) limited

  29. sfdcjkl

    I'm sorry but I have to go offline now because my mother says I should sleep now (time difference)

  30. Guus

    Sleep tight

  31. Guus

    I'm thinking more 'age difference' than 'time difference' πŸ˜‰

  32. sfdcjkl

    Well I live in Europe

  33. Guus

    most of us here do.

  34. Guus

    I'm from the Netherlands myself

  35. sfdcjkl

    Okay, but I really have to go offline but thank you and good luck;)

  36. Guus

    "XMPP, making mothers angry around the globe"

  37. DebXWoody

    Oh,... I'm too late. If he will come back, you can show him https://codeberg.org/xmpp-messenger

  38. DebXWoody

    There are two small gloox apps which can help him. Next weekend I will be able to push XEP-0030 info app.

  39. marc_

    Is there a good/easy way to generate groupchat invitation URLs for a web client?

  40. marc_

    Let's say I would like somebody to join our groupchat via web client because the person doesn't have to install an app

  41. marc_

    Anybody who thought about this use case?

  42. Zash

    If it's a public room with a publicly accessible web chat (like this very room!) then you could check if there's an URL for it in disco and send that.

  43. Ge0rG

    marc_: https://search.jabber.network/search?f=y&q=xsf

  44. Zash

    jonas’, it forgot about us again! :S

  45. marc_

    No, I want invite somebody with one or two clicks

  46. Zash


  47. marc_

    No public group chat

  48. Zash

    Ge0rG, you somehow got all the checkboxes unchecked?

  49. Zash

    marc_, private groupchat but anonymous web chat access? not aware of anything atm

  50. Zash

    XEP-0379 but for MUC?

  51. marc_

    Would be nice to have that, might lower the on boarding bar

  52. marc_

    I thought about that the home server could advertise a web client URL or something like that

  53. Zash

    marc_, get Ge0rG, yourself and JC in a room together?

  54. Zash

    https://xmpp.org/extensions/xep-0379.xml + https://xmpp.org/extensions/xep-0401.xml + web client = ???

  55. Zash

    and a touch of MUC

  56. Ge0rG

    Zash: did you just say muc password?

  57. marc_

    Not sure, maybe a service advertisement would be enough

  58. Zash

    One-time MUC passwords?

  59. marc_

    Just to advertise web client URLs and that we don't have to rely on a single web service like conversejs.org or something similar

  60. Zash

    Something in the style of https://xmpp.org/extensions/xep-0156.html ?

  61. marc_

    At the moment I have to generate such URLs manually

  62. marc_

    Maybe, not sure if DNS but some way that my client (e.g. Conv) can generate a web client URL for other users

  63. Zash

    Hm, consider that a MUC service might be detached from the XMPP service you're on.

  64. Ge0rG

    If it's a private room, how do you want to authenticate the web user?

  65. marc_

    Not sure, at the moment via the cryptic name :D

  66. marc_

    At the moment I don't need security. It's just for "let's join the room and discuss when we meet without fucking WhatsApp"

  67. Zash

    Web client startup code that gets room(s) from the ?query or #hash part of the URL would do the trick?

  68. Zash

    And some trickery so you know this works

  69. Zash

    Like the trickery done here to get https://search.jabber.network/search?q=xsf to get that "join using browser" link

  70. Ge0rG

    marc_: the web chat url is in the disco#info response, all you need is to expose that in a client

  71. lovetox

    to make it private the room could have a password, and the password could be in the uri

  72. Zash

    Making it non-public and having a long random name works like a password

  73. marc_

    Nice, sounds like what I need

  74. marc_

    It this disco thing standardized?

  75. marc_

    Is this disco thing standardized?

  76. Zash

    Heh, well, https://github.com/xsf/xeps/pull/828