Linux Blog

Linux Tunneling Techniques

Filed under: Linux Software — TheLinuxBlog.com at 4:59 am on Wednesday, November 10, 2010


Video completely unrelated.
Ever tunneled or used tunneling for mobile Internet? Perhaps you have needed to otherwise tunnel to bypass a restrictive firewall or for a secure channel on an insecure wireless network. It seems that everyone knows how to tunnel using the ssh socks support and how to use Firefox’s about:config screen to set it to use a socks and remote DNS. While this is great for occasional web browsing it only takes you so far.

tsocks is a great application to let you tunnel other programs over socks. Its easy to install on most distributions and allows you to use many command line applications. I’ve used it on a number of occasions successfully and while it does its job its not the the best solution. This is because it was last updated in 2002 and doesn’t perform DNS lookups. I found myself using it to SSH to an IP address (memorized, or looked up through another SSH session) and using applications on the remote server.

proxychains is a bit of a better tunneling solution, it works the similarly to tsocks but It also resolves DNS and can chain multiple proxies. I’ve used it on numerous occasions with great success. ssh, lynx, lftp, irssi and a whole bunch of others work without any problems. Another plus is it has also been updated in the last 5 years (but not by much.)

One application I haven’t yet had the pleasure of trying on the desktop is 3proxy. I have used it on the iPhone but ended up using the ssh socks method more often. From its yum description and feature list, it sounds very promising and one definitely worth looking into.

Speaking from experience I know its kind of difficult to browse your distributions web repositories to find the files you need and install them (I had to do this since I didn’t have them) so I recommend you download these applications and save yourself some time before you need them on the road.

Best iPhone Error Message Ever

Filed under: The Linux Blog News — TheLinuxBlog.com at 11:45 am on Wednesday, December 9, 2009
Best iPhone Error Message Ever

Best iPhone Error Message Ever

Not Linux related at all but I thought it was funny.  So, yea. Ignore the giant DISMISS_ALERT button, that’s an error caused by me being stupid, but I thought the actual message was pretty funny.

After dialing a “special” number that I strategically obfuscated using gimp and then may have failed to upload the correct one. I get an:

“Error performing request, No Error”.

Although interesting, I now need to find some one without a jail broken phone to see if they get the same message just for the lols. Anyway this sort of stuff can be found all over the place, I just think its funny to find it on such a trendy hipster user oriented device.

Free issues of BSDmag / Linux+

Filed under: General Linux — TheLinuxBlog.com at 9:56 am on Friday, August 21, 2009

Thanks MG for giving the tip on some free issues of BSDmag / Linux+. When I went to check them out they were older articles (Fedora 6) on Linux but some interesting topics and still some relevant information. The BSD issues were newer. If your interested in the articles, you can read the comment on the Tether iPhone through the cable, on Linux post, or hit the jump. Here is a list of the free issues:
(Read on …)

Tether iPhone through the cable, on Linux

Filed under: General Linux — TheLinuxBlog.com at 10:02 am on Thursday, August 20, 2009

So you got an iPhone huh? perhaps you’ve got an SSH client and maybe you jailbroke your iPhone and have done some iPhone wifi tethering (That’s not the best way, and not free), but have you been able to use SSH through the cable? Me neither until a little while ago.

The benefits of connecting by the cable are slightly obvious to anyone who wants to do it:

BATTERY!
With your phone plugged in, you’ll get better battery life, or perhaps just prevent the battery from getting discharged any further.

No Wifi Setup
This was really the biggest problem for me, having to reconfigure wifi on my laptop then getting the laptop and phone to talk. Some times wireless connections mysteriously dropped or just acted plain funky. Any one who’s ever typed in a WEP key on the iPhone also knows what a pain it is, so not having to use Wifi is a plus.

Privacy
Since the cable is used, there should be no wireless network for others to fool around with.

Data Transfer Rates
I have not yet confirmed this, mostly because I’m lazy, partly because I don’t have the time to produce any stats but, 480Mbps with USB2.0 Vs. a theoretical 54Mbps on 802.11G

Enough already, how do I do it?
Thanks to Jing Su there is a LGPL’d piece of software called itunnel that can be found here. Installing itunnel will vary by distribution. It’s fairly straight forward on Fedora, provided you have the library libiphone installed you should be able to download, untar, make, and run.

Once you’ve installed itunnel, you run it by using:

sudo itunnel <port>

If you don’t specify a port it listens on port 3023.

Connect to localhost using your normal SSH Socks proxy method -D <port> and your username, default being mobile with your new port.

 ssh -D <yourport> -p 3023 mobile@localhost

Type “Yes” to accept the fingerprint (you may need to eventually change your fingerprint when you upgrade your phone) and then type in your password which should NOT be “alpine”, because you did change it right?

Once you’re SSH’d in, you can set up your browser to use the socks proxy as you would with Wifi tether version on the port you specified with -D.

There you have it, a way to Tether your iPhone through the cable on Linux! Rumor, (well not really a rumor, since I’ve used itunnel.exe) has it that this also works with a Windows box, just try to find a non-virus infected version of the iTunnel suite.

