yashsingh1/xdaforums huggingface dataset:
[Paid Software Announcement and Discussion] ferivon:
Thanks for the quick response. :)

I have another question. In the FAQ you say:

Wouldn't it be possible to create hooks for the Socket and File classes? And couldn't we go even further and only allow accessing certain folders, URLs and IPs by parsing the parameters?

For instance, I would like to use WhatsApp, but it should only be able to see and read the "WhatsApp" folder when checking the contents of "/sdcard".

And VLC Media Player should only be able to see and read the /sdcard/Music and /sdcard/Movies folder and it should only be allowed to access my network storage on 192.168.1.9. (If it tries to access vlc.com or anything else it should look like the site is down or like there is no Internet.)

etc ...

And one more thing I'd like to mention (because you said it can only be done using Linux permissions): AFWall+ is able to block Internet access using iptables and it has never caused an app to crash on my devices as far as I remember.
[Paid Software Announcement and Discussion] M66B:
Part of what you want has been done here for files:

https://lua.xprivacy.eu/repo/view?id=14

(there are more advanced examples in the repository)

Apps assuming that a file always exists, for example a database they depend on, will crash.

You can do this for sockets in the same way, but it is better to restrict InetAddress.get...ByName because that will give you access to the domain name:

https://lua.xprivacy.eu/repo/view?id=27

https://lua.xprivacy.eu/repo/view?id=28

Apps generally handle 'name not found' gracefully, but an app can assume a domain name always exists and still crash.

The problem is that the above restrictions can be circumvented by native code, which can only be prevented by revoking Linux permissions, just like the FAQ says.
[Paid Software Announcement and Discussion] ferivon:
Thank you, that looks very promising.

Would you say it is very common for apps to use native code to access the network and files or is that rather rare?

Are network and storage restrictions really the only things that apps could bypass?
[Paid Software Announcement and Discussion] M66B:
Most 'heavy' apps, like browsers and games, use native code to access the internet and/or the file system.

There are more Linux permissions, see here:

https://android.googlesource.com/pl...s/include/private/android_filesystem_config.h

A lot of these permissions are used by Android internally only. Privacy wise internet and file system permissions are the most important.
[Paid Software Announcement and Discussion] ferivon:
Thanks for the information! :)

We can call pretty much any class/method we want from a Lua script, is that correct?

Assuming that it is:

- Wouldn't it be possible to implement on-demand restricting this way? I'd imagine it to be quite trivial to create a push notification with some actions ("allow", "block", etc) whenever an app tries to access a new method.

- Another thing that's a bit worrying is that people could easily upload malicious code. Is there a review process before a new definition is made available to the public?

And I have a more technical question: If a Lua script is interrupted (e.g. sleeping, waiting for user input, etc.) would this affect the other scripts? Or are are all scripts running in separate threads or something like that?
[Paid Software Announcement and Discussion] Namnodorel:
The problem with on-demand-restricting is that you can't safely halt the other app without risking that the app, XPL or both crash or freeze.
[Paid Software Announcement and Discussion] M66B:
Yes, you can reference and use any Java class in Lua.

As already pointed out, the problem with on demand restricting is waiting for a choice, but applying a default choice after a reasonable time worked mostly okay in XPrivacy. There is no risk that XPrivacyLua will crash. Using system alert dialogs does not work correctly on all Android versions/variants. Therefore it is better to use status bar notifications. If Xposed will ever be updated, I will see if I can make a framework for on demand restricting for use in Lua scripts.

There is no review process for uploaded hook definitions. Therefore:

