Updated on November 1, 2017
When creating a webapplication or API it’s important to test how well your site will work under heavy load, it’s easier to prevent any problems beforehand, compared to doing it when you find out your server is getting swamped with requests.
Updated on November 26, 2017
Update, I have a new philips babycam, and rooted it again, so I added some more info.
This is an older post, and after having contacted philips, they told me they had received a report of this issue months prior to my report. In the new firmware these problems don’t exist anymore, this doesn’t mean that the b120n is flaweless, because when you reset the babycam it reverts back to the old firmware, and you can root it.
I wanted to try rooting my B120N cam, and tried to follow Paul Prices Owning Philips In.Sight IP Cameras But unfortunately Philips decided to close all interesting ports in the firmware version my cam was running.
I did find a way to gain root access, and I wanted to add a recording of the process so you can try it yourself..
I setup my linux box as ‘router’ with mitmproxy and a hotspot, connecting my ethernet port and directing traffic trough hotspot -> mitmproxy -> internet
In short the steps you need to do:
- Install mitmproxy on your pc / notebook (plenty of good tutorials available online), to be able to capture traffic and alter responses
- Setup a hotspot, where you will connect your phone and camera
- connect your phone, run the insight app, and configure your cam / scan the qrcode
- Now your camera will connect to the wifi, once the insight app asks you if you want to ipgrade press i in mitmproxy and set the filter to .* to capture all traffic and halt on every request
- click yes on the upgrade prompt in the insight app
- press ‘a’ key to allow the requests per line, untill you reach the upgrade_fw.sh line (don’t press a on that line, we want to modify this request)
- hit enter on the upgrade_fw.sh and press ‘e’ to edit the request
- there will be an option to edit the url (I think it’s ‘u’) then point the request url to ‘http://yoururl.com/upgrade_fw.sh) where you set your own shellscript and ssh_config gile) and press enter, and hit ‘a’ to allow the request to complete.
- Your now have rootaccess to your camera.
below you can find a sample upgrade_fw.sh and sshd_config you can use to complete the rooting.
For this setup I used mitmproxy to capture the traffic from the B120N when it was freshly connected to my wifi network.
When opening the mobile application I immediately got a message to update my cams firmware, when I hit update I saw multiple requests passing through:
Updated on December 12, 2016
I recently found this tutorial to convert the HC-SR501 PIR Motion sensor, to allow it to run on 3.3V, so I thought I would give it a try, to use it with my whisper node, and make it count the amount of people passing the sensor, trying to make it run on a coincell battery.
Updated on December 9, 2016
I was looking for a good way to group logs from different webapplications into one managable place, without too much configuration work on the different webservers, since some run on shared hosting, and some have different setups.
I came across Paper Trail App A hosted log management tool, which gives you the ability to aggegrate logs from different places into one location, and here you can filter and group different webservers together, and search the log history.
Updated on December 2, 2016
I have been using Telerik Platform for some time now, I was quite happy when using the trial, but since I have taken a $39 monthly developer subscription to create my mobile applications, I have had some great features gone missing 🙁
Updated on October 16, 2016
I made a simple shellscript it will:
- dump a few databases
- create a tar.gz from them
- scp a copy of the tar.gz to my backups folder on a remote server, this way I will always have a backup of my most important databases on a remote location.
mysqldump db_name1 -u myUser -pMypassword > db_namedump1$(date +%F_%R).sql
mysqldump db_name1 -u myUser -pMypassword > db_namedump2$(date +%F_%R).sql
mysqldump db_name1 -u myUser -pMypassword > db_namedump3$(date +%F_%R).sql
tar -czf ./backups/$FILENAME *.sql
scp ./backups/$FILENAME backupusername@myRemoteServer.com:backups/
Just save it in a file, and add it to your cronjob (crontab -l) I run it every 4 hours, by adding this to my crontab:
0 */4 * * * /home/user/db_backup.sh
Updated on February 28, 2017
I’m working on a small project for a client who uses a shared hosting environment. In order to use some sort of versioning, I setup git-ftp so I can work on my development server and push the changes with git-ftp to the shared hosting ennvironment. This way I will not need to do any manual file picking and uploading. After the first git-ftp init command (where it will upload the complete folder) you can git-ftp push, so it will only push the changed files from the commits.
I had a small hickup setting it up, the git-ftp init would hang for 15 minutes and then display an error, so I ran it again with git-ftp init -v to see what was going on, turns out it connected but default git-ftp tries to use epsv connection, which wasn’t supported, so it was just connecting showing connected, with last message TYPE A, and them waiting for a response and timing out after a set time.
in order to run in PASV mode directly you can use git-ftp init –disable-epsv
Updated on April 22, 2017
Mailchimp is a great and versatile web application used by lots of websites, it’s easy and secure. But correct implementation by the developer is needed to keep your subscriber data safe, with so many users using Mailchimp, it’s imporant to correctly implement mailchimp security.