Palmnet, Router, Wim, Phil...and other stuff news!

Palmnet News
Palmnet news? Shock horror!
Well, not much news.

Currently doing some slow work to update the shout box code for the next version. Decided to ditch using JSON for posts and settings data as it would require PHP5+ hosting only, which although is a good thing and would boost the need for PHP5 even more, it might also restrict my user base.
Instead I'm using the var_export(); function to dump an array into a .php file along with some PHP tags and other formatting.
This means I can just include the file and the variable is done with all the data in it! Nifty!
Some slight security issues though, but it's still early days, so yet to test out everything.

Job hunting!
Palmnet has started to pimp himself out to the highest bidder.
Slight issue in his CV which was pointed out, much to my embarrassment! I said I was born in 1891 instead of 1981...whoops!
Only 98 years off, slight typo, easy mistake to make!
Anyway, hoping to hear back off a few other companies, most seem unsure as I decided to openly admit I want to go to university instead of telling them a lie and saying I'd love to work full time for them and then screw them over later by buggering off to uni. Because I'm nice like that ;)
Anyway, if any random companies happen upon this post and fancy hiring a web developer with experience in PHP, MySQL and a little bit of everything else then give me a shout.

New content?
Yup, I'm considering a big tool-drive and random content push to plump out Palmnet.
It just seems a bit bare nowadays. I remember when Palmnet had Flash games programmed by me and others, image galleries, forums...Course, it were all grass and fields then...
I might just write a forum after I finish the new blog. Or perhaps some other stuff to keep the Palmnet-love levels up!

Router News
Remember my futile router hacking?
Well, after much confusion with a few things I decided to be cheeky and actually email Belkin tech support asking for their source or some help.
First reply went as follows:
Hi Nick,

Thank you for contacting Belkin Technical Support.

We understand that you have issues while using the Linux commands.

We are sorry to let you know that Belkin routers won’t support
LINUX operating system.
We do not have drivers to get this work.

Nick, if you need further assistance please feel free to write to
us or call us on 08456077787.

You can also contact us through our online chat support at:
http://www.belkin.com/support/networkingsupport.asp

Regards,
Suzane Taylor
Belkin Technical Support
I hate it when tech support people completely miss the point!
So I sent them an angry email back. Not only did she misinterpret the question completely, but she gave rubbish help!
How a router needs drivers on my PC is beyond me. Let alone the fact I told her I used windows XP Pro, I even gave her a screenshot of me using windows!

Anyway, here's the reply:
Dear mr Palmer,

The F5D7633 router does indeed have a GPL based OS. As such, to comply with the terms of the
GPL license the source code has been made available here:

http://web.belkin.com/support/gpl.asp

