Code Monkey home page Code Monkey logo

xprivacy's People

Contributors

28black avatar amishmm avatar an0n981 avatar androplus-org avatar arsyadi avatar bkazoo avatar bloezjax avatar danielmmmm avatar define avatar dtgm avatar gitoffthelawn avatar jpeg729 avatar kv1dr avatar lamskoy avatar lazyzhu avatar liudongmiao avatar liveasx avatar m66b avatar ngonchan avatar pandoratrunk avatar phylon avatar pylersm avatar siyah avatar skibbipl avatar smiledexter avatar spy14 avatar t61p avatar tonymanou avatar waleedhassan avatar wongsyrone 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  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

xprivacy's Issues

Bug: Categories

Upgraded from 0.17 to 0.19.

Selected data restrictions (i.e. Ticks) are no longer shown in Categories. Blank boxes are shown even if the data has been restricted.

The selections are not lost though. They are still shown if you click on the app icon itself to view the full list.

Taking XPrivacy 1 step further - data egress protection

Block up all possible data egress avenues.

Ability to send SMS or MMS
Ability to initiate a call
Ability to establish bluetooth connections
(I think already done) Ability to control WiFi connections or add networks
Ability to work with NFC

I believe this covers all standard ways to communicate, as we have internet already covered. By blocking calls and SMS/MMS, that leaves only "on-device wireless" comms. ie. bluetooth, NFC, wifi.

Anything I missed?

Keyboard is brought up on launch

V0.29 brings up the keyboard immediately on launch covering good part of the screen. Since keyboard is not used often this seems unnecessary.

Allow setting specific location for an app.

Certain apps will only run if the user is either in the USA or out of the USA...by allowing the user to set a location/region specific to the app it prevents any issues.

Battery drain after location is restricted in some apps

Restricting apps from accessing location data seems to cause high battery drain. For example, after the Facebook app has been running or is still running in the background, Better Battery Stats reports a higher than usual NetworkLocationLocator with a high number of wakelocks for it. Better Battery Stats also reports that deep sleep time is low, whereas before it would be at least 80% after several hours of the phone being switched on. Switching off "Use GPS Satellites" and "Use wireless networks" in the phone's location settings prevents this battery drain.

Feature request: Streamlining granular settings.

I don't mean to be fussy. Really appreciate the addition. These could be of benefit in the future:

  1. Describing what is being blocked rather than having the name of the function or property. For those with an Android background, not a problem, but I can see some other folk being confused.
  2. When not all the sub-settings are set, the heading's checkbox status should not be checked, as this is misleading and implies all the boxes are checked. And vice versa. I don't know if Android allows for a shaded box, though. I don't think I've ever seen one. If you uncheck all the subheadings, it does not reflect in the heading's checkbox status, which stays checked.
  3. If you've unchecked the main heading, it won't allow you to change sub heading checkbox status. I.e., to edit, heading checkbox has to be checked.
  4. Batch setting granular settings for different apps is going to be tedious and difficult, I don't know if that's going to be doable or desirable. For my own part, I'd disable globally, then go and look for apps requiring specific access.

guidelines

use action bar navigate up in non-main activities.

Ability to report to an app that GPS is unavailable

In order to help prevent battery drain, tell a location restricted app that GPS is unavailable. The hope is that GPS will not be triggered and the app will fall back to other means of accessing location data. Any well written app should simply pop up a dialogue requesting GPS be switched on instead.

Facebook not blocked from using gps

Using a rooted nexus 4 with stock rom.

Any other information I can provide?

Blocking network access works :-) (I have it installed correctly)

Block URI intents with internet

It's possible to send data without the internet permission, if you make a URL containing the data to send, and send that to a server listening for a GET request.

ie. an app can request a browser to the URI of "www.nastyhacker.example.org/leechdata.php?datatoleech=UserName%20T0ps3cr3tP4ssw0rd" or similar...

I suggest if an app doesn't have internet permission, it gets blocked from calling HTTP URIs

Feature request: Isolation of app external storage

The idea discussed was that

a) an app cannot access files created by another app
b) if a number of apps are to be used "together", they will have the same group set (ie. you can set instagram app and your preferred photo viewer app to both be group "photos")
c) this will only apply/work on unified storage (/data/media) devices. If a device uses external SD card (ie. a real "card") too, it would need to be formatted as EXT4, which depends on the ROM and device for support. FAT not supported.

Improvement: App Icon to be Pressable

Improvement suggestion - app icon to be pressable so the user can long-press on the logo, not just the text or checkbox.

