- Make everything faster
- New feature: the app can use DNS servers listening on alternate ports (ur0011)
- New feature: the app can now be activated as a Device Administrator (ur0020)
- New feature: support for 64-bit architectures in setools-android
- New feature: auto clear notification (ur0031)
- New feature: custom notification priority (ur0032)
- Migrate root library from RootCommands to libsuperuser
- Add OpenDNS on port 443 in the predefined list of available servers
- Ask again for root permissions after an upgrade
- Add iptables cleanup procedure in the Advanced settings
- Upgrade gradle, EventBus, setools-android, android-rate, showcaseview, dashclock-api
- New library: vntnumberpickerpreference
- bugfix when busybox replaces toolbox/toybox
- bugfixes
Override DNS is #malicious-harmful!?
Hi guys,
my app is temporarily out of the Play Store. I hope it’s really a temporary thing.
It seems that my last beta (beta78), the one available only to the beta testers, was not compliant to the 4.4 section of the Developer Distribution Agreement. But let me explain in the right order.
50 minutes ago I received an e-mail from the Google Play Support. It was notifying me of some kind of violation. The e-mail was referring to the app: “Virtual Button ROOT MENU” (package ID jp.ne.neko.freewing.VirtualButtonRootMenu
).
It seems that that app, which disables SELinux, violates the Developer Distribution Agreement
Don’t transmit or link to… items that may introduce security vulnerabilities to or harm user devices, apps, or personal data.
OK.
I’m serious it wasn’t some kind of phishing, they simply sent me the right notice but referring to someone else.
My latest beta has an advanced option which, if chosen, temporary lowers the device security by disabling SELinux on the device. It applies the DNS and brings SELinux back again. So it seems I’m guilty.
And now
Disabling SELinux is not approved by the Play Store.
In my humble opinion it was not so obvious, but anyway, I repackaged a stable release and a beta without the SELinux thing. I’m waiting to see my app online again.
Install UBCD on a bootable USB stick
Download UBCD
There are several options to download a copy of UBCD iso, all listed on the dedicated page. A good way is to use torrent (here’s the magnet link).
Indetify your USB device
Please be careful here, if you are wrong, you are going to delete the wrong disk.
I’m not responsible of any data you loose.
There are few ways to detect the right USB device, I usually take a look do dmesg
output
$ dmesg | grep -A8 'Direct-Access'
[ 844.712601] scsi 6:0:0:0: Direct-Access Generic Flash Disk 8.07 PQ: 0 ANSI: 2
[ 844.713050] sd 6:0:0:0: Attached scsi generic sg2 type 0
[ 844.716347] sd 6:0:0:0: [sdc] 15663104 512-byte logical blocks: (8.01 GB/7.46 GiB)
[ 844.716774] sd 6:0:0:0: [sdc] Write Protect is off
[ 844.716780] sd 6:0:0:0: [sdc] Mode Sense: 03 00 00 00
[ 844.716969] sd 6:0:0:0: [sdc] No Caching mode page found
[ 844.716972] sd 6:0:0:0: [sdc] Assuming drive cache: write through
[ 844.719175] sdc: sdc1
[ 844.720364] sd 6:0:0:0: [sdc] Attached SCSI removable disk
In this case I’m sure that the device is sdc
because I’ve only one disk with 8GB of storage.
I’ll use sdc
in this document, you should use your device name, it’s really important.
Format the USB stick
Be sure that the OS you are running have not automatically mounted any previous partition on the stick:
$ sudo umount /dev/sdc*
Then you could use GParted or do it manually as I like.
$ sudo parted -s /dev/sdc mklabel msdos
$ sudo parted -s /dev/sdc mkpart primary fat32 0 700
$ sudo parted -s /dev/sdc set 1 boot on
$ sudo mkfs.vfat -F32 /dev/sdc1
$ sudo parted -s /dev/sdc print
Model: Generic Flash Disk (scsi)
Disk /dev/sdc: 8020MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 512B 700MB 700MB primary boot, lba
Extract ISO data on a folder
$ mkdir ubcd534
$ sudo mount -o loop,ro ubcd534.iso /mnt/misc/
$ rsync -avr /mnt/misc/ ubcd534/
$ sudo umount /mnt/misc
Copy ISO data to USB
$ sudo mount /dev/sdc1 /mnt/misc/
$ sudo rsync -rtv ubcd534/ /mnt/misc/
$ sudo umount /dev/sdc1
Make the USB device bootable
$ cd ubcd534/ubcd/tools/linux/ubcd2usb
$ chmod +x syslinux
$ sudo ./syslinux -s -d /boot/syslinux -i /dev/sdc1
Statically compile redis 3.0.2 on CentOS 5 (RHEL 5)
How to statically compile redis 3.0.2 on CentOS 5 (RHEL 5)
wget http://download.redis.io/releases/redis-3.0.2.tar.gz
wget http://prdownloads.sourceforge.net/tcl/tcl8.5.18-src.tar.gz
Install tcl8.5
tar xfz tcl8.5.18-src.tar.gz
cd tcl8.5.18/unix
./configure
make
make test
make install
Compile redis
Statically linked binaries
make CFLAGS="-static" EXEEXT="-static" LDFLAGS="-I/usr/local/include/"
Dynamically linked binaries
make LDFLAGS="-I/usr/local/include/"
How to manually install redis
cd src/
cp redis-{server,cli} /usr/local/bin/
chown root: /usr/local/bin/redis-{server,cli}
chmod 755 /usr/local/bin/redis-{server,cli}
mkdir /{var,etc}/redis /var/redis/6379
chmod 775 /{var,etc}/redis
cp redis.conf /etc/redis/6379.conf
sed -i 's/daemonize no/daemonize yes/' /etc/redis/6379.conf
sed -i 's,pidfile /var/run/redis.pid,pidfile /var/run/redis_6379.pid,' /etc/redis/6379.conf
sed -i 's/^# bind 127.0.0.1/bind 127.0.0.1/' /etc/redis/6379.conf
sed -i 's,logfile "",logfile "/var/log/redis_6379.log",' /etc/redis/6379.conf
sed -i 's,dir ./,dir /var/redis/6379,' /etc/redis/6379.conf
Useful aptitude commands
A simple list of installed packages
max@wonko:~$ aptitude search '~i' -F '%p'
Search for installed packages from the testing repo
max@wonko:~$ aptitude versions '~i ~Atesting' --group-by=none
Finding why a package is installed
I found fonts-font-awesome
in my headless server, but there’s a reason
max@wonko:~$ aptitude why fonts-font-awesome
i owncloud Depends fonts-font-awesome
Select packages that were removed but not purged
max@wonko:~$ aptitude search '~c'
Search in the package description
max@wonko:~$ aptitude search '~d"web browser"'
Upgradable packages
max@wonko:~$ aptitude search '~U'