Happy Hacking!

Linux Users are Lazy

Filed under: Linux Video Tutorials,The Linux Blog News — TheLinuxBlog.com at 7:57 pm on Thursday, May 7, 2009

Some one told me once that all of the good system administrators are lazy, I believe this but I also think that Linux users are lazy. While I’m not a full time systems administrator, I am a full time Linux user. I sometimes think that I’m so lethargic that I don’t have the energy to turn on a light switch. Hence why I did this (youtube video)

If you couldn’t make it out from the crappy iphone video, it’s my house, I show the circuit, turn the light off, walk in the closet and walk back out again. It’s a rather simple circuit consisting of a switch wired to a halogen light I brought from Ikea. In true open source fashion, if any one is interested in this, let me know and I’ll share how I did it if you can’t figure it out.

Reasons Why You Should Jailbreak YOUR iPhone

Filed under: General Linux — TheLinuxBlog.com at 12:10 am on Wednesday, January 28, 2009



I’m pretty sure that most Linux users understand what jailbreaking the iPhone is. For those that don’t in short its a way of breaking the restrictions Apple put on your phone, which allows you to escape the sandbox and do more with the phone.

Sure, jailbreaking may void your warranty (or may not) but why would you want to do it? Well the first and foremost reason is freedom.
Some of the greatest organizations in the open source industry were spawned from the inability to work with a particular device. I think jailbreaking your iPhone is similar to this, while the tools are so easy to use that any one can do it, jailbreaking your iPhone gives you the freedom to do what you want with it and this is what its all about right?

Bash. We all know that Mac OSX is based off of BSD and it just so happens the iPhone is too. By jailbreaking your phone part of the default installation (depending on how you do it) is a terminal with a bash shell. Most Linux users should be right at home here with utilities like apt-get, aptitude and ping.

Perl, Python, Java, PHP. These are some of the languages that you can configure to run on the iPhone. Sure, they may need some tweaking (especially Perl.) But it can be done. Who said iPhone development had to be done in Objective C?

Along with the Bash shell comes the Open SSH package giving you the ability to SSH into your phone, should you choose to install and configure. This can come in very handy for the Linux hacker. The ability to pretty much manipulate your phone however you want is a great reason to jailbreak.

You’ve always wanted to be able to record video right? Well you can, that is if you jailbreak and install an application. While the video quality is not exactly up to par its better than nothing. You could even turn your phone into a robot if you wished.

Also, do it because the Woz says so. Well, actually he didn’t explicitly say to do it, but apparently he does advocate it and “hacked” some chick called Griffin’s phone. So come on, be that “Throbbing brain with a tie” and jailbreak your iPhone.

Simplify Media: How’d they do that?

Filed under: General Linux — TheLinuxBlog.com at 4:39 am on Tuesday, August 19, 2008

By now every bodies probably heard about the SimplifyMedia.com service which just released an application for the iPhone / iTouch that basically lets you stream your, or your friends music though your phone. Its integrated with iTunes, Winamp and RhythmBox on Linux which is pretty cool. I think this is a neat idea and started thinking: “How’d they do that?”

It seems like it would be pretty difficult to achieve something like this, but in fact the concept is quite simple.

iTunes has a DAAP server built in for multimedia streaming media. What Simplify Media does is connect the stream to their server and then when another client (iPhone app / friend) logs in, if the Simplify Media application is running (on your PC) it lets you know and lets you start streaming it.

I have not analyzed to find out the EXACT method of how it works quite yet but I assume that it either uses Simplify Media’s bandwidth to stream (over https) or creates a reverse connection some how. If any one knows the details I’d be interested to know.

My other thoughts / questions on this are:

Will there be a free DAAP client available for the iPhone / iTouch?
Wouldn’t it be cool if you could record the streams?
How long before Apple pulls this application?
Will AT&T or Simplify Media kick you off, throttle, or even worse charge you for using this service?
If they are using Simplify Media’s bandwidth how are they making money?
How long will it be or will there ever be an open implementation of this?

I can’t really answer any of these questions so, if any one wants to take a stab at answering them go for it!

Voip on the iPhone

Filed under: General Linux — TheLinuxBlog.com at 1:18 pm on Wednesday, August 13, 2008

