<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Claus Witt &#187; hosts</title> <atom:link href="http://www.clauswitt.com/tag/hosts/feed/" rel="self" type="application/rss+xml" /><link>http://www.clauswitt.com</link> <description>software and web developer</description> <lastBuildDate>Thu, 24 Jun 2010 20:07:03 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <item><title>Using Quicksilver to edit hosts file</title><link>http://www.clauswitt.com/using-quicksilver-to-edit-hosts-file/</link> <comments>http://www.clauswitt.com/using-quicksilver-to-edit-hosts-file/#comments</comments> <pubDate>Wed, 04 Nov 2009 14:38:41 +0000</pubDate> <dc:creator>Claus Witt</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[applescript]]></category> <category><![CDATA[hosts]]></category> <category><![CDATA[quicksilver]]></category><guid isPermaLink="false">http://www.clauswitt.com/?p=322</guid> <description><![CDATA[This is mostly just a follow up for my previous post on using a shell script to add and remove test domains in the hosts file. I have created two small applescripts for use in Quicksilver to execute that script. If you need to use these you place them in ~/Library/Application Support/Quicksilver/Actions and set your [...]]]></description> <content:encoded><![CDATA[<p>This is mostly just a follow up for my previous post on <a href="http://www.clauswitt.com/2009/11/04/319/">using a shell script to add and remove test domains in the hosts file</a>. I have created two small applescripts for use in Quicksilver to execute that script. If you need to use these you place them in ~/Library/Application Support/Quicksilver/Actions and set your password. (Beware this could pose a threat, since you will have your password in cleartext on your harddrive).</p><p>The two scripts are almost identical. Actually the only difference is the action the shell script should call (add or remove). The rest of the scripts are completely the same.</p><p>I call this file addhost.</p><pre name="code" class="applescript">
using terms from application "Quicksilver"
	on process text txt
		set the_password to "YOURPASSWORD"
		repeat with delimiter_position from 1 to (length of txt)
			if character delimiter_position of txt = " " then exit repeat
		end repeat
		if delimiter_position = (length of txt) then
			set hostname to txt as string
			set ipaddress to ""
		else
			set hostname to characters 1 thru (delimiter_position - 1) of txt as string
			set ipaddress to characters (delimiter_position + 1) thru (length of txt) of txt as string

		end if

		do shell script "sudo hosts.sh add " &#038; hostname &#038; " " &#038; ipaddress password the_password with administrator privileges

		return nothing
	end process text
end using terms from
</pre><p>I call this file removehost.</p><pre name="code" class="applescript">
using terms from application "Quicksilver"
	on process text txt
		set the_password to "YOURPASSWORD"
		repeat with delimiter_position from 1 to (length of txt)
			if character delimiter_position of txt = " " then exit repeat
		end repeat
		if delimiter_position = (length of txt) then
			set hostname to txt as string
			set ipaddress to ""
		else
			set hostname to characters 1 thru (delimiter_position - 1) of txt as string
			set ipaddress to characters (delimiter_position + 1) thru (length of txt) of txt as string

		end if

		do shell script "sudo hosts.sh remove " &#038; hostname &#038; " " &#038; ipaddress password the_password with administrator privileges

		return nothing
	end process text
end using terms from
</pre><p>Now I am able to create a local domain by opening Quicksilver (double-control in my case) press period, write the domain name, press tab, and select the addhost action (ad is enough in my case). Removing is just as easy &#8211; the last step is just to select the removehost action (re is enough in my case).</p> ]]></content:encoded> <wfw:commentRss>http://www.clauswitt.com/using-quicksilver-to-edit-hosts-file/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Bash script for editing the hosts file</title><link>http://www.clauswitt.com/319/</link> <comments>http://www.clauswitt.com/319/#comments</comments> <pubDate>Wed, 04 Nov 2009 09:02:46 +0000</pubDate> <dc:creator>Claus Witt</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[bash]]></category> <category><![CDATA[easy creation]]></category> <category><![CDATA[hosts]]></category> <category><![CDATA[shell script]]></category><guid isPermaLink="false">http://www.clauswitt.com/?p=319</guid> <description><![CDATA[I just read a post about local development in apache by Jesper Rasmussen and thought one thing was missing. I usually test my sites and applications locally with the real domain &#8211; to ensure that functionality based on the url works as expected. However this means editing the hosts file several times a day. Now [...]]]></description> <content:encoded><![CDATA[<p>I just read a <a href="http://jesperrasmussen.com/coding-on-the-go-setting-up-local-apache">post about local development in apache</a> by <a href="http://jesperrasmussen.com/">Jesper Rasmussen</a> and thought one thing was missing. I usually test my sites and applications locally with the real domain &#8211; to ensure that functionality based on the url works as expected. However this means editing the hosts file several times a day. Now I have made a small shellscript that will add and remove lines from the hosts file.</p><pre name="code" class="bash">
#! /bin/bash
DEFAULT_IP=127.0.0.1
IP=${3:-$DEFAULT_IP}

case "$1" in
  add)
        echo "$IP $2"  >> /etc/hosts
        ;;
  remove)
        sed -ie "\|^$IP $2\$|d" /etc/hosts
        ;;

  *)
        echo "Usage: "
		echo "hosts.sh [add|remove] [hostname] [ip]"
		echo
		echo "Ip defaults to 127.0.0.1"
		echo "Examples:"
		echo "hosts.sh add testing.com"
		echo "hosts.sh remove testing.com 192.168.1.1"
        exit 1
        ;;
esac

exit 0
</pre><p>As you can see the script defaults the ip to 127.0.0.1 for easy creation of local domains. Next step is to create a quicksilver (and a gnome do) plugin for easy creation without ever touching the terminal. (Even though we all love the terminal, right?)</p> ]]></content:encoded> <wfw:commentRss>http://www.clauswitt.com/319/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using memcached
Page Caching using memcached (user agent is rejected)
Database Caching 6/23 queries in 0.019 seconds using memcached

Served from: www.clauswitt.com @ 2010-07-30 04:33:21 -->