tijder / SmsMatrix

A simple SMS <--> Matrix bridge.
https://matrix.to/#/#smsmatrix:matrix.org
GNU General Public License v3.0
214 stars 37 forks source link

Release on F-droid #24

Closed mvgorcum closed 5 years ago

mvgorcum commented 5 years ago

Would you be OK if this app is published on f-droid?

If you would like it, you'll need to release the code under an OSI license.

tijder commented 5 years ago

Of course its OK to publish it on the f-droid store. I only have no experience in adding a license to software. Is the only thing I need to do is add a LICENSE file like 736e3d277b15a551f0f0c4ca223c6128d778e711?

mvgorcum commented 5 years ago

Yeah, adding a LICENSE file is the most common way of releasing code under a certain license (also: GPLV3 is a good choice IMO).

If you want to be extra clear you can mention in the readme that you release this code under the gplv3 license.

mvgorcum commented 5 years ago

Great! I've opened a request for packaging issue on the f-droid repo. If you're feel like doing it you could even make a merge request to f-droid data to speed up inclusion (there's resources on how to do so here and here) but if you don't feel up for it we can wait for someone else to do so.

IzzySoft commented 5 years ago

F-Droid maintainer here. Could you please give us a clearer description of what exactly the app does? From the description in the README.md one could get the impression that, after having set up the app, really "all your text messages will be bridged" – which could include sensitive information like mobileTANs or, well, make your guess :wink:

Does it really bridge ALL text messages – or only those addressed to a specific name/keyword? Are they bridged to a public room? Admitted, I'm no Matrix user (which might add to my confusion; but using XMPP and participating in some MUCs which have Matrix bridges, I guess I at least have a raw idea). But on F-Droid we prefer detailed descriptions which give our users a good idea on what an app is about. A one-liner usually is much too little. Consider the description should "advertise" your app (decently, of course) 😉

Thanks in advance!

PS: Won't hurt to put that "detailed description" into your README.md as well 😃

mvgorcum commented 5 years ago

I would go with something like:

This app bridges all sms messages to matrix. For every (new) text conversation contact the bot will open a private 1:1 room and sends the incoming messages to that room. Any messages sent in that room by the matrix user will then be sent to the contact via SMS.

IzzySoft commented 5 years ago

Thanks, @mvgorcum – that sounds like a good start. May I suggest some details from your post over at F-Droid – like the recommendation to (currently) rather use it with your own server or otherwise be aware that there's no E2EE (yet) available? Unless E2EE is already available and you just missed that, or course. So, e.g.:

This app bridges all sms messages to matrix. For every (new) text conversation contact the bot will open a private 1:1 room and sends the incoming messages to that room. Any messages sent in that room by the matrix user will then be sent to the contact via SMS.

As currently there is no end-to-end encryption implemented in this app, for privacy reasons it is preferable to use this with your own Matrix server.

Serves a double-purpose, as this also makes sure nobody suggests the NonFreeNet AntiFeature 🤣

Apart from that, does no E2EE also mean messages would be prone to MITM – or are they at least sent via a "secure link"?

Once a description is agreed upon, we can proceed with the RFP.

Just another note to the author(s) here (@tijder): Not relevant to the RFP, but for you: Please secure your gradlew (see here for details) :wink:

mvgorcum commented 5 years ago

I think it's indeed wise to add the no e2ee warning, good addition.

Having no E2EE luckily has no bearing on MITM attacks, the data will still be encrypted in transit using https over matrix (assuming you set your server up correctly). The only risk of not having e2ee is that an evil matrix server sysadmin has access to your plaintext.

IzzySoft commented 5 years ago

Thanks! So updating the proposed description to

This app bridges all sms messages to matrix. For every (new) text conversation contact the bot will open a private 1:1 room and sends the incoming messages to that room. Any messages sent in that room by the matrix user will then be sent to the contact via SMS. As currently there is no end-to-end encryption implemented in this app, for privacy reasons it is preferable to use it with your own Matrix server. Your data-in-transit however will always be safe as they are encrypted using https over matrix -- provided the Matrix server is configured properly.

That fine with you, @tijder? Then we could proceed.

tijder commented 5 years ago

Looks good. I have added to the readme.md. Thanks for writing the description!

IzzySoft commented 5 years ago

Thanks, @tijder – then I'll set this up on F-Droid as well.

IzzySoft commented 5 years ago

Ugh… One more thing, as currently we cannot update it despite you're using tags:

Once that's fixed (and tagged), I can trigger integration.

tijder commented 5 years ago

I have added the version code and name. Are there other things that needs to be done?

IzzySoft commented 5 years ago

Thanks, @tijder – I've updated the RFP and asked on of our "integrators" to proceed with it.

IzzySoft commented 5 years ago

@tijder there are binaries in https://github.com/tijder/SmsMatrix/tree/master/app/libs – are those needed? If yes, could you add the source, e.g. as submodules?

tijder commented 5 years ago

I tried to get the app running with submodules c0a25719370a71a4b6a4d2550a6729c499a36b67. I never worked before with gitsubmodules. Now I get an error:

Could not find :olm-sdk:. Required by:
project :app > project :matrix-sdk

Can you help me fix this? I have looked at https://github.com/vector-im/riot-android for reference.

IzzySoft commented 5 years ago

I'm no dev, @tijder – maybe ask in the RFP thread? There was already a pointer from Bubu (which you possibly refer to):

Look at how minivector is build in f-droid.

There are also the devs working on integration. Actually, these binaries where brought up by Pierre Rudloff in that thread, so maybe he can help you. Or Bubu himself.