Perhaps the user should be able to tap the icon to get to the app specific screen, and the long-press wouldn't be needed?

Feature request: settings for ID's

Where I see this becoming a problem is if you've spoofed a number of a value that is in use legitimately by someone. Say your random IMEI is exactly the same as someone else's. That's probably morally wrong, and possibly illegal? This would go well with obvious spoofed static strings.

But for IP/MAC address, and some other things, randomised can be useful.

switching view from notification

Method

Install multiple apps
Xprivacy shows notifications for each app
Tap one of the notifications (let's call it app 1)
XPrivacy shows perms for app 1
Tap another notification for (let's say) app 2
Privacy stays on the screen showing app 1

Skype fails to connect with Xprivacy enabled.

Originally reported by Tassos_i on xda.

Reproduced on stock rooted Galaxy S3 4.1.2 with Skype 3.2.0.6673 (current version), with Xprivacy 0.26 and 0.27.

Can't supply a logcat at the moment or for the next week, but I have a lovely screenshot.
screenshot_2013-06-21-21-33-05

Feature request: modifier for granularity of settings.

At the moment, for example with 0.17 if you prevent access to the bookmarks, you also deny the ability of the app from launching a url in a browser. At the moment it's either all or nothing.

One option would be to keep splitting the settings, which would make it a tedious affair to set app preferences.

My proposal instead would be to have the current behavior of 0.17 as the default setting, but with the possibility of, say, clicking on that heading to give you child options. If the child options are not all checked, you get a greyed checkbox. You could then broadly apply some settings with default denials and dig deeper if you want more granular control. I suspect this is going to add complexity. Not worth if there is a significant performance hit or memory cost.

Ask for permissions in real time

(sorry for my bad english) For new apps, instead to show a notification to allow permissions, ask with a popup when an app will access a permission.

For example, a new app try to access my contacts, then show a popup with message: "The app 'xxx' is trying to access your contacts" and buttons to allow, deny, always allow, always deny.

This can be done with new apps. If I manually mark permissions to deny on the UI, then don't show that popup.

Thanks!

check if module is enabled on launch

the ui is accessible even when the module is disabled.
you can tick/untick stuff. but the orange triangle does not appear.
so if module is not enabled, it needs to let the user know

force closing when opening from notification for uninstalled app

This is kinda odd and rather rare I think, but here's the run down

Cm10.1 nightly 6/21 on sgh i777
xposed 2.1.4
XPrivacy 0.2.9
Cwm 4.2.x patch installed

Install an app
Xprivacy alerts of new app permissions
Uninstall that app
Notification from xprivacy remains
Tap on notification
Xprivacy force closes
Xprivacy starts itself right away

So in the end on glad it basically restarted itself, but i figured I'd report the force close.

Getprop

Getprop strings can reveal AndroidID (via the default hostname), and imei on some devices (ro.gsm.imei for example).

Run the getprop command on your device, and see what's available. This can be called from SystemProperties (non-publicised API I believe), or the binary itself

Initial lag

Normally, after rebooting and entering my pin code, my I9505 needs about 2 secs to confirm that date and time have been updated and another 2-3 secs to confirm that wifi has been connected as well as to activate "day by day" app widget.
However, upon activating xprivacy, date and time confirmation still come after 2 secs, BUT wifi confirmation and widget activation come after a whole 90 secs !!! And it is indifferent if I have restricted or not some permissions in "day by day" (identification, phone).
Is this normal behavior ?

divide installed and system aops in expertmode

Dear, can you provide 2 option for an internet option under app?
In some case I just want to give app access with wifi and not mobile data, is it possibble?
and also can you divide apps in 2 parts eg: the upper part contains installed apps and than the list of system apps.

[IMG]http://img.tapatalk.com/d/13/06/22/segy5e7y.jpg[/IMG]

I have mark circle on the that is for expert mode, and in expert mode the apps are divided as installed and system (trusted).

Attempt to launch content provider before system ready

The following exception happens during boot (CM 10.1).
Android still loads fine so I'm not sure if it affects anything important.

To fix this we could either add a try catch block, or preferably find a way to detect when the system isn't ready before using ContentResolver.query (Though I couldn't find an official way to do that).

06-07 12:06:05.562 W/System.err(  548): java.lang.IllegalArgumentException: Attempt to launch content provider before system ready
06-07 12:06:05.562 W/System.err(  548):     at com.android.server.am.ActivityManagerService.getContentProviderImpl(ActivityManagerService.java:6522)
06-07 12:06:05.562 W/System.err(  548):     at com.android.server.am.ActivityManagerService.getContentProvider(ActivityManagerService.java:6677)
06-07 12:06:05.562 W/System.err(  548):     at android.app.ActivityThread.acquireProvider(ActivityThread.java:4647)
06-07 12:06:05.562 W/System.err(  548):     at android.app.ContextImpl$ApplicationContentResolver.acquireUnstableProvider(ContextImpl.java:2054)
06-07 12:06:05.562 W/System.err(  548):     at android.content.ContentResolver.acquireUnstableProvider(ContentResolver.java:1101)
06-07 12:06:05.562 W/System.err(  548):     at android.content.ContentResolver.query(ContentResolver.java:356)
06-07 12:06:05.562 W/System.err(  548):     at android.content.ContentResolver.query(ContentResolver.java:315)
06-07 12:06:05.562 W/System.err(  548):     at biz.bokhorst.xprivacy.XRestriction.getRestricted(XRestriction.java:150)
06-07 12:06:05.562 W/System.err(  548):     at biz.bokhorst.xprivacy.XHook.getRestricted(XHook.java:45)
06-07 12:06:05.562 W/System.err(  548):     at biz.bokhorst.xprivacy.XTelephonyManager.isRestricted(XTelephonyManager.java:90)
06-07 12:06:05.562 W/System.err(  548):     at biz.bokhorst.xprivacy.XTelephonyManager.before(XTelephonyManager.java:56)
06-07 12:06:05.562 W/System.err(  548):     at biz.bokhorst.xprivacy.XPrivacy$1.beforeHookedMethod(XPrivacy.java:238)
06-07 12:06:05.572 W/System.err(  548):     at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:432)
06-07 12:06:05.572 W/System.err(  548):     at android.telephony.TelephonyManager.listen(Native Method)
06-07 12:06:05.572 W/System.err(  548):     at android.media.AudioService.<init>(AudioService.java:567)
06-07 12:06:05.572 W/System.err(  548):     at com.android.server.ServerThread.run(SystemServer.java:675)
06-07 12:06:05.572 W/System.err(  548):     at de.robv.android.xposed.XposedBridge.invokeOriginalMethodNative(Native Method)
06-07 12:06:05.572 W/System.err(  548):     at de.robv.android.xposed.XposedBridge.invokeOriginalMethod(XposedBridge.java:624)
06-07 12:06:05.572 W/System.err(  548):     at de.robv.android.xposed.XposedBridge.handleHookedMethod(XposedBridge.java:455)
06-07 12:06:05.572 W/System.err(  548):     at com.android.server.ServerThread.run(Native Method)