If you wish to look around at the router`s filesystem and alter files then you are very welcome
to try and do so. However, we can offer no support, nor any information other than that found
at the location above.

best regards
Daniel Powis
Technical Support Escalations Coordinator
Belkin Ltd
Aside from some bad grammar skills with his capitalisation, he was great!
I now have the full source to all the Belkin tools, and the custom version of BusyBox they run!
Grab it HERE if you too want it, though I doubt you would!

If all goes well I may end up making a project page about hacking Belkin routers, depends if I can fiddle with the FS yet.

Wim News
Wim, of previous Palmnet blog script 'NanoBlog' fame, has written a sweet article on his blog, Fixnum.org
Anyway, the article is about a script he wrote, ProxyBASH.
Basically it lets you get round a proxy that some institutions might have in place to limit your webernet access.
Wims article is great for tech heads but it seemed to me earlier in a conversation that he might have some issues trying to get across his ideas to the average Joe.
So here is how I explained it back to him:
So that thing wraps up the data from, say, IRC.
Shoots it to your home PC via your works proxy server on port 443.
Then your home pc unwraps it and sends it on it's merry way to the real server.
Anyway, if you're having issues trying to avoid the blocks at school or work and need to download torrents, chat on IRC or surf nawty websites, then Wim has the solution!

Phil News
Phil always wants a mention, so here it is.
He's on holiday at the moment, hasn't done any interesting projects and has given me little to talk about here.
But here's his requested link to his site: http://www.pwnet.org.uk/


Updates! And stuff

Updates

Ok, so there's more than meets the eye to the updates with Palmnet.

This time it really is a LOT more secure and makes my life a breeze now. It's also wider to let you guys see more content, which is always a bonus. Another good point is that it's a few steps closer to being viable for OSS, which will mean that some of you might actually be able to have a sweet site like me ;)

In other update-news, I started and soon finished an odd little VB6 toy when I was last messing with the NetTest and such, go check it out: http://software.palmnet.me.uk/files/radar_avoid.exe

I also am about 50% done with the new blog script. The new blog should be just like this...only it'll actually work!
Some of the functionality of BoastMachine will be left out because it's pointless, and I'll hopefully have a small and safe blog at the end of the day. Which is hopefully going to be soon.

And going back to my post on hacking my router...Great progress!
Just today I managed to find out that I can list files and such using the echo command, how I didn't know this before is anyones guess.
I also managed to find out that there is a secret command, sh, that takes me into the BusyBox shell:

> sh


BusyBox v1.00 (2006.03.27-10:18+0000) Built-in shell (msh)
Enter 'help' for a list of built-in commands.

# help

Built-in commands:
-------------------
        . : break cd continue eval exec exit export help login newgrp
        read readonly set shift times trap umask wait [ busybox cat cp
        df dmesg echo expr false ifconfig init insmod kill klogd ledctrl
        linuxrc ln logger logread lsmod mkdir mount msh ping ps pwd reboot
        rm rmmod route sendarp sh sysinfo syslogd tar test tftp tftpd
        true tty vconfig wget

#

How nifty is that!

Main problem is that the filesystem is read-only. But as you can update the firmware there must be a way round it...it's only a matter of time :P
I'm thinking about mounting one of the various things in /dev/ to see what happens, there's a fair few things in /dev/:

# echo /dev/*
/dev/bcm /dev/bcmaal20 /dev/bcmadsl0 /dev/bcmatm0 /dev/bcmendpoint0 /dev/bcmles0 /dev/bcmvdsl0
/dev/brcmboard /dev/console /dev/initctl /dev/kmem /dev/log /dev/mem /dev/mtdblock0 /dev/mtdblock1
/dev/mtdblock2 /dev/mtdblock3 /dev/mtdblock4 /dev/mtdblock5 /dev/mtdblock6 /dev/mtdblock7 /dev/null
/dev/port /dev/ppp /dev/printer0 /dev/ptmx /dev/ptyp0 /dev/ptyp1 /dev/ram /dev/ram0 /dev/ram1
/dev/ram2 /dev/ram3 /dev/tty /dev/tty0 /dev/tty1 /dev/ttyS0 /dev/ttyp0 /dev/ttyp1 /dev/zero

Still, if anyone has any ideas on what I could do with my router now I can fiddle, or knows how to get round it being read-only, gimmie a shout, please!

Oh, and for the more geeky among you:

# cat proc/cpuinfo
system type             : 96348GW-10
processor               : 0
cpu model               : BCM6348 V0.7
BogoMIPS                : 254.77
wait instruction        : no
microsecond timers      : yes
tlb_entries             : 32
extra interrupt vector  : yes
hardware watchpoint     : no
VCED exceptions         : not available
VCEI exceptions         : not available



Router Hacking Fun!

Router Hacking Fun!

Ok, well in my last post I gave you the little network testing program I wrote, NetTest.exe
Only a simple program, but it's led me on quite an adventure the past few hours!

It started off last night...
I've playing with webservers and the NetTest program, sending them silly requests and seing how they handled it and such.
Part of the usual HTTP1.1 header is the server version, like "Server: Apache/1.0". An interesting one is Google who have their own server software: "Server: GWS/2.1" which I guess is the Google Web Server, version 2.1
Anyway, that's all fun and games but then I realised my router (A Belkin Wireless G - F5D7633-4) has a web interface...But what server does it run?

Here's how the thing went down:
[[Connecting...]]
[[Connected]]
  >> GET / HTTP/1.1
User-Agent: NetTest/1.1
Host: 192.168.2.1:80


  << HTTP/1.1 200 Ok
Server: micro_httpd
Cache-Control: no-cache
Date: Thu, 19 Jul 2007 20:29:15 GMT
Content-Type: text/html
Connection: close

And that was that, "Server: micro_httpd".
Rather nifty eh! I now knew that my router runs Linux and uses micro_httpd to run it's web interface.
But if it runs Linux...what else might it be running apart from a web server?
FTP = Connection refused
Telnet = Connection refused
SSH = Connected!

Wow! My router runs a SSH daemon? Sweet!
[[Connecting...]]
[[Connected]]
SSH-2.0-dropbear_0.36

But that was it, no response to any messages sent...time for puTTY!
However, it wouldn't connect. I tried various methods but it either got a connection refused or timed out.

Enter cygwin!
After downloading, installing packages and making sure I installed the OpenSSH client I set to work once more...

And this time, succes! I got a prompt for a password:
Nick@LAPTOP2 ~
$ ssh admin@192.168.2.1
admin@192.168.2.1's password:

But whats that password? Thanks to Wim I managed to get in with the same as I use on the web interface luckily, and I was in and greeted by the oh-so-helpful ">_"
Typing in "help" gave me the following commands:
?
help
logout
reboot
adsl
atm
brctl
cat
ledctrl
df
dumpcfg
echo
ifconfig
kill
arp
defaultgateway
dhcpserver
dns
lan
passwd
ppp
remoteaccess
restoredefault
route
save
swversion
wan
ping
ps
pwd
siproxd
sntp
sysinfo
tftp
wlctl

Yup, a whole bunch of router-related commands and a couple of basic Linux commands.
Main downside was that there's no "cd" command or "ls" to see what files I could play with.
However:
> sysinfo
Number of processes: 32
  8:47pm  up 9 days, 19:46,
load average: 1 min:0.00, 5 min:0.00, 15 min:0.00
              total         used         free       shared      buffers
  Mem:        14140        13384          756            0          880
 Swap:            0            0            0
Total:        14140        13384          756
32 processes eh? Lets see what I have running:
> ps
  PID  Uid     VmSize Stat Command
    1 admin       272 S   init
    2 admin           SWN [ksoftirqd/0]
    3 admin           SW< [events/0]
    4 admin           SW< [khelper]
    5 admin           SW< [kblockd/0]
    6 admin           SW  [khubd]
   19 admin           SW  [pdflush]
   20 admin           SW  [pdflush]
   21 admin           SW  [kswapd0]
   22 admin           SW< [aio/0]
   27 admin           SW  [mtdblockd]
   39 admin       304 S   -sh
   64 admin       752 S   cfm
  172 admin       156 S   pvc2684d
  227 admin       280 S   syslogd -C -l 3
  231 admin       240 S   klogd
  382 admin       196 S   sntp -s 129.132.2.21 -s 130.149.17.8 -t Greenwich Mea
  385 admin       740 S   telnetd
  386 admin       788 S   sshd
  388 admin       224 S   dhcpd
  393 admin      1008 S   httpd
  397 admin       400 S   pppd -c 0.38.1 -a 0.0.38 -u XXXXXXXXXXXXXXX@tiscali.c
  456 admin       200 S   /bin/dnsprobe
  460 admin       364 S   upnp -L br0 -W ppp_0_38_1 -D
  468 admin       304 S   reaim -e 88.104.196.109
  540 admin       388 S   siproxd --config /var/siproxd/siproxd.conf
  541 admin       388 S   siproxd --config /var/siproxd/siproxd.conf
  542 admin       388 S   siproxd --config /var/siproxd/siproxd.conf
 2082 admin       976 S   sshd
 2083 admin       992 S   sshd
 2088 admin       280 S   sh -c ps
 2089 admin       268 R   ps
Nifty.
And whats that I see? "385 admin 740 S telnetd"? Telnet server?
Yet to explore that one, can't seem to connect to it but will post later if I manage to get it to work.

Back to the commands list, lets see what OS we're running:
> cat --help
BusyBox v1.00 (2006.03.27-10:18+0000) multi-call binary

Usage: cat [-u] [FILE]...

Concatenates FILE(s) and prints them to stdout.

Options:
        -u      ignored since unbuffered i/o is always used
BusyBox it seems. Not looked into this but it seems so heavilly modified by Belkin I doubt I can play much.

I also noticed "df" and "tftp" on the command list:
> df
Filesystem           1k-blocks      Used Available Use% Mounted on
/dev/mtdblock0            1984      1984         0 100% /
tmpfs                      192       124        68  65% /var
We can see how the system is mounted and such. But without "cd" and "ls" I have no way to see what exactly is mounted.
However, tftp...that has ftp in it!
Wikipedia says this for TFTP.
So I got the lowdown on the "tftp" command I had available, but unfortunately I can only output the config file, and not the image :(
> tftp --help
BusyBox v1.00 (2006.03.27-10:18+0000) multi-call binary

Usage: tftp [OPTION]... tftp_server_ip

Update firmware image and configuration data from OR backup configuration
data to a tftp server.

Options:
-g      Get file. (Update image/configuration data)
-p      Put file. (backup configuration data)
-f      remote file name.
-t      i for image and c for configuration data.


Anyway, after all that, not much more I can do I don't think!
Still, it was a good giggle and if anyone has any ideas on stuff I can do to my router then please comment :)



Software! Mouse jiggling and network testing goodness!

Just lately I had to download a billion updates for steam, it said it would take 3 hours, it actually took nearer 5!
Anyway, as I'm a laptop user I have my laptop set to conserve energy by switching off the hard drive and the monitor and such after a bit of inactivity.
This is usually great as it saves me a bunch of battery time, but 5 hours....hmm.
I could go into the power settings and change it but then I remembered the "Mouse Jiggler" from a Digg article.

At the time it seemed so pointless, and it cost $30!
Now I needed one, so I found VB6 and got playing :)

Mouse Jiggler Pro
It soon became apparent I needed settings on this thing. So you can alter the jiggle speed and the amount of jigglyness.
There's also options to lock it to it's current position, so it doesn't stray too far off into a corner, or to have it free floating.
You can also set it to smooth which makes it do tiny jiggles.

Anyway, enough talk, download and play: http://software.palmnet.me.uk/files/Mouse_Jiggler_Pro.exe

NetTest
I also had a bit of a play with some old projects, and found I did a network tester app for when I wrote my VB6 webserver a year or so ago.
It still worked but it was buggy as hell and lacked some vital features.
So here's a re-design, in case any windows users here need to manually test some servers!
http://software.palmnet.me.uk/files/NetTest.exe


Tools! Yes, tasty tools! With snippets too

Well, I should be sleeping but instead I just had to code my latest in a whole series of Twitter tools!

Anyway, I've mentioned that I started a twitter thingy in PHP before, but since then it's now got themes, multi user support, last.fm integration....

Three flavours


Flavour 1
This is the basic one I made first.
It grabs the JSON Tweets from the Twitter API and uses them to put some basic Twitter info on an image, thus
Oooh, first version working!
It's also got basic colour themes! You can have it in basic grey, a nice shade of blue, red or even green. Wow!
And themes too

Flavour 2
This is the second edition.
The first one is HUGE, so this is more compact.
The fonts have to be jiggled about a bit to accommodate the smaller area better too, for example:
Back in black
However, this one also can grab the feed for you and your friends on Twitter, so if my Friend Wim posts a Tweet and it's more recent than one of my own, it'll show up if I use the friends command:
Showing t's post on microformat's feed
The above example shows microformat's feed, but a tweet from "t" because "t" is a friend of microformat and posted the most recent tweet.

Flavour 3
This is the third and so far final edition.
The first was cool, the second was neater, the third is basically the second, only this time it skips the whole multi-user approach and adds in a whole other site. Multi-site goodness!
So if you ever post a tweet that is similar to "listening to music" then it can grab the song you just listened to from your last.fm profile.
How cool is that!
Tweet that will trigger the last fm feed
Without giving it my lastfm ID
last.fm feed integration
Giving it my lastfm ID

Snippets!


I promised snippets, so here you are, but instead of snippets, hows about the full source? :D
Script 1
Script 2
Script 3

Live version


And here it is live.
Version 1:
Twitter feed image
Version 2:
Twitter feed image
Version 2 with friends:
Twitter feed image
Version 3 with last fm:
Twitter feed image


Page :  1