A friend sent me an article from the register on VoIP today (http://www.theregister.co.uk/2008/08/12/iphone_voip/)

Now, it states that voip for apps on the iPhone could only be used if cost is an issue. I think that voip on phones is a good idea, even if voip is not on phones it can still be implemented very well. They state that 35 GBP will get you 10 hours of talk time, while this seems like a lot, how much international time is that? With an Asterisk box one can easily set up a voip trunk that would allow its owner to dial in and call internationally for the cell cost of local minutes and the cost of the voip provider. This could potentially save a lot of money.

With every plan, you get unlimited data. If you only get 450 minutes with your plan, you could use a native application with unlimited data to talk more.  I’ve also thought about creating “push-to-talk” PTT, sort of like the other walkie talkie services offered. If you could do this with Voip, it wouldn’t be limited to cell phones like the other major services are, people at their laptops or desktops could also participate where cell phone coverage isn’t available.

I’d like to see more people take advantage of Asterisk and start creating innovative phone services. I don’t think that having an application that utilizes VoIP would necessarily be a bad thing. I actually think that VoIP on the iPhone is a good idea and will continue to do so until it starts interfering with the providers income and in result interfering my bill.

iPhone SSH Client – Update

Filed under: General Linux,Linux Software — TheLinuxBlog.com at 8:35 am on Friday, July 11, 2008

I decided not to go ahead and purchase an iPhone just yet. What that means is I will not have a need for a SSH client. Once I get an iPhone its my first thing to do. The client would probably be released for free, or with optional support / donation.

So,  if there are any companies or organizations that need an iPhone SSH client, consider sponsoring the development in the form of an iPhone. In return I will give the community a free SSH / SCP client and that the donor free lifetime support.

This post is an update to: http://www.thelinuxblog.com/iphone-ssh-client/

iPhone SSH Client

Filed under: General Linux — TheLinuxBlog.com at 2:34 pm on Monday, June 9, 2008

For those of you that have been following me for a while may remember my post titled Phones Meet Linux on iPhone alternatives and how I probably would not buy an iPhone. Today the iPhone has another alternative: its self. Apple announced the release of a new version of the iPhone. I’m sure your all familiar with this by now since its been rumoured for months but now its been announced.

So, with the announced release of the iPhone I’m happy to see that developers can now develop and distribute applications for the iPhone. Now I’m wondering how long it will be before there is a SSH client in the application database for the iPhone. System monitoring applications would also interest me. Among this they have also dropped the price, it will only be a matter of time before they run out.

What does this mean for open source developers? I cannot say I know the answer to this question yet. Is Apple going to allow open source projects to be distributed through their network? Wouldn’t it be nice? Free applications for the iPhone that are better than paid versions would be killer. What are your thoughts on this?

Facts About Selenium

Filed under: General Linux,Linux Software — TheLinuxBlog.com at 9:22 pm on Friday, March 28, 2008

Selenium is a chemical element. What you may not know is that Selenium is also a powerful testing tool for web applications. Selenium runs its tests directly in a browser, just like real users do. It is cross platform and the developers plan to have it for the iPhone but thats another story. Selenium can run in one of two modes Core and Remote Control (RC). The RC method has a way of using distributed computing much like the way Samba allows cross compiling over multiple cpu’s. There is an IDE for Selenium that can be used to easily learn Selenium.

Enough Facts About Selenium already!

What exactly can you do with Selenium?

Well, the answer is simple. Pretty much anything that you can do with a browser Selenium can do. Its primary purpose is for developers to use as a quality assurance tool. For QA purposes you can create a test cases, run them and verify that the end result is what you expected. You can create test cases in Java, Ruby, Python, Perl, PHP or .NET.

I had a little trouble getting the Selenium driver for PHP installed so here is the how to:

sudo su
pear channel-update pear.php.net
pear install Testing_Selenium-beta
pear install PHPUnit
exit

The above allowed me to communicate with the Selenium Remote Control that I downloaded with PHP. Here is an example from their website that I have modified so that it works:

<?php

set_include_path(get_include_path() . PATH_SEPARATOR . ‘./PEAR/’);
require_once ‘Testing/Selenium.php’;
require_once ‘PHPUnit/TestCase.php’;

class GoogleTest
{
private $selenium;

public function setUp()
{
$this->selenium = new Testing_Selenium(“*firefox”, “http://www.google.com”);
$this->selenium->start();
}

public function tearDown()
{
$this->selenium->stop();
}

public function testGoogle()
{
$this->selenium->open(“/”);
$this->selenium->type(“q”, “hello world”);
$this->selenium->click(“btnG”);
$this->selenium->waitForPageToLoad(10000);
$this->testCase(“/Google Search/”, $this->selenium->getTitle());
echo “<hr>”;
$this->testCase(“/Yeahh Search/”, $this->selenium->getTitle());

}

public function testCase($regEx, $string) {

preg_match($regEx, $string, $matches);

print_r($matches);

}

}

$google = new GoogleTest();

$google->setUp();
$google->testGoogle();
$google->tearDown();
?>

Before attempting to run this you must make sure that you downloaded Selenium RC and that it is running. Selenium runs on Java so make sure that Java is installed download selenium from here, unzip and run the following in the directory that it is extracted to:

cd selenium-remote-control-1.0-beta-1
cd selenium-server-1.0-beta-1
java -jar selenium-server.jar -interactive

Once this is running you can start scripting with PHP to get Selenium to do anything that you want. Once you are done make sure that you exit the Selenium server by running the “exit” at the prompt.

I’m sorry about the format of this post, its been a while since I have used Selenium and I’m quite excited about it. If you have any questions about Selenium post them here and I will try to answer them for you.

Next Page »