Bug - Notification popup leads to wrong app configuration

After installing a new app, a notification is triggered to invite you to update the restrictions on this app.

Tapping on this notification takes you to the settings for the last installed app, or a previously viewed app (not sure which), rather than the app which has just been installed.

Most noticeable when installing several apps at the same time (or in a sitting), and then trying to restrict them in a row, using the notification that is triggered.

Request: Notification when app is installed

When you install an app, the XPrivacy just pop up. I would much rather see a notfication(and with clicking on notification, the app will show) instead of just popping up an app.

Thanks.

Size of active Checkbox area

Is it possible to restrict the size of the active checkbox area to the space around the checkbox?
While sccrolling through the list of apps it often happens to me that i accidently activate a checkbox - and later i wonder why an app misbehaves...

Feature suggestion: Separate internet permissions

Currently, internet permission denies or allows all access to internet. Some apps transfer large amounts of data and should not be allowed on a a data plan but would be okay on a wifi connection. AFWall+ and Avast implement their firewall in this fashion - separate permissions for 3G and Wifi.

Version number on permission page

Pls add version number on permission page for that app.
for example
Like in lbe if we select any app for setting permissions it on the top it shows the app name as you do and also that app version, foe example I have installed indian sygic and International sygic both purchased and both appears as sygic, how should I differentiate beween them.
Is it indian sygic or international one. One thing both habe different version, so it can be recognize with the help of version.

3e6ytypy

add search and filter capability

add search for apps inside xprivacy.
add filtering options like xposed app settings
filtering of search results,

example for filtering
apps with changed settings & without
apps with x permission & without - put all blockable permissions in place of x
etc

Proposed - Isolate contacts and permit contact access on a per-account basis

Would permit a user to allow an app to only access the contacts it "needs", in order to preserve privacy and reduce data leakage to permit an app to function.

Example usage - user wishes to use a VoIP or similar app (say whatsapp), but only giving it access to a small portion of the user's contacts list, to prevent business contacts from being added to a personal whatsapp account

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.