If this blog helped you in any way (professionally), please donate a dollar here

Friday, July 7, 2017

Logging PF Firewall on Mac OSX

Steps to enable logging for pfctl utility on newer osx like Yosemite, Sierra:


Add "log" to all rules in "/etc/pf.conf" or which ever PF configuration file you have.

Also set the logging interface with:

set loginterface pflog0

on the top of the PF config file.

Create a virtual interface with:

sudo ifconfig pflog0 create

Now start viewing packets which match the rules you logged with this:

sudo /usr/sbin/tcpdump -lnettti pflog0

At the end do:

sudo ifconfig pflog0 create

Monday, June 26, 2017

Fast download with Golang

Hey all, people keep saying about how great the concurrency is in golang. To be honest, I am pretty much a novice in this.

So just wrote a download accelerator in golang using it's much awesome parallel feature, the source of which can be found here: https://github.com/rghose/go-parallel-downloader

Here are a few results:

URL DownloadedTime taken by wgetTime taken by Golang

This was with GOMAXPROCS=2, threads = 5  with Chunk Size = 10 KB

So well, the chunk size of download did make a lot of difference, since the number of connections to download the thing would decrease, too many connections does not help in speed up

Tuesday, June 20, 2017

Get brightness levels on jailbroken ios devices

One liner:

idevicediagnostics ioreg IOPower | grep -A7 'brightness' | tail -n1 | egrep -o '\d+'


idevicediagnostics ioreg IOPower

This gives a lot of hardware info!

Monday, May 15, 2017

ADB Disable bluetooth on non-rooted devices

Here's a script to disable Bluetooth from non-rooted devices:

adb shell <<__eof
  input keyevent KEYCODE_WAKEUP;
  wm dismiss-keyguard;
  am start -a android.bluetooth.adapter.action.REQUEST_DISABLE;
  is_open=`dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' | grep 'com.android.settings/com.android.settings.bluetooth.RequestPermissionHelperActivity'|wc -l`
  if [ $is_open = 0 ]; then exit; fi
  sleep 1;
  input keyevent KEYCODE_DPAD_RIGHT;
  input keyevent KEYCODE_DPAD_RIGHT;
  input keyevent KEYCODE_ENTER;

No warranties!

Thursday, May 11, 2017

Install mp4box on centos

Google behaved rather strangely today when I wanted to see how to install "Mp4Box". Yum search gave naught, so I decided to google this. On the hindsight maybe I needed better yum search fu for this.

As I was searching through the ways of installing MP4Box on Fedora / Centos I came up with installation instructions that asked me to build the application from source. Even the official website:  https://gpac.wp.imt.fr/mp4box/ provides no explanation on how to do it. They just have the official windows, debian and ios installers. It also offers an explanation to build from source on other linux-es.

While all this confusion is going round, the dude who had the requirement to simple and install gpac, since that is the name of the project! Well, guess what, it worked. So, here's how you install MP4Box on Fedora or CentOS :

Friday, April 28, 2017

RVM Ruby Execution with launchctl on osx

This addresses a problem that goes like this:

You want to create a launch file for launchd (launchctl) to run a ruby file periodically or as a daemon.

Various solutions to this problem include creating an RVM alias for the particular ruby version you want to use. Here I present a working version without aliases, just uses the default RVM Ruby. Please not that, for me, the default rvm ruby is 2.2.5.

When you create a sample plist file like this:

The rvm environment does get initialized. You get lots of gem issues.

The trick here lies in not running ruby but:


Simply use:

Ruby and RVM environments are now correctly updated.

Yeah and you don't need to create any aliases. It will work perfectly fine.