"Hook definitions are provided as-is. Using hook definitions is entirely at your own risk." (https://lua.xprivacy.eu/repo/)

I take a look now and then in the hook definition repository and as far as I know there is nothing malicious in the repository. If you find something malicious, please let me know and I will remove it.
[Paid Software Announcement and Discussion] ferivon:
Thanks again, this has been very helpful.

Is "XPrivacyLua Pro" closed-source? I have not been able to find it on GitHub and I find it very scary to run apps with that kind of control over my system if I can't review the source code.
[Paid Software Announcement and Discussion] M66B:
The pro companion app is closed source because else it will be pirated, so, you will have to trust me that it doesn't do anything harmful or just use XPrivacyLua only, which is 100 % open source.
[Paid Software Announcement and Discussion] Oswald Boelcke:
Marcel, there's only a handful of developers around who I immediately and absolutely trust - and YOU are definitely one of them.

Thanks very much for everything you've provided and done for us so far!:good:
[Paid Software Announcement and Discussion] M66B:
My next project, an Android e-mail client, will be completely open source :)
[Paid Software Announcement and Discussion] Oswald Boelcke:
OT: Looking forward to it; that's great news. I hope that you intend and are able to implement support for OpenPGP AND S/MIME (maybe as an add-on that needs to be purchased?). I currently only know one e-mail client that supports both i.e. a decent alternative would be good. And I know everything you develop is more than decent.
[Paid Software Announcement and Discussion] M66B:
In the spirit of off topic: I was just typing a Play store description, also to set clear goals:

"Safe email

Simple, secure and efficient email client

This email client supports modern and safe email protocols only, see below for details. Please don't leave a bad rating for this, but contact your email provider to make this world a safer place. All major email providers are supported.

Features:

- 100% open source

- multiple accounts

- multiple identities

- unified inbox

- message threading

- offline storage and operations

- material design

- dark theme

Simple:

- no settings

- no bells and whistles

Secure:

- allow encrypted connections only (no STARTTLS)

- accept valid security certificates only (no self signed or with invalid host name)

- SMTP authentication required

- text view only (no HTML)

- confirm showing individual images

- confirm opening individual links

- no special permissions required

- no advertisements

- no analytics and tracking

Efficient:

- no POP support

- IMAP IDLE required

- Android 6 Marshmallow or later required

This app starts a foreground service with a low priority status bar notification to make sure you'll never miss a new email."

That said, I have receiving, storing and showing emails (light and dark theme) working, including offline email operations, like marking a message as read, so it is already more than just an idea. I might add OpenPGP and S/MIME support in the future.

The JavaMail and jsoup libraries are being used.
[Paid Software Announcement and Discussion] Oswald Boelcke:
Marcel, this reads more than just interesting. I'm convinced that it might become an e-mail client to everybody who is really interested in privacy and security.

If you need somebody for the translation to German just let me know; however, I know that a Dutchman can do this himself.:D

If you are interested in promoting your app within the German speaking and privacy/security concerned community, you might consider to give a heads up to Mike Kuketz for his privacy & security blog: https://www.kuketz-blog.de/kontakt/

Question: Why no STARTTLS? I believe the EFF is propagating it for every e-mail-server: https://www.eff.org/deeplinks/2018/06/announcing-starttls-everywhere-securing-hop-hop-email-delivery

Who do you consider to be major e-mail provider? I hope mailbox.org and posteo.de are included?

How about to already open a new thread for this application?
[Paid Software Announcement and Discussion] M66B:
Although I can understand German, my German is not good enough to do translations. This might be surprising, but Dutch and German are very different languages.

EFF also says: "even if you configure STARTTLS perfectly and use a valid certificate, there’s still no guarantee your communication will be encrypted". A connection should therefore start with SSL in the first place.

A list (just that) of some major e-mail providers: https://www.techradar.com/news/best-email-provider

posteo.de supports SSL: https://posteo.de/en/help/how-do-i-set-up-posteo-in-an-email-client-pop3-imap-and-smtp

mailbox.org supports SSL: https://userforum-en.mailbox.org/knowledge-base/article/setup-other-e-mail-clients-manually

It is not allowed to open XDA threads without offering something substantial, so this has to wait until the first beta release.
[Paid Software Announcement and Discussion] ferivon:
Well, but making your software closed-source won't prevent piracy at all. In fact the most pirated software is closed-source.

I'm pretty sure that if I would have wanted to pirate XPrivacyLua Pro, I could have done so. ;)

The issue is not only about trusting the developer, but also about trusting their environment.

