· 8 years ago · Jan 05, 2018, 02:00 AM
1#!/bin/bash
2#
3# Copyright 2010 Pushfix.info
4#
5declare -a cydia
6cydia=($CYDIA)
7
8# Install hosts entry to block Apple receiving our position
9
10egrep -v 'iphone-services.apple.com|gs-loc.apple.com' /etc/hosts >/etc/hosts.new && cp /etc/hosts.new /etc/hosts && rm -f /etc/hosts.new && echo "127.0.0.1 iphone-services.apple.com gs-loc.apple.com" >>/etc/hosts
11
12# Clear and protect consolidated.db
13
14if [ -L /var/root/Library/Caches/locationd/consolidated.db ]; then
15 rm -f /var/root/Library/Caches/locationd/consolidated.db
16 launchctl stop com.apple.locationd
17 launchctl start com.apple.locationd 2>/dev/null >/dev/null
18 echo "Waiting for locationd to start back up."
19 sleep 10
20 if [ ! -s /var/root/Library/Caches/locationd/consolidated.db ]; then
21 echo "Reinstall this package after a reboot."
22 if [[ ${CYDIA+@} ]]; then
23 eval "echo 'finish:reboot' >&${cydia[0]}"
24 exit 1
25 fi
26 fi
27fi
28
29sqlite3 /var/root/Library/Caches/locationd/consolidated.db <<EOF >/dev/null
30CREATE TABLE IF NOT EXISTS CellLocationLocal (MCC INTEGER, MNC INTEGER, LAC INTEGER, CI INTEGER, Timestamp FLOAT, Latitude FLOAT, Longitude FLOAT, HorizontalAccuracy FLOAT, Altitude FLOAT, VerticalAccuracy FLOAT, Speed FLOAT, Course FLOAT, Confidence INTEGER, PRIMARY KEY (MCC, MNC, LAC, CI));
31CREATE TABLE IF NOT EXISTS CellLocation (MCC INTEGER, MNC INTEGER, LAC INTEGER, CI INTEGER, Timestamp FLOAT, Latitude FLOAT, Longitude FLOAT, HorizontalAccuracy FLOAT, Altitude FLOAT, VerticalAccuracy FLOAT, Speed FLOAT, Course FLOAT, Confidence INTEGER, PRIMARY KEY (MCC, MNC, LAC, CI));
32CREATE TABLE IF NOT EXISTS WifiLocation (MAC TEXT, Timestamp FLOAT, Latitude FLOAT, Longitude FLOAT, HorizontalAccuracy FLOAT, Altitude FLOAT, VerticalAccuracy FLOAT, Speed FLOAT, Course FLOAT, Confidence INTEGER, PRIMARY KEY (MAC));
33DELETE FROM WifiLocationHarvest;
34DELETE FROM CellLocationHarvest;
35DELETE FROM CdmaCellLocationHarvest;
36DELETE FROM CdmaCellLocation;
37DELETE FROM CellLocationLocal;
38DELETE FROM CellLocation;
39DELETE FROM WifiLocation;
40DROP TRIGGER IF EXISTS CdmaCellLocationWiper;
41DROP TRIGGER IF EXISTS CellLocationLocalWiper;
42DROP TRIGGER IF EXISTS CellLocationWiper;
43DROP TRIGGER IF EXISTS WifiLocationWiper;
44CREATE TRIGGER CdmaCellLocationWiper AFTER INSERT ON CdmaCellLocation FOR EACH ROW BEGIN DELETE FROM CdmaCellLocation; END;
45CREATE TRIGGER CellLocationLocalWiper AFTER INSERT ON CellLocationLocal FOR EACH ROW BEGIN DELETE FROM CellLocationLocal; END;
46CREATE TRIGGER CellLocationWiper AFTER INSERT ON CellLocation FOR EACH ROW BEGIN DELETE FROM CellLocation; END;
47CREATE TRIGGER WiFiLocationWiper AFTER INSERT ON WifiLocation FOR EACH ROW BEGIN DELETE FROM WifiLocation; END;
48DROP TRIGGER IF EXISTS WifiLocationHarvestResetInsert ;
49DROP TRIGGER IF EXISTS WifiLocationHarvestResetUpdate ;
50DROP TRIGGER IF EXISTS CellLocationHarvestResetInsert ;
51DROP TRIGGER IF EXISTS CellLocationHarvestResetUpdate;
52DROP TRIGGER IF EXISTS CdmaCellLocationHarvestResetInsert;
53DROP TRIGGER IF EXISTS CdmaCellLocationHarvestResetUpdate;
54CREATE TRIGGER WifiLocationHarvestResetInsert AFTER INSERT ON WifiLocationHarvest FOR EACH ROW BEGIN DELETE FROM WifiLocationHarvest; END;
55CREATE TRIGGER WifiLocationHarvestResetUpdate AFTER UPDATE ON WifiLocationHarvest FOR EACH ROW BEGIN DELETE FROM WifiLocationHarvest; END;
56CREATE TRIGGER CellLocationHarvestResetInsert AFTER INSERT ON CellLocationHarvest FOR EACH ROW BEGIN DELETE FROM CellLocationHarvest; END;
57CREATE TRIGGER CellLocationHarvestResetUpdate AFTER UPDATE ON CellLocationHarvest FOR EACH ROW BEGIN DELETE FROM CellLocationHarvest; END;
58CREATE TRIGGER CdmaCellLocationHarvestResetInsert AFTER INSERT ON CdmaCellLocationHarvest FOR EACH ROW BEGIN DELETE FROM CdmaCellLocationHarvest; END;
59CREATE TRIGGER CdmaCellLocationHarvestResetUpdate AFTER UPDATE ON CdmaCellLocationHarvest FOR EACH ROW BEGIN DELETE FROM CdmaCellLocationHarvest; END;
60EOF
61
62exit 0