I know of many cases where developers have been hacked or OAuth keys have been obtained so that the hacker was able to release malicious updates under their name.

Sure, this has also happened with open source software, but in those cases it is much easier to notice and you always have the chance to review and build the code yourself.

Another huge issue are NSLs which usually come with a gag order. Forcing developers to implement backdoors into their applications, not being allowed to talk about it.

You might think this is unlikely to happen, but leaks have shown, that more than 60 NSLs are being issued every day.

Targeting Apps like Xprivacy with NSLs would make perfect sense because the argument is always: "We try to fight terrorism and everyone who tries to be anonymous is probably a terrorist."
[Paid Software Announcement and Discussion] M66B:
Closed source software can be pirated, but it is a lot easier to pirate open source software.

Rest assured that my development environment is completely safe and as you say, building from open or closed source code is equally safe or unsafe. I am using Linux to develop software on dedicated development hardware.

Where I live, the Netherlands, there are no gag orders possible.

Anyway, I have no plans to open source the pro companion app.
[Paid Software Announcement and Discussion] Oswald Boelcke:
Greatfully and thankfully living in Germany as part of the European Union. The mentioned orders are impossible here.

But your argument is certainly valid for the U.S.A. and quite a few other countries. And that's the reason why you don't find any American application on our devices. Neither making use of servers located in the U.S.A. The one and only exception is my gmail-address that is only used for loggin's into Google Play Store - and the utilisation of XDA. Usually, I immediately uninstall appications if I catch them to try to call to U.S. servers.

However, maybe the current POTUS discovers the NSL's as fake news and solves this issue?
[Paid Software Announcement and Discussion] ferivon:
Most likely not impossible, but the situation in the EU is certainly better than in the USA, China and Russia.

Still, the BND and the NSA have been working together closely breaking hundreds of laws. And the Dutch AIVD and MIVD are known to be ridiculously cooperative with the intelligence agencies of the USA, doing whatever they're asked for.

Well, I hope that at some point it will be possible to somehow use custom hooks and their settings without the closed-source app. Maybe there are other features that the Pro app could provide instead. Personally, I feel too uncomfortable having this app on my device and I would kind of betray my principles if I were to contribute code for something that can't be used in an open source way. (No offense.)
[Paid Software Announcement and Discussion] M66B:
But still there are no gag orders in the EU.

Maybe I will add the free features of the pro companion app to XPrivacyLua one day. I will put it on my to do list, but this is not a promise it will happen.
[Paid Software Announcement and Discussion] Namnodorel:
A marketing idea I had that could be complete and utterly useless: Could some kind of special ad activity be added to XPL where people who want to additionally support XPL can watch ads? The revenue may not be enough to be relevant for you directly, but it could possibly be used to then buy further ads for XPL.

Afaik, currently we rely on word of mouth only, and it really doesn't have to be that way! Especially with the direction VirtualXposed is taking, it might be worth the time to advertise XPL even to users who are not using an unlocked phone.
[Paid Software Announcement and Discussion] M66B:
I don't think ads will be appreciated by XPrivacyLua users.

VirtualXposed is certainly an interesting development.
[Paid Software Announcement and Discussion] ferivon:
Well, technically there have been gag orders in the EU, even in the Netherlands. But not related to something like an NSL. (At least not as far as we know.)

I'd really appreciate that. :fingers-crossed: The repo is on my watch list.
[Paid Software Announcement and Discussion] Namnodorel:
They wouldn't need to be forced on people. More like opt-in, if you want to support the app. I would certainly be happy to watch ads or, heck, even enable them on my LockScreen if that helps grow the userbase.
[Paid Software Announcement and Discussion] M66B:
Gag orders are really not possible in the Netherlands.
[Paid Software Announcement and Discussion] ferivon:
Are you sure? https://en.wikipedia.org/wiki/Gag_order#The_Netherlands
[Paid Software Announcement and Discussion] M66B:
I am quite sure. There are no gag orders possible in the Netherlands. The mentioned gag orders were actually instructions from employer to employee and not from government to civilian. The Wikipedia article is incorrect and needs to be corrected.
[Paid Software Announcement and Discussion] ferivon:
I see. I'm still hesitant on the word "impossible", but I guess what you mean is that the current law doesn't allow it.

...

About the ad idea, I think it would be very counter productive privacy-wise.

Maybe there could be a store where you could buy hook definitions.

Or what about a system that allows to donate to implement new features? Or perhaps you could have a list of features that you are planning to implement and let people increase the priority of a certain feature by donating.
[Paid Software Announcement and Discussion] Namnodorel:
Well, you can donate already and buy the Pro version. So there isn't a lack of options to support the project through money. But afaik there is no money for buying ads for XPL, hence my idea to finance it another way.
[Paid Software Announcement and Discussion] ferivon:
I was just stating ideas for alternative monetizing.

I think I misunderstood you. I know there is a service called SponsorPay (I think they recently changed their name) which I have seen websites using as a payment method.

Basically it allowed you to pay by participating in surveys, by testing browser games, by creating accounts on certain websites etc.

If that would be integrated into the website, I wouldn't have a problem with that.
[Paid Software Announcement and Discussion] M66B:
XPrivacyLua is not really about the money, else I could simply take an offer like this and be done with it:

XPrivacyLua is mainly about protecting the privacy of as many as possible people and I like to keep it that way.
[Paid Software Announcement and Discussion] Namnodorel:
Well - yes. My intention wasn't to make as much money as possible from XPL, but to be able to afford serving ads in other places so that XPLs visibility and user base grows. Isn't that in the spirit, to improve the privacy from as many people as possible?
[Paid Software Announcement and Discussion] M66B:
I didn't understand that correctly.

What places are you thinking of?
[Paid Software Announcement and Discussion] ferivon:
You do seem to be pretty concerned about piracy though. ;) (No offense.)

I'm curious, why do you actually think that people would pirate XprivacyLua Pro? I just searched for Xprivacy on the biggest torrent sites and forums that I'm aware of and I couldn't see any useful offers, nor could I see any demand. I honestly don't think that piracy would become a serious issue. :confused:

I think he was talking about using the money to make Xprivacy ads on Google, Facebook etc.
[Paid Software Announcement and Discussion] andrew2432:
Because he's put a ton of effort and hard work into this project and the rewards from donations/pro purchases absolutely do not represent the entirety of users? If it did this would be his sole job
[Paid Software Announcement and Discussion] M66B:
Running a project like XPrivacyLua has its positive and negative sides. It is fun to build something new and to make people happy. It is less fun to track down hard to find bugs and to handle unfriendly people (you might be surprised). The few donations I get is a kind of the glue to keep me going. It also creates a responsibility towards the people who donated.

Also, I didn't wanted to build the features in the pro companion app in the first place because I wanted to limit the time spent on this otherwise free and open source project, but people kept asking. So, at some point I decided to build these features for a price.

There are also costs for development hardware, electricity, lots of coffee and servers.
[Paid Software Announcement and Discussion] Namnodorel:
In other apps or on websites, by using whatever ad framework may be suitable. I think most ad companies allow to set a certain scope, so that ads for XPL would only show up on more technical sites/apps. That way there would be a higher chance of attracting users that are at least halfway competent enough to be able to understand how XPL works and can be used (even though the UI is much easier to use, all the custom hooks and stuff are still way too complicated for the average Android user).
[Paid Software Announcement and Discussion] M66B:
Randomization is known to cause crashes and will therefore not be added. See also the FAQ.

A one time randomization per app might be added sometime in the future, but I am not going to do that for just a few dozen people. Adding something is four times work: develop, test, maintain and support.
[Paid Software Announcement and Discussion] OSheden:
While I do understand your point of view, all apps should be published as beta versions. I receive similar reviews for my apps... That's part of the game.

I'm sure you also noticed that Google removed some ratings (users still see their review on their device but they have disappeared for the rest of the world) without any explanation/informing us.
[Paid Software Announcement and Discussion] M66B:
I don't want to be part of that game. IMHO the whole rating system is broken. People with complaints rate more often than people without complaints resulting in a situation that is quite unfair for a developer.

Google often does not even remove comments when reported to violate the Play store rules. Worse, Google does not even remove apps violating copyrights. So, don't expect any support from Google. Someone called Google autistic in the past and I can't say I disagree with this.
[Paid Software Announcement and Discussion] M66B:
I have just released version 0.32 of the pro companion app.

This version fixes a few bugs, like data not loaded sometimes and focus not set correctly sometimes.
[Paid Software Announcement and Discussion] zzzhead:
A 1 time randomization would be great too!
[Paid Software Announcement and Discussion] M66B:
After giving this some thought: I don't think adding a button to randomize the values or location would add much. I think you are perfectly capable of making something up yourself.

Randomizing on each app start is known to cause trouble because the value is different from what the app stored before resulting in difficult to pinpoint issues like losing pro features and even crashes. This is not something I want to support.
[Paid Software Announcement and Discussion] mnjm9b:
couldn't a custom line(s) in the lua script be used to randomize if a user needed this feature?
[Paid Software Announcement and Discussion] M66B:
Yes, that is possible, since Lua has a random function:

http://lua-users.org/wiki/MathLibraryTutorial

For example for a random 6 digit number:

local fake = math.random(999999)
[Paid Software Announcement and Discussion] mnjm9b:
and for strings you can use "tostring(x)"

to convert a random number to a string for hooks that are looking for string and not int
[Paid Software Announcement and Discussion] sixtyfootmalcolm:
Just wanted to say I appreciate the ongoing work, good stuff - thank you.
[Paid Software Announcement and Discussion] mnjm9b:
would it be possible to group definitions by group?
[Paid Software Announcement and Discussion] M66B:
Like the app hooks, yes that would be possible.
[Paid Software Announcement and Discussion] magisterludi:
Thank you for clarifying. Marcel, your previous product was worth the investment. I expect this shall hold true again. Thanks again mate for giving us actual privacy controls.
[Paid Software Announcement and Discussion] M66B:
After thinking a little about this: the list of definitions has another purpose than the list of app hooks, so I think it is better to leave this as it is.
[Paid Software Announcement and Discussion] sixtyfootmalcolm:
Excuse my ignorance but what is the best way for a user without Google Play to update the Pro app without needing to bother you? I thought I'd seen it check automatically in the past but it doesn't seem to actually process an update. (0.15 is currently installed.)
[Paid Software Announcement and Discussion] M66B:
I guess you still have a version installed without the update check. Follow the link in the email with activation instructions to update to the latest version. After that you'll receive automatically notifications about me versions.

You'll also discover that there are a lot more features now ;)
[Paid Software Announcement and Discussion] sixtyfootmalcolm:
Great, thanks very much! Fab, looking forward to it. :)
[Paid Software Announcement and Discussion] sixtyfootmalcolm:
That worked, thank you. Enjoying the new features especially the log. Really shows the value of it working, for example installed games harvesting data overnight while sleeping. Good for showing friends what they unwittingly give up about themselves too.
[Paid Software Announcement and Discussion] badabing2003:
Marcel, in the other thread you said the following.

I tried refresh but didn't see it, perhaps I didn't wait long enough, although I waited till the spinning cursor stripped spinning.

How do I export hook definitions? I see import option but no export for definitions.

I see import / export for my restrictions.

I'm sure I'm not looking in the right place or it's staring in the face and I'm not seeing it.

I understand, this didn't belong in the other thread, be strict that's the right way.

Thanks

BB
[Paid Software Announcement and Discussion] M66B:
Tap on a definition to get the menu and there will be 'export''.

Edit: [MENTION=4851555]badabing2003[/MENTION] XPrivacyLua version 1.16.1 fixes the hook update problem
[Paid Software Announcement and Discussion] M66B:
Advertising is quite expensive and I don't think the revenue will outweigh the costs. Just a tiny fraction of the users is actually willing to pay something.