<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Jon&#039;s FOSS Blog</title>
	<atom:link href="http://fossjon.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://fossjon.wordpress.com</link>
	<description>Anything networking, programming, crypto and security related</description>
	<lastBuildDate>Fri, 24 Feb 2012 01:54:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='fossjon.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Jon&#039;s FOSS Blog</title>
		<link>http://fossjon.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://fossjon.wordpress.com/osd.xml" title="Jon&#039;s FOSS Blog" />
	<atom:link rel='hub' href='http://fossjon.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Fedora ARM Image Installer (FAII)</title>
		<link>http://fossjon.wordpress.com/2012/02/15/fedora-arm-image-installer/</link>
		<comments>http://fossjon.wordpress.com/2012/02/15/fedora-arm-image-installer/#comments</comments>
		<pubDate>Wed, 15 Feb 2012 03:15:56 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=502</guid>
		<description><![CDATA[So my third &#34;git-worthy&#34; project is called the Fedora ARM Image Installer. It will basically allow one to &#34;easily&#34; convert an SD-Card into a bootable ARM media device. It is written in Python (2 &#38; 3 for Linux &#38; Windows) and it is based on the PyQt4 GUI framework giving it a more native feel [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=502&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So my third &quot;git-worthy&quot; project is called the Fedora ARM Image Installer. It will basically allow one to &quot;easily&quot; convert an SD-Card into a bootable ARM media device. It is written in Python (2 &amp; 3 for Linux &amp; Windows) and it is based on the PyQt4 GUI framework giving it a more native feel for each platform. Below are some screenshots and links! </p>
<p><a href="http://fedoraproject.org/w/uploads/7/71/Faii-win.png"><img src="http://fedoraproject.org/w/uploads/7/71/Faii-win.png" width="75%" height="75%" /></a></p>
<p><a href="https://fedoraproject.org/w/uploads/a/a0/Faii-nix.png"><img src="https://fedoraproject.org/w/uploads/a/a0/Faii-nix.png" width="75%" height="75%" /></a></p>
<p><b>Note:</b> To download the binary zip file, make sure to select the &quot;raw&quot; link beside it<br />
<b>Note:</b> To run this script, right click on the .exe file and select &quot;Run as Administrator&quot;</p>
<p><a href="http://git.fedorahosted.org/git/?p=arm.git;a=tree;f=faii/binary;hb=HEAD">Windows Binary</a><br />
<a href="http://git.fedorahosted.org/git/?p=arm.git;a=tree;f=faii/source;hb=HEAD">Linux Source</a></p>
<p><b>Wiki:</b> <a href="http://fedoraproject.org/wiki/Fedora_ARM_Installer">http://fedoraproject.org/wiki/Fedora_ARM_Installer</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/502/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/502/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/502/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=502&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/02/15/fedora-arm-image-installer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>

		<media:content url="http://fedoraproject.org/w/uploads/7/71/Faii-win.png" medium="image" />

		<media:content url="https://fedoraproject.org/w/uploads/a/a0/Faii-nix.png" medium="image" />
	</item>
		<item>
		<title>Fedora Losing My WiFi Inet&#8230;</title>
		<link>http://fossjon.wordpress.com/2012/02/14/fedora-losing-my-wifi-inet/</link>
		<comments>http://fossjon.wordpress.com/2012/02/14/fedora-losing-my-wifi-inet/#comments</comments>
		<pubDate>Tue, 14 Feb 2012 03:05:04 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=497</guid>
		<description><![CDATA[So Fedora has been disconnecting me a lot lately from my home wifi and I think it&#8217;s because I have disabled a lot of background services that I don&#8217;t need. Anyway, I&#8217;m trying something new: yum remove NetworkManager mkdir /etc/wifi wpa_passphrase "your_ssid_here" &#62; /etc/wifi/home.conf Run this script as root when wanting to connect to wifi [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=497&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So Fedora has been disconnecting me a lot lately from my home wifi and I think it&#8217;s because I have disabled a lot of background services that I don&#8217;t need. Anyway, I&#8217;m trying something new: </p>
<pre>
yum remove NetworkManager
</pre>
<pre>
mkdir /etc/wifi
wpa_passphrase "your_ssid_here" &gt; /etc/wifi/home.conf
</pre>
<p>Run this script as root when wanting to connect to wifi (assumes the wlan0 interface): </p>
<pre>
#!/bin/bash
pkil=`which killall`
intf=`which ifconfig`
scan=`which iwlist`
wpas=`which wpa_supplicant`
dhcp=`which dhclient`
ifce="wlan0"
while true
do
	ping -c 1 google.ca &gt; /dev/null 2&gt;&amp;1
	if [ $? -eq 0 ]
	then
		sleep 10
		continue
	fi
	for file in /etc/wifi/*
	do
		$intf "$ifce" up
		ssid=`cat $file | grep -i 'ssid' | sed -e 's/^[ \t]*ssid="//g' -e 's/"[ \t]*$//g'`
		exis=`$scan "$ifce" scan | grep -i "$ssid"`
		if [ "$exis" != "" ]
		then
			echo "[`date`] connecting to [$ssid]..."
			$pkil -9 wpa_supplicant &gt; /dev/null 2&gt;&amp;1
			$pkil -9 dhclient &gt; /dev/null 2&gt;&amp;1
			$intf "$ifce" up
			$wpas -Dwext -i "$ifce" -c "$file" &gt; /dev/null 2&gt;&amp;1 &amp;
			$dhcp "$ifce" &gt; /dev/null 2&gt;&amp;1 &amp;
			break
		fi
	done
	sleep 10
done
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/497/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/497/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/497/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=497&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/02/14/fedora-losing-my-wifi-inet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>Bored And Off Topic!</title>
		<link>http://fossjon.wordpress.com/2012/02/13/bored-and-off-topic/</link>
		<comments>http://fossjon.wordpress.com/2012/02/13/bored-and-off-topic/#comments</comments>
		<pubDate>Mon, 13 Feb 2012 06:43:35 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=494</guid>
		<description><![CDATA[Just wanted to see how many lines of Python it took me to make a generalized password bruteforce script&#8230; import time slst = "abcdefghijklmnopqrstuvwxyz" slen = (len(slst) - 1) dwrd = [0] dlen = 1 numb = 0 last = time.time() wait = 2 while (1): # process password i = 0 s = "" [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=494&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Just wanted to see how many lines of Python it took me to make a generalized password bruteforce script&#8230;</p>
<pre>
import time

slst = "abcdefghijklmnopqrstuvwxyz"
slen = (len(slst) - 1)
dwrd = [0]
dlen = 1

numb = 0
last = time.time()
wait = 2

while (1):
	# process password
	i = 0
	s = ""
	while (i &lt; dlen):
		s = (s + slst[dwrd[i]])
		i = (i + 1)
	# print stats
	numb = (numb + 1)
	pres = time.time()
	if ((pres - last) &gt;= wait):
		print("pw=[%s] @ [%d p/s]" % (s, numb / wait))
		numb = 0
		last = pres
	# overflow increase
	dwrd[dlen - 1] = (dwrd[dlen - 1] + 1)
	i = (dlen - 1)
	u = 1
	while (i &gt; -1):
		if (dwrd[i] &gt; slen):
			dwrd[i] = 0
			if ((i - 1) &gt; -1):
				dwrd[i - 1] = (dwrd[i - 1] + 1)
		else:
			u = 0
		i = (i - 1)
	# length expansion
	if (u == 1):
		i = 0
		while (i &lt; dlen):
			dwrd[i] = 0
			i = (i + 1)
		dwrd.append(0)
		dlen = (dlen + 1)
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/494/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/494/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/494/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/494/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/494/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/494/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/494/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/494/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=494&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/02/13/bored-and-off-topic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>Formatting Flat Files As Block Devices</title>
		<link>http://fossjon.wordpress.com/2012/02/09/formatting-flat-files-as-block-devices/</link>
		<comments>http://fossjon.wordpress.com/2012/02/09/formatting-flat-files-as-block-devices/#comments</comments>
		<pubDate>Thu, 09 Feb 2012 20:19:03 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=491</guid>
		<description><![CDATA[Here&#8217;s a small shell script based on dd&#8217;s output which helps to partition a flat file, split it up into its respective partitions so they can be formatted and put them all back together again. &#035;&#033;&#047;bin&#047;bash&#010;&#010;if&#032;&#091;&#032;&#034;&#036;&#123;1&#125;&#034;&#032;&#061;&#061;&#032;&#034;c&#034;&#032;&#093;&#010;then&#010;&#009;if&#032;&#091;&#032;&#034;&#036;&#123;3&#125;&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;then&#010;&#009;&#009;echo&#032;&#034;Usage&#058;&#032;&#036;0&#032;&#036;1&#032;&#060;filename&#062;&#032;&#060;filesize&#062;&#034;&#010;&#009;&#009;exit&#032;1&#010;&#009;fi&#010;&#009;echo&#032;&#034;Creating&#032;new&#032;file&#032;&#091;&#036;&#123;2&#125;&#093;&#046;&#046;&#046;&#034;&#010;&#009;dd&#032;if&#061;&#047;dev&#047;zero&#032;of&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;3&#125;G&#032;count&#061;1&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;echo&#032;&#034;Partition&#032;the&#032;new&#032;flat&#032;file&#032;&#040;&#032;fdisk&#032;&#036;&#123;2&#125;&#032;&#041;&#034;&#010;&#009;echo&#010;fi&#010;&#010;if&#032;&#091;&#032;&#034;&#036;&#123;1&#125;&#034;&#032;&#061;&#061;&#032;&#034;s&#034;&#032;&#093;&#010;then&#010;&#009;if&#032;&#091;&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;then&#010;&#009;&#009;echo&#032;&#034;Usage&#058;&#032;&#036;0&#032;&#036;1&#032;&#060;filename&#062;&#034;&#010;&#009;&#009;exit&#032;1&#010;&#009;fi&#010;&#009;unit&#061;&#096;fdisk&#032;&#045;l&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;Units&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#046;&#042;&#032;&#092;&#040;&#091;0&#045;9&#093;&#091;0&#045;9&#093;&#042;&#092;&#041;&#032;bytes&#046;&#042;&#036;&#047;&#092;1&#047;g&#039;&#096;&#010;&#009;lase&#061;&#034;&#045;1&#034;&#010;&#009;numb&#061;0&#010;&#009;fdisk&#032;&#045;l&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#091;&#032;&#092;t&#093;&#042;&#047;&#047;g&#039;&#032;&#045;e&#032;&#039;s&#047;&#092;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#094;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#091;0&#045;9&#093;&#042;&#034;&#032;&#124;&#032;while&#032;read&#032;line&#010;&#009;do&#010;&#009;&#009;curb&#061;&#096;echo&#032;&#034;&#036;&#123;line&#125;&#034;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#096;&#010;&#009;&#009;cure&#061;&#096;echo&#032;&#034;&#036;&#123;line&#125;&#034;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;3&#032;&#125;&#039;&#096;&#010;&#009;&#009;let&#032;size&#061;&#034;&#036;&#123;cure&#125;&#032;&#045;&#032;&#036;&#123;curb&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;let&#032;diff&#061;&#034;&#036;&#123;curb&#125;&#032;&#045;&#032;&#036;&#123;lase&#125;&#032;&#045;&#032;1&#034;&#010;&#009;&#009;if&#032;&#091;&#032;&#036;&#123;diff&#125;&#032;&#045;gt&#032;0&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;let&#032;endi&#061;&#034;&#036;&#123;curb&#125;&#032;&#045;&#032;1&#034;&#010;&#009;&#009;&#009;let&#032;skip&#061;&#034;&#036;&#123;lase&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;&#009;echo&#032;&#034;&#091;&#036;&#123;numb&#125;&#093;&#032;Unused&#032;space&#032;&#091;&#036;&#123;skip&#125;&#032;&#045;&#032;&#036;&#123;endi&#125;&#093;&#032;&#091;&#036;&#123;diff&#125;&#032;blocks&#093;&#046;&#046;&#046;&#034;&#010;&#009;&#009;&#009;dd&#032;if&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;unit&#125;&#032;skip&#061;&#036;&#123;skip&#125;&#032;count&#061;&#036;&#123;diff&#125;&#032;of&#061;&#036;&#123;2&#125;&#036;&#123;numb&#125;&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;&#009;&#009;let&#032;numb&#061;&#034;&#036;&#123;numb&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;fi&#010;&#009;&#009;echo&#032;&#034;&#091;&#036;&#123;numb&#125;&#093;&#032;Carving&#032;partition&#032;&#091;&#036;&#123;curb&#125;&#032;&#045;&#032;&#036;&#123;cure&#125;&#093;&#032;&#091;&#036;&#123;size&#125;&#032;blocks&#093;&#046;&#046;&#046;&#034;&#010;&#009;&#009;dd&#032;if&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;unit&#125;&#032;skip&#061;&#036;&#123;curb&#125;&#032;count&#061;&#036;&#123;size&#125;&#032;of&#061;&#036;&#123;2&#125;&#036;&#123;numb&#125;&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;&#009;let&#032;numb&#061;&#034;&#036;&#123;numb&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;lase&#061;&#034;&#036;&#123;cure&#125;&#034;&#010;&#009;done&#010;&#009;fdisk&#032;&#045;l&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#091;&#032;&#092;t&#093;&#042;&#047;&#047;g&#039;&#032;&#045;e&#032;&#039;s&#047;&#092;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#094;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#091;0&#045;9&#093;&#042;&#034;&#032;&#124;&#032;tail&#032;&#045;n&#032;1&#032;&#124;&#032;while&#032;read&#032;line&#010;&#009;do&#010;&#009;&#009;endi&#061;&#096;echo&#032;&#034;&#036;&#123;line&#125;&#034;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;3&#032;&#125;&#039;&#096;&#010;&#009;&#009;let&#032;rest&#061;&#034;&#036;&#123;endi&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;numb&#061;&#034;9&#034;&#010;&#009;&#009;echo&#032;&#034;&#091;&#036;&#123;numb&#125;&#093;&#032;Copying&#032;ending&#032;&#091;&#036;&#123;rest&#125;&#032;&#045;&#032;&#060;end&#062;&#093;&#046;&#046;&#046;&#034;&#010;&#009;&#009;dd&#032;if&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;unit&#125;&#032;skip&#061;&#036;&#123;rest&#125;&#032;of&#061;&#036;&#123;2&#125;&#036;&#123;numb&#125;&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;done&#010;&#009;echo&#010;&#009;echo&#032;&#034;Create&#032;any&#032;filesystem&#032;needed&#032;&#040;&#032;mkfs&#046;&#042;&#032;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#032;&#041;&#034;&#010;&#009;echo&#032;&#034;Mount&#032;any&#032;filesystem&#032;needed&#032;&#040;&#032;mount&#032;&#045;o&#032;loop&#032;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#032;&#047;mnt&#047;tmp&#091;0&#045;9&#093;&#032;&#041;&#034;&#010;&#009;echo&#032;&#034;Copy&#032;any&#032;files&#032;needed&#032;&#040;&#032;cp&#032;&#045;r&#032;source&#047;&#042;&#032;&#047;mnt&#047;tmp&#091;0&#045;9&#093;&#047;&#032;&#041;&#034;&#010;&#009;echo&#032;&#034;Unmount&#032;any&#032;filesystem&#032;needed&#032;&#040;&#032;umount&#032;&#047;mnt&#047;tmp&#091;0&#045;9&#093;&#032;&#041;&#034;&#010;&#009;echo&#010;fi&#010;&#010;if&#032;&#091;&#032;&#034;&#036;&#123;1&#125;&#034;&#032;&#061;&#061;&#032;&#034;j&#034;&#032;&#093;&#010;then&#010;&#009;if&#032;&#091;&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;then&#010;&#009;&#009;echo&#032;&#034;Usage&#058;&#032;&#036;0&#032;&#036;1&#032;&#060;filename&#062;&#034;&#010;&#009;&#009;exit&#032;1&#010;&#009;fi&#010;&#009;echo&#032;&#034;Writing&#032;to&#032;file&#032;&#091;&#036;&#123;2&#125;&#046;join&#093;&#046;&#046;&#046;&#034;&#010;&#009;cat&#032;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#042;&#032;&#062;&#032;&#036;&#123;2&#125;&#046;join&#010;&#009;echo&#010;fi&#010;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=491&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a small shell script based on dd&#8217;s output which helps to partition a flat file, split it up into its respective partitions so they can be formatted and put them all back together again. </p>
<pre>
&#035;&#033;&#047;bin&#047;bash&#010;&#010;if&#032;&#091;&#032;&#034;&#036;&#123;1&#125;&#034;&#032;&#061;&#061;&#032;&#034;c&#034;&#032;&#093;&#010;then&#010;&#009;if&#032;&#091;&#032;&#034;&#036;&#123;3&#125;&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;then&#010;&#009;&#009;echo&#032;&#034;Usage&#058;&#032;&#036;0&#032;&#036;1&#032;&#060;filename&#062;&#032;&#060;filesize&#062;&#034;&#010;&#009;&#009;exit&#032;1&#010;&#009;fi&#010;&#009;echo&#032;&#034;Creating&#032;new&#032;file&#032;&#091;&#036;&#123;2&#125;&#093;&#046;&#046;&#046;&#034;&#010;&#009;dd&#032;if&#061;&#047;dev&#047;zero&#032;of&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;3&#125;G&#032;count&#061;1&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;echo&#032;&#034;Partition&#032;the&#032;new&#032;flat&#032;file&#032;&#040;&#032;fdisk&#032;&#036;&#123;2&#125;&#032;&#041;&#034;&#010;&#009;echo&#010;fi&#010;&#010;if&#032;&#091;&#032;&#034;&#036;&#123;1&#125;&#034;&#032;&#061;&#061;&#032;&#034;s&#034;&#032;&#093;&#010;then&#010;&#009;if&#032;&#091;&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;then&#010;&#009;&#009;echo&#032;&#034;Usage&#058;&#032;&#036;0&#032;&#036;1&#032;&#060;filename&#062;&#034;&#010;&#009;&#009;exit&#032;1&#010;&#009;fi&#010;&#009;unit&#061;&#096;fdisk&#032;&#045;l&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;Units&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#046;&#042;&#032;&#092;&#040;&#091;0&#045;9&#093;&#091;0&#045;9&#093;&#042;&#092;&#041;&#032;bytes&#046;&#042;&#036;&#047;&#092;1&#047;g&#039;&#096;&#010;&#009;lase&#061;&#034;&#045;1&#034;&#010;&#009;numb&#061;0&#010;&#009;fdisk&#032;&#045;l&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#091;&#032;&#092;t&#093;&#042;&#047;&#047;g&#039;&#032;&#045;e&#032;&#039;s&#047;&#092;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#094;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#091;0&#045;9&#093;&#042;&#034;&#032;&#124;&#032;while&#032;read&#032;line&#010;&#009;do&#010;&#009;&#009;curb&#061;&#096;echo&#032;&#034;&#036;&#123;line&#125;&#034;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#096;&#010;&#009;&#009;cure&#061;&#096;echo&#032;&#034;&#036;&#123;line&#125;&#034;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;3&#032;&#125;&#039;&#096;&#010;&#009;&#009;let&#032;size&#061;&#034;&#036;&#123;cure&#125;&#032;&#045;&#032;&#036;&#123;curb&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;let&#032;diff&#061;&#034;&#036;&#123;curb&#125;&#032;&#045;&#032;&#036;&#123;lase&#125;&#032;&#045;&#032;1&#034;&#010;&#009;&#009;if&#032;&#091;&#032;&#036;&#123;diff&#125;&#032;&#045;gt&#032;0&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;let&#032;endi&#061;&#034;&#036;&#123;curb&#125;&#032;&#045;&#032;1&#034;&#010;&#009;&#009;&#009;let&#032;skip&#061;&#034;&#036;&#123;lase&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;&#009;echo&#032;&#034;&#091;&#036;&#123;numb&#125;&#093;&#032;Unused&#032;space&#032;&#091;&#036;&#123;skip&#125;&#032;&#045;&#032;&#036;&#123;endi&#125;&#093;&#032;&#091;&#036;&#123;diff&#125;&#032;blocks&#093;&#046;&#046;&#046;&#034;&#010;&#009;&#009;&#009;dd&#032;if&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;unit&#125;&#032;skip&#061;&#036;&#123;skip&#125;&#032;count&#061;&#036;&#123;diff&#125;&#032;of&#061;&#036;&#123;2&#125;&#036;&#123;numb&#125;&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;&#009;&#009;let&#032;numb&#061;&#034;&#036;&#123;numb&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;fi&#010;&#009;&#009;echo&#032;&#034;&#091;&#036;&#123;numb&#125;&#093;&#032;Carving&#032;partition&#032;&#091;&#036;&#123;curb&#125;&#032;&#045;&#032;&#036;&#123;cure&#125;&#093;&#032;&#091;&#036;&#123;size&#125;&#032;blocks&#093;&#046;&#046;&#046;&#034;&#010;&#009;&#009;dd&#032;if&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;unit&#125;&#032;skip&#061;&#036;&#123;curb&#125;&#032;count&#061;&#036;&#123;size&#125;&#032;of&#061;&#036;&#123;2&#125;&#036;&#123;numb&#125;&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;&#009;let&#032;numb&#061;&#034;&#036;&#123;numb&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;lase&#061;&#034;&#036;&#123;cure&#125;&#034;&#010;&#009;done&#010;&#009;fdisk&#032;&#045;l&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#091;&#032;&#092;t&#093;&#042;&#047;&#047;g&#039;&#032;&#045;e&#032;&#039;s&#047;&#092;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#094;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#091;0&#045;9&#093;&#042;&#034;&#032;&#124;&#032;tail&#032;&#045;n&#032;1&#032;&#124;&#032;while&#032;read&#032;line&#010;&#009;do&#010;&#009;&#009;endi&#061;&#096;echo&#032;&#034;&#036;&#123;line&#125;&#034;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;3&#032;&#125;&#039;&#096;&#010;&#009;&#009;let&#032;rest&#061;&#034;&#036;&#123;endi&#125;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;numb&#061;&#034;9&#034;&#010;&#009;&#009;echo&#032;&#034;&#091;&#036;&#123;numb&#125;&#093;&#032;Copying&#032;ending&#032;&#091;&#036;&#123;rest&#125;&#032;&#045;&#032;&#060;end&#062;&#093;&#046;&#046;&#046;&#034;&#010;&#009;&#009;dd&#032;if&#061;&#036;&#123;2&#125;&#032;bs&#061;&#036;&#123;unit&#125;&#032;skip&#061;&#036;&#123;rest&#125;&#032;of&#061;&#036;&#123;2&#125;&#036;&#123;numb&#125;&#032;&#062;&#032;&#047;dev&#047;null&#032;2&#062;&#038;1&#010;&#009;done&#010;&#009;echo&#010;&#009;echo&#032;&#034;Create&#032;any&#032;filesystem&#032;needed&#032;&#040;&#032;mkfs&#046;&#042;&#032;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#032;&#041;&#034;&#010;&#009;echo&#032;&#034;Mount&#032;any&#032;filesystem&#032;needed&#032;&#040;&#032;mount&#032;&#045;o&#032;loop&#032;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#032;&#047;mnt&#047;tmp&#091;0&#045;9&#093;&#032;&#041;&#034;&#010;&#009;echo&#032;&#034;Copy&#032;any&#032;files&#032;needed&#032;&#040;&#032;cp&#032;&#045;r&#032;source&#047;&#042;&#032;&#047;mnt&#047;tmp&#091;0&#045;9&#093;&#047;&#032;&#041;&#034;&#010;&#009;echo&#032;&#034;Unmount&#032;any&#032;filesystem&#032;needed&#032;&#040;&#032;umount&#032;&#047;mnt&#047;tmp&#091;0&#045;9&#093;&#032;&#041;&#034;&#010;&#009;echo&#010;fi&#010;&#010;if&#032;&#091;&#032;&#034;&#036;&#123;1&#125;&#034;&#032;&#061;&#061;&#032;&#034;j&#034;&#032;&#093;&#010;then&#010;&#009;if&#032;&#091;&#032;&#034;&#036;&#123;2&#125;&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;then&#010;&#009;&#009;echo&#032;&#034;Usage&#058;&#032;&#036;0&#032;&#036;1&#032;&#060;filename&#062;&#034;&#010;&#009;&#009;exit&#032;1&#010;&#009;fi&#010;&#009;echo&#032;&#034;Writing&#032;to&#032;file&#032;&#091;&#036;&#123;2&#125;&#046;join&#093;&#046;&#046;&#046;&#034;&#010;&#009;cat&#032;&#036;&#123;2&#125;&#091;0&#045;9&#093;&#042;&#032;&#062;&#032;&#036;&#123;2&#125;&#046;join&#010;&#009;echo&#010;fi&#010;
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/491/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/491/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/491/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=491&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/02/09/formatting-flat-files-as-block-devices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>Simple Monitoring Shell Script &amp; PHP Page</title>
		<link>http://fossjon.wordpress.com/2012/02/03/simple-monitoring-shell-script-php-page/</link>
		<comments>http://fossjon.wordpress.com/2012/02/03/simple-monitoring-shell-script-php-page/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 16:14:54 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=488</guid>
		<description><![CDATA[So, you would run this on a Koji builder: monitor.sh &#035;&#033;&#047;bin&#047;bash&#010;&#010;while&#032;true&#010;do&#010;&#009;filename&#061;&#034;&#047;tmp&#047;stat&#046;txt&#034;&#010;&#009;&#010;&#009;machname&#061;&#096;hostname&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;machrels&#061;&#096;cat&#032;&#047;etc&#047;fedora&#045;release&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;release&#047;&#047;g&#039;&#032;&#045;e&#032;&#039;s&#047;&#091;&#032;&#092;t&#093;&#042;&#040;&#091;&#094;&#041;&#093;&#042;&#041;&#091;&#032;&#092;t&#093;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;machvers&#061;&#096;uname&#032;&#045;r&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;&#010;&#009;machipv4&#061;&#096;ifconfig&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;inet&#091;&#032;&#058;&#093;&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;addr&#058;&#047;&#047;g&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;machipv6&#061;&#096;ifconfig&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;inet6&#091;&#032;&#058;&#093;&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;addr&#058;&#047;&#047;g&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;dnsserve&#061;&#096;cat&#032;&#047;etc&#047;resolv&#046;conf&#032;&#124;&#032;grep&#032;&#039;&#094;nameserver&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#091;&#094;0&#045;9&#093;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;gatewaya&#061;&#096;netstat&#032;&#045;nr&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;default&#047;0&#046;0&#046;0&#046;0&#047;g&#039;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;0&#046;0&#046;0&#046;0&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;pingcomd&#061;&#096;ping&#032;&#045;c&#032;1&#032;google&#046;ca&#032;2&#062;&#038;1&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;0&#037;&#032;packet&#032;loss&#039;&#096;&#010;&#009;if&#032;&#091;&#032;&#034;&#036;pingcomd&#034;&#032;&#033;&#061;&#032;&#034;&#034;&#032;&#093;&#032;&#059;&#032;then&#032;netusage&#061;&#034;Yes&#034;&#032;&#059;&#032;else&#032;netusage&#061;&#034;No&#034;&#032;&#059;&#032;fi&#010;&#009;&#010;&#009;cpuusage&#061;&#096;top&#032;&#045;bn&#032;3&#032;2&#062;&#038;1&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;cpu&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#046;&#042;&#091;&#032;&#092;t&#093;&#091;&#032;&#092;t&#093;&#042;&#092;&#040;&#091;&#094;&#037;&#093;&#042;&#037;&#092;&#041;&#091;&#094;&#044;&#093;&#042;&#092;&#040;us&#092;&#041;&#044;&#046;&#042;&#036;&#047;&#092;1&#092;2&#047;g&#039;&#032;&#124;&#032;sort&#032;&#045;nr&#032;&#124;&#032;head&#032;&#045;n&#032;1&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;hddusage&#061;&#096;df&#032;&#045;h&#032;&#047;&#032;&#124;&#032;grep&#032;&#045;iv&#032;&#039;&#094;file&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#034;&#047;&#040;&#034;&#036;6&#034;&#041;&#061;&#034;&#036;4&#034;&#047;&#034;&#036;2&#034;&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;ramusage&#061;&#096;free&#032;&#045;m&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;mem&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;4&#034;M&#047;&#034;&#036;2&#034;M&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;swapused&#061;&#096;free&#032;&#045;m&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;swap&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;4&#034;M&#047;&#034;&#036;2&#034;M&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;&#010;&#009;mockfold&#061;&#096;&#040;df&#032;&#045;h&#032;&#047;var&#047;lib&#047;mock&#047;&#032;&#124;&#032;grep&#032;&#045;iv&#032;&#039;&#094;file&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#034;&#047;var&#047;lib&#047;mock&#040;&#034;&#036;6&#034;&#041;&#061;&#034;&#036;4&#034;&#047;&#034;&#036;2&#034;&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#059;&#032;ls&#032;&#045;al&#032;&#047;var&#047;lib&#047;mock&#047;&#032;2&#062;&#032;&#047;dev&#047;null&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#032;&#092;&#046;&#036;&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#046;&#092;&#040;&#046;&#046;&#046;&#092;&#041;&#092;&#040;&#046;&#046;&#046;&#092;&#041;&#092;&#040;&#046;&#046;&#046;&#092;&#041;&#046;&#091;&#032;&#092;t&#093;&#042;&#091;&#094;&#032;&#092;t&#093;&#042;&#091;&#032;&#092;t&#093;&#042;&#092;&#040;&#091;&#094;&#032;&#092;t&#093;&#042;&#092;&#041;&#091;&#032;&#092;t&#093;&#042;&#092;&#040;&#091;&#094;&#032;&#092;t&#093;&#042;&#092;&#041;&#046;&#042;&#036;&#047;&#092;1&#040;&#092;4&#041;&#058;&#092;2&#040;&#092;5&#041;&#058;&#092;3&#040;o&#041;&#047;g&#039;&#041;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;kojimoni&#061;&#096;service&#032;kojid&#032;status&#032;&#124;&#032;grep&#032;&#045;Ei&#032;&#039;&#040;active&#124;running&#041;&#039;&#096;&#010;&#009;if&#032;&#091;&#032;&#034;&#036;kojimoni&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#032;&#059;&#032;then&#032;kojistat&#061;&#034;Not&#032;running&#034;&#032;&#059;&#032;else&#032;kojistat&#061;&#034;Running&#034;&#032;&#059;&#032;fi&#010;&#009;pkgsvers&#061;&#096;rpm&#032;&#045;q&#032;koji&#032;koji&#045;builder&#032;mock&#032;rpm&#032;yum&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;&#010;&#009;&#035;echo&#032;&#034;&#036;machname&#034;&#032;&#062;&#032;&#036;filename&#010;&#009;date&#032;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;machrels&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;machvers&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;echo&#032;&#034;&#036;machipv4&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;machipv6&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;dnsserve&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;gatewaya&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;netusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;echo&#032;&#034;&#036;cpuusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;hddusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;ramusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;swapused&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;echo&#032;&#034;&#036;kojistat&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;mockfold&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;pkgsvers&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;curl&#032;&#045;F&#032;&#034;pass&#061;qwerty&#034;&#032;&#045;F&#032;&#034;name&#061;&#036;machname&#034;&#032;&#045;F&#032;&#034;data&#061;&#064;&#036;filename&#034;&#032;http&#058;&#047;&#047;hongkong&#046;proximity&#046;on&#046;ca&#047;&#126;jchiappetta&#047;monitor&#046;php&#010;&#009;sleep&#032;300&#010;done&#010; And you run this on the server-side: monitor.php &#060;&#063;php&#010;&#009;&#047;&#042;&#032;CREATE&#032;TABLE&#032;stat&#032;&#040;name&#032;VARCHAR&#040;256&#041;&#044;&#032;data&#032;VARCHAR&#040;4096&#041;&#041;&#059;&#032;&#042;&#047;&#010;&#009;&#010;&#009;function&#032;safe&#040;&#036;inpt&#041;&#010;&#009;&#123;&#010;&#009;&#009;&#036;srch&#032;&#061;&#032;array&#040;&#034;&#060;&#034;&#044;&#032;&#034;&#062;&#034;&#044;&#032;&#034;&#038;&#034;&#044;&#032;&#034;&#059;&#034;&#044;&#032;&#034;&#039;&#034;&#044;&#032;&#034;&#092;&#034;&#034;&#044;&#032;&#034;&#092;&#092;&#034;&#041;&#059;&#010;&#009;&#009;&#036;inpt&#032;&#061;&#032;trim&#040;&#036;inpt&#041;&#059;&#010;&#009;&#009;&#036;inpt&#032;&#061;&#032;str&#095;replace&#040;&#036;srch&#044;&#032;&#034;&#034;&#044;&#032;&#036;inpt&#041;&#059;&#010;&#009;&#009;&#010;&#009;&#009;return&#032;&#036;inpt&#059;&#010;&#009;&#125;&#010;&#009;&#010;&#009;if&#032;&#040;&#036;&#095;POST&#091;&#034;pass&#034;&#093;&#032;&#061;&#061;&#032;&#034;qwerty&#034;&#041;&#010;&#009;&#123;&#010;&#009;&#009;if&#032;&#040;isset&#040;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#041;&#032;and&#032;isset&#040;&#036;&#095;FILES&#091;&#034;data&#034;&#093;&#041;&#041;&#010;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#036;fobj&#032;&#061;&#032;fopen&#040;&#036;&#095;FILES&#091;&#034;data&#034;&#093;&#091;&#034;tmp&#095;name&#034;&#093;&#044;&#032;&#034;r&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#032;&#061;&#032;fread&#040;&#036;fobj&#044;&#032;4000&#041;&#059;&#010;&#009;&#009;&#009;fclose&#040;&#036;fobj&#041;&#059;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#032;&#061;&#032;safe&#040;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#041;&#059;&#010;&#009;&#009;&#009;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#032;&#061;&#032;safe&#040;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#041;&#059;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#036;dobj&#032;&#061;&#032;new&#032;PDO&#040;&#034;sqlite&#058;monitor&#046;db&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;dobj&#045;&#062;exec&#040;&#034;DELETE&#032;FROM&#032;stat&#032;WHERE&#032;name&#032;&#061;&#032;&#039;&#034;&#046;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#046;&#034;&#039;&#059;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;dobj&#045;&#062;exec&#040;&#034;INSERT&#032;INTO&#032;stat&#032;VALUES&#032;&#040;&#039;&#034;&#046;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#046;&#034;&#039;&#044;&#032;&#039;&#034;&#046;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#046;&#034;&#039;&#041;&#059;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;dobj&#032;&#061;&#032;NULL&#059;&#010;&#009;&#009;&#125;&#010;&#009;&#009;&#010;&#009;&#009;die&#059;&#010;&#009;&#125;&#010;&#009;&#010;&#009;&#036;dobj&#032;&#061;&#032;new&#032;PDO&#040;&#034;sqlite&#058;monitor&#046;db&#034;&#041;&#059;&#010;&#009;&#036;resl&#032;&#061;&#032;&#036;dobj&#045;&#062;query&#040;&#034;SELECT&#032;&#042;&#032;FROM&#032;stat&#032;ORDER&#032;BY&#032;name&#059;&#034;&#041;&#059;&#010;&#009;&#036;rows&#032;&#061;&#032;array&#040;&#041;&#059;&#010;&#009;&#010;&#009;foreach&#032;&#040;&#036;resl&#032;as&#032;&#036;rowd&#041;&#010;&#009;&#123;&#010;&#009;&#009;&#036;temp&#032;&#061;&#032;array&#040;&#041;&#059;&#010;&#009;&#009;array&#095;push&#040;&#036;temp&#044;&#032;safe&#040;&#036;rowd&#091;&#034;name&#034;&#093;&#041;&#041;&#059;&#010;&#009;&#009;&#036;data&#032;&#061;&#032;explode&#040;&#034;&#092;n&#034;&#044;&#032;&#036;rowd&#091;&#034;data&#034;&#093;&#041;&#059;&#010;&#009;&#009;&#010;&#009;&#009;foreach&#032;&#040;&#036;data&#032;as&#032;&#036;info&#041;&#010;&#009;&#009;&#123;&#010;&#009;&#009;&#009;array&#095;push&#040;&#036;temp&#044;&#032;safe&#040;&#036;info&#041;&#041;&#059;&#010;&#009;&#009;&#125;&#010;&#009;&#009;&#010;&#009;&#009;array&#095;push&#040;&#036;rows&#044;&#032;&#036;temp&#041;&#059;&#010;&#009;&#125;&#010;&#009;&#010;&#009;&#036;dobj&#032;&#061;&#032;NULL&#059;&#010;&#063;&#062;&#010;&#010;&#060;html&#062;&#010;&#009;&#060;head&#062;&#010;&#009;&#009;&#060;title&#062;Monitor&#060;&#047;title&#062;&#010;&#009;&#009;&#010;&#009;&#009;&#060;style&#062;&#010;&#009;&#009;&#009;body&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;background&#058;&#032;&#035;E6E6FA&#059;&#010;&#009;&#009;&#009;&#009;font&#045;family&#058;&#032;Courier&#059;&#010;&#009;&#009;&#009;&#009;font&#045;size&#058;&#032;0&#046;75em&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;a&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;text&#045;decoration&#058;&#032;none&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;th&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;text&#045;align&#058;&#032;left&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;info&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;000080&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;inet&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;006400&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;syst&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;E56717&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;koji&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;8B0000&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;hide&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;display&#058;&#032;none&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#060;&#047;style&#062;&#010;&#009;&#009;&#010;&#009;&#009;&#060;script&#062;&#010;&#009;&#009;&#009;function&#032;more&#040;name&#041;&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;var&#032;x&#044;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;var&#032;objl&#032;&#061;&#032;document&#046;getElementsByClassName&#040;name&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;for&#032;&#040;x&#032;&#061;&#032;0&#059;&#032;x&#032;&#060;&#032;objl&#046;length&#059;&#032;&#043;&#043;x&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;objl&#091;x&#093;&#046;className&#046;match&#040;&#047;&#094;&#046;&#042;main&#046;&#042;&#036;&#047;&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;continue&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;else&#032;if&#032;&#040;objl&#091;x&#093;&#046;className&#046;match&#040;&#047;&#094;&#046;&#042;hide&#046;&#042;&#036;&#047;&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;objl&#091;x&#093;&#046;className&#046;replace&#040;&#047;hide&#047;g&#044;&#032;&#034;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;objl&#091;x&#093;&#046;className&#032;&#061;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;else&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;objl&#091;x&#093;&#046;className&#032;&#061;&#032;&#040;objl&#091;x&#093;&#046;className&#032;&#043;&#032;&#034;&#032;hide&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;function&#032;init&#040;&#041;&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;var&#032;x&#059;&#010;&#009;&#009;&#009;&#009;var&#032;tabl&#032;&#061;&#032;document&#046;getElementById&#040;&#034;tabl&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;var&#032;tout&#032;&#061;&#032;&#040;10&#032;&#042;&#032;60&#041;&#044;&#032;numb&#032;&#061;&#032;0&#044;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;var&#032;dtls&#044;&#032;dtlo&#032;&#061;&#032;new&#032;Date&#040;&#041;&#044;&#032;dtrs&#044;&#032;dtro&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;for&#032;&#040;x&#032;&#061;&#032;1&#059;&#032;x&#032;&#060;&#032;tabl&#046;rows&#046;length&#059;&#032;&#043;&#043;x&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;dtro&#032;&#061;&#032;new&#032;Date&#040;tabl&#046;rows&#091;x&#093;&#046;cells&#091;1&#093;&#046;innerHTML&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;dtls&#032;&#061;&#032;parseInt&#040;dtlo&#046;getTime&#040;&#041;&#032;&#047;&#032;1000&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;dtrs&#032;&#061;&#032;parseInt&#040;dtro&#046;getTime&#040;&#041;&#032;&#047;&#032;1000&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;&#040;dtls&#032;&#045;&#032;tout&#041;&#032;&#062;&#061;&#032;dtrs&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;tabl&#046;rows&#091;x&#093;&#046;cells&#091;0&#093;&#046;innerHTML&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;&#040;&#034;&#060;font&#032;color&#061;&#039;red&#039;&#062;&#034;&#032;&#043;&#032;temp&#032;&#043;&#032;&#034;&#060;&#047;font&#062;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;tabl&#046;rows&#091;x&#093;&#046;cells&#091;0&#093;&#046;innerHTML&#032;&#061;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#043;&#043;numb&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;document&#046;title&#032;&#061;&#032;&#040;&#034;Monitor&#032;&#091;&#034;&#032;&#043;&#032;numb&#032;&#043;&#032;&#034;&#093;&#032;&#091;&#034;&#032;&#043;&#032;dtlo&#046;getHours&#040;&#041;&#032;&#043;&#032;&#034;&#058;&#034;&#032;&#043;&#032;dtlo&#046;getMinutes&#040;&#041;&#032;&#043;&#032;&#034;&#093;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;var&#032;elel&#032;&#061;&#032;document&#046;getElementsByClassName&#040;&#034;list&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;for&#032;&#040;x&#032;&#061;&#032;0&#059;&#032;x&#032;&#060;&#032;elel&#046;length&#059;&#032;&#043;&#043;x&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;elel&#091;x&#093;&#046;innerHTML&#059;&#010;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;temp&#046;replace&#040;&#047;&#032;&#047;g&#044;&#032;&#034;&#060;br&#032;&#047;&#062;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;elel&#091;x&#093;&#046;innerHTML&#032;&#061;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#060;&#047;script&#062;&#010;&#009;&#009;&#010;&#009;&#009;&#060;meta&#032;http&#045;equiv&#061;&#034;refresh&#034;&#032;content&#061;&#034;900&#034;&#062;&#010;&#009;&#060;&#047;head&#062;&#010;&#009;&#010;&#009;&#060;body&#032;onload&#061;&#034;init&#040;&#041;&#059;&#034;&#062;&#010;&#009;&#009;&#060;table&#032;id&#061;&#034;tabl&#034;&#032;width&#061;&#034;100&#037;&#034;&#062;&#010;&#009;&#009;&#009;&#060;tr&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;main&#034;&#062;Name&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;info&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;hide&#034;&#062;Time&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;hide&#034;&#062;Release&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;hide&#034;&#062;Kernel&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;IPv4&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;IPv6&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;DNS&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;Gateway&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;main&#034;&#062;Inet&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;inet&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;hide&#034;&#062;CPU&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;main&#034;&#062;Disk&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;syst&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;hide&#034;&#062;RAM&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;hide&#034;&#062;Swap&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;koji&#032;main&#034;&#062;Koji&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;koji&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;koji&#032;list&#032;hide&#034;&#062;Mock&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;koji&#032;list&#032;hide&#034;&#062;Pkgs&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#060;&#047;tr&#062;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#060;&#063;php&#010;&#009;&#009;&#009;&#009;foreach&#032;&#040;&#036;rows&#032;as&#032;&#036;rowd&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;tr&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;0&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;1&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;2&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;3&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;4&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;5&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;6&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;7&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;8&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;9&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;10&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;11&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;12&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;koji&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;13&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;koji&#032;list&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;14&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;koji&#032;list&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;15&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;&#047;tr&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#063;&#062;&#010;&#009;&#009;&#060;&#047;table&#062;&#010;&#009;&#060;&#047;body&#062;&#010;&#060;&#047;html&#062;&#010;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=488&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So, you would run this on a Koji builder: </p>
<p><b>monitor.sh</b></p>
<pre>
&#035;&#033;&#047;bin&#047;bash&#010;&#010;while&#032;true&#010;do&#010;&#009;filename&#061;&#034;&#047;tmp&#047;stat&#046;txt&#034;&#010;&#009;&#010;&#009;machname&#061;&#096;hostname&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;machrels&#061;&#096;cat&#032;&#047;etc&#047;fedora&#045;release&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;release&#047;&#047;g&#039;&#032;&#045;e&#032;&#039;s&#047;&#091;&#032;&#092;t&#093;&#042;&#040;&#091;&#094;&#041;&#093;&#042;&#041;&#091;&#032;&#092;t&#093;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;machvers&#061;&#096;uname&#032;&#045;r&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;&#010;&#009;machipv4&#061;&#096;ifconfig&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;inet&#091;&#032;&#058;&#093;&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;addr&#058;&#047;&#047;g&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;machipv6&#061;&#096;ifconfig&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;inet6&#091;&#032;&#058;&#093;&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;addr&#058;&#047;&#047;g&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;dnsserve&#061;&#096;cat&#032;&#047;etc&#047;resolv&#046;conf&#032;&#124;&#032;grep&#032;&#039;&#094;nameserver&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#091;&#094;0&#045;9&#093;&#042;&#047;&#047;g&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;gatewaya&#061;&#096;netstat&#032;&#045;nr&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;default&#047;0&#046;0&#046;0&#046;0&#047;g&#039;&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;0&#046;0&#046;0&#046;0&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;2&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;pingcomd&#061;&#096;ping&#032;&#045;c&#032;1&#032;google&#046;ca&#032;2&#062;&#038;1&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;0&#037;&#032;packet&#032;loss&#039;&#096;&#010;&#009;if&#032;&#091;&#032;&#034;&#036;pingcomd&#034;&#032;&#033;&#061;&#032;&#034;&#034;&#032;&#093;&#032;&#059;&#032;then&#032;netusage&#061;&#034;Yes&#034;&#032;&#059;&#032;else&#032;netusage&#061;&#034;No&#034;&#032;&#059;&#032;fi&#010;&#009;&#010;&#009;cpuusage&#061;&#096;top&#032;&#045;bn&#032;3&#032;2&#062;&#038;1&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;cpu&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#046;&#042;&#091;&#032;&#092;t&#093;&#091;&#032;&#092;t&#093;&#042;&#092;&#040;&#091;&#094;&#037;&#093;&#042;&#037;&#092;&#041;&#091;&#094;&#044;&#093;&#042;&#092;&#040;us&#092;&#041;&#044;&#046;&#042;&#036;&#047;&#092;1&#092;2&#047;g&#039;&#032;&#124;&#032;sort&#032;&#045;nr&#032;&#124;&#032;head&#032;&#045;n&#032;1&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;hddusage&#061;&#096;df&#032;&#045;h&#032;&#047;&#032;&#124;&#032;grep&#032;&#045;iv&#032;&#039;&#094;file&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#034;&#047;&#040;&#034;&#036;6&#034;&#041;&#061;&#034;&#036;4&#034;&#047;&#034;&#036;2&#034;&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;ramusage&#061;&#096;free&#032;&#045;m&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;mem&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;4&#034;M&#047;&#034;&#036;2&#034;M&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;swapused&#061;&#096;free&#032;&#045;m&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#094;swap&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#036;4&#034;M&#047;&#034;&#036;2&#034;M&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;&#010;&#009;mockfold&#061;&#096;&#040;df&#032;&#045;h&#032;&#047;var&#047;lib&#047;mock&#047;&#032;&#124;&#032;grep&#032;&#045;iv&#032;&#039;&#094;file&#039;&#032;&#124;&#032;awk&#032;&#039;&#123;&#032;print&#032;&#034;&#047;var&#047;lib&#047;mock&#040;&#034;&#036;6&#034;&#041;&#061;&#034;&#036;4&#034;&#047;&#034;&#036;2&#034;&#040;free&#041;&#034;&#032;&#125;&#039;&#032;&#059;&#032;ls&#032;&#045;al&#032;&#047;var&#047;lib&#047;mock&#047;&#032;2&#062;&#032;&#047;dev&#047;null&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#032;&#092;&#046;&#036;&#039;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#094;&#046;&#092;&#040;&#046;&#046;&#046;&#092;&#041;&#092;&#040;&#046;&#046;&#046;&#092;&#041;&#092;&#040;&#046;&#046;&#046;&#092;&#041;&#046;&#091;&#032;&#092;t&#093;&#042;&#091;&#094;&#032;&#092;t&#093;&#042;&#091;&#032;&#092;t&#093;&#042;&#092;&#040;&#091;&#094;&#032;&#092;t&#093;&#042;&#092;&#041;&#091;&#032;&#092;t&#093;&#042;&#092;&#040;&#091;&#094;&#032;&#092;t&#093;&#042;&#092;&#041;&#046;&#042;&#036;&#047;&#092;1&#040;&#092;4&#041;&#058;&#092;2&#040;&#092;5&#041;&#058;&#092;3&#040;o&#041;&#047;g&#039;&#041;&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;kojimoni&#061;&#096;service&#032;kojid&#032;status&#032;&#124;&#032;grep&#032;&#045;Ei&#032;&#039;&#040;active&#124;running&#041;&#039;&#096;&#010;&#009;if&#032;&#091;&#032;&#034;&#036;kojimoni&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#032;&#059;&#032;then&#032;kojistat&#061;&#034;Not&#032;running&#034;&#032;&#059;&#032;else&#032;kojistat&#061;&#034;Running&#034;&#032;&#059;&#032;fi&#010;&#009;pkgsvers&#061;&#096;rpm&#032;&#045;q&#032;koji&#032;koji&#045;builder&#032;mock&#032;rpm&#032;yum&#032;&#124;&#032;strings&#032;&#124;&#032;tr&#032;&#039;&#092;n&#039;&#032;&#039;&#032;&#039;&#096;&#010;&#009;&#010;&#009;&#035;echo&#032;&#034;&#036;machname&#034;&#032;&#062;&#032;&#036;filename&#010;&#009;date&#032;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;machrels&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;machvers&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;echo&#032;&#034;&#036;machipv4&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;machipv6&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;dnsserve&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;gatewaya&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;netusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;echo&#032;&#034;&#036;cpuusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;hddusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;ramusage&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;swapused&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;echo&#032;&#034;&#036;kojistat&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;mockfold&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;echo&#032;&#034;&#036;pkgsvers&#034;&#032;&#062;&#062;&#032;&#036;filename&#010;&#009;&#010;&#009;curl&#032;&#045;F&#032;&#034;pass&#061;qwerty&#034;&#032;&#045;F&#032;&#034;name&#061;&#036;machname&#034;&#032;&#045;F&#032;&#034;data&#061;&#064;&#036;filename&#034;&#032;http&#058;&#047;&#047;hongkong&#046;proximity&#046;on&#046;ca&#047;&#126;jchiappetta&#047;monitor&#046;php&#010;&#009;sleep&#032;300&#010;done&#010;
</pre>
<p>And you run this on the server-side: </p>
<p><b>monitor.php</b></p>
<pre>
&#060;&#063;php&#010;&#009;&#047;&#042;&#032;CREATE&#032;TABLE&#032;stat&#032;&#040;name&#032;VARCHAR&#040;256&#041;&#044;&#032;data&#032;VARCHAR&#040;4096&#041;&#041;&#059;&#032;&#042;&#047;&#010;&#009;&#010;&#009;function&#032;safe&#040;&#036;inpt&#041;&#010;&#009;&#123;&#010;&#009;&#009;&#036;srch&#032;&#061;&#032;array&#040;&#034;&#060;&#034;&#044;&#032;&#034;&#062;&#034;&#044;&#032;&#034;&#038;&#034;&#044;&#032;&#034;&#059;&#034;&#044;&#032;&#034;&#039;&#034;&#044;&#032;&#034;&#092;&#034;&#034;&#044;&#032;&#034;&#092;&#092;&#034;&#041;&#059;&#010;&#009;&#009;&#036;inpt&#032;&#061;&#032;trim&#040;&#036;inpt&#041;&#059;&#010;&#009;&#009;&#036;inpt&#032;&#061;&#032;str&#095;replace&#040;&#036;srch&#044;&#032;&#034;&#034;&#044;&#032;&#036;inpt&#041;&#059;&#010;&#009;&#009;&#010;&#009;&#009;return&#032;&#036;inpt&#059;&#010;&#009;&#125;&#010;&#009;&#010;&#009;if&#032;&#040;&#036;&#095;POST&#091;&#034;pass&#034;&#093;&#032;&#061;&#061;&#032;&#034;qwerty&#034;&#041;&#010;&#009;&#123;&#010;&#009;&#009;if&#032;&#040;isset&#040;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#041;&#032;and&#032;isset&#040;&#036;&#095;FILES&#091;&#034;data&#034;&#093;&#041;&#041;&#010;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#036;fobj&#032;&#061;&#032;fopen&#040;&#036;&#095;FILES&#091;&#034;data&#034;&#093;&#091;&#034;tmp&#095;name&#034;&#093;&#044;&#032;&#034;r&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#032;&#061;&#032;fread&#040;&#036;fobj&#044;&#032;4000&#041;&#059;&#010;&#009;&#009;&#009;fclose&#040;&#036;fobj&#041;&#059;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#032;&#061;&#032;safe&#040;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#041;&#059;&#010;&#009;&#009;&#009;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#032;&#061;&#032;safe&#040;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#041;&#059;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#036;dobj&#032;&#061;&#032;new&#032;PDO&#040;&#034;sqlite&#058;monitor&#046;db&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;dobj&#045;&#062;exec&#040;&#034;DELETE&#032;FROM&#032;stat&#032;WHERE&#032;name&#032;&#061;&#032;&#039;&#034;&#046;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#046;&#034;&#039;&#059;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;dobj&#045;&#062;exec&#040;&#034;INSERT&#032;INTO&#032;stat&#032;VALUES&#032;&#040;&#039;&#034;&#046;&#036;&#095;POST&#091;&#034;name&#034;&#093;&#046;&#034;&#039;&#044;&#032;&#039;&#034;&#046;&#036;&#095;POST&#091;&#034;data&#034;&#093;&#046;&#034;&#039;&#041;&#059;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#036;dobj&#032;&#061;&#032;NULL&#059;&#010;&#009;&#009;&#125;&#010;&#009;&#009;&#010;&#009;&#009;die&#059;&#010;&#009;&#125;&#010;&#009;&#010;&#009;&#036;dobj&#032;&#061;&#032;new&#032;PDO&#040;&#034;sqlite&#058;monitor&#046;db&#034;&#041;&#059;&#010;&#009;&#036;resl&#032;&#061;&#032;&#036;dobj&#045;&#062;query&#040;&#034;SELECT&#032;&#042;&#032;FROM&#032;stat&#032;ORDER&#032;BY&#032;name&#059;&#034;&#041;&#059;&#010;&#009;&#036;rows&#032;&#061;&#032;array&#040;&#041;&#059;&#010;&#009;&#010;&#009;foreach&#032;&#040;&#036;resl&#032;as&#032;&#036;rowd&#041;&#010;&#009;&#123;&#010;&#009;&#009;&#036;temp&#032;&#061;&#032;array&#040;&#041;&#059;&#010;&#009;&#009;array&#095;push&#040;&#036;temp&#044;&#032;safe&#040;&#036;rowd&#091;&#034;name&#034;&#093;&#041;&#041;&#059;&#010;&#009;&#009;&#036;data&#032;&#061;&#032;explode&#040;&#034;&#092;n&#034;&#044;&#032;&#036;rowd&#091;&#034;data&#034;&#093;&#041;&#059;&#010;&#009;&#009;&#010;&#009;&#009;foreach&#032;&#040;&#036;data&#032;as&#032;&#036;info&#041;&#010;&#009;&#009;&#123;&#010;&#009;&#009;&#009;array&#095;push&#040;&#036;temp&#044;&#032;safe&#040;&#036;info&#041;&#041;&#059;&#010;&#009;&#009;&#125;&#010;&#009;&#009;&#010;&#009;&#009;array&#095;push&#040;&#036;rows&#044;&#032;&#036;temp&#041;&#059;&#010;&#009;&#125;&#010;&#009;&#010;&#009;&#036;dobj&#032;&#061;&#032;NULL&#059;&#010;&#063;&#062;&#010;&#010;&#060;html&#062;&#010;&#009;&#060;head&#062;&#010;&#009;&#009;&#060;title&#062;Monitor&#060;&#047;title&#062;&#010;&#009;&#009;&#010;&#009;&#009;&#060;style&#062;&#010;&#009;&#009;&#009;body&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;background&#058;&#032;&#035;E6E6FA&#059;&#010;&#009;&#009;&#009;&#009;font&#045;family&#058;&#032;Courier&#059;&#010;&#009;&#009;&#009;&#009;font&#045;size&#058;&#032;0&#046;75em&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;a&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;text&#045;decoration&#058;&#032;none&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;th&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;text&#045;align&#058;&#032;left&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;info&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;000080&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;inet&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;006400&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;syst&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;E56717&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;koji&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;color&#058;&#032;&#035;8B0000&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#046;hide&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;display&#058;&#032;none&#059;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#060;&#047;style&#062;&#010;&#009;&#009;&#010;&#009;&#009;&#060;script&#062;&#010;&#009;&#009;&#009;function&#032;more&#040;name&#041;&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;var&#032;x&#044;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;var&#032;objl&#032;&#061;&#032;document&#046;getElementsByClassName&#040;name&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;for&#032;&#040;x&#032;&#061;&#032;0&#059;&#032;x&#032;&#060;&#032;objl&#046;length&#059;&#032;&#043;&#043;x&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;objl&#091;x&#093;&#046;className&#046;match&#040;&#047;&#094;&#046;&#042;main&#046;&#042;&#036;&#047;&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;continue&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;else&#032;if&#032;&#040;objl&#091;x&#093;&#046;className&#046;match&#040;&#047;&#094;&#046;&#042;hide&#046;&#042;&#036;&#047;&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;objl&#091;x&#093;&#046;className&#046;replace&#040;&#047;hide&#047;g&#044;&#032;&#034;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;objl&#091;x&#093;&#046;className&#032;&#061;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;else&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;objl&#091;x&#093;&#046;className&#032;&#061;&#032;&#040;objl&#091;x&#093;&#046;className&#032;&#043;&#032;&#034;&#032;hide&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;function&#032;init&#040;&#041;&#010;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;var&#032;x&#059;&#010;&#009;&#009;&#009;&#009;var&#032;tabl&#032;&#061;&#032;document&#046;getElementById&#040;&#034;tabl&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;var&#032;tout&#032;&#061;&#032;&#040;10&#032;&#042;&#032;60&#041;&#044;&#032;numb&#032;&#061;&#032;0&#044;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;var&#032;dtls&#044;&#032;dtlo&#032;&#061;&#032;new&#032;Date&#040;&#041;&#044;&#032;dtrs&#044;&#032;dtro&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;for&#032;&#040;x&#032;&#061;&#032;1&#059;&#032;x&#032;&#060;&#032;tabl&#046;rows&#046;length&#059;&#032;&#043;&#043;x&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;dtro&#032;&#061;&#032;new&#032;Date&#040;tabl&#046;rows&#091;x&#093;&#046;cells&#091;1&#093;&#046;innerHTML&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;dtls&#032;&#061;&#032;parseInt&#040;dtlo&#046;getTime&#040;&#041;&#032;&#047;&#032;1000&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;dtrs&#032;&#061;&#032;parseInt&#040;dtro&#046;getTime&#040;&#041;&#032;&#047;&#032;1000&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;&#040;dtls&#032;&#045;&#032;tout&#041;&#032;&#062;&#061;&#032;dtrs&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;tabl&#046;rows&#091;x&#093;&#046;cells&#091;0&#093;&#046;innerHTML&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;&#040;&#034;&#060;font&#032;color&#061;&#039;red&#039;&#062;&#034;&#032;&#043;&#032;temp&#032;&#043;&#032;&#034;&#060;&#047;font&#062;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;tabl&#046;rows&#091;x&#093;&#046;cells&#091;0&#093;&#046;innerHTML&#032;&#061;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#043;&#043;numb&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;document&#046;title&#032;&#061;&#032;&#040;&#034;Monitor&#032;&#091;&#034;&#032;&#043;&#032;numb&#032;&#043;&#032;&#034;&#093;&#032;&#091;&#034;&#032;&#043;&#032;dtlo&#046;getHours&#040;&#041;&#032;&#043;&#032;&#034;&#058;&#034;&#032;&#043;&#032;dtlo&#046;getMinutes&#040;&#041;&#032;&#043;&#032;&#034;&#093;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;var&#032;elel&#032;&#061;&#032;document&#046;getElementsByClassName&#040;&#034;list&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;for&#032;&#040;x&#032;&#061;&#032;0&#059;&#032;x&#032;&#060;&#032;elel&#046;length&#059;&#032;&#043;&#043;x&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;elel&#091;x&#093;&#046;innerHTML&#059;&#010;&#009;&#009;&#009;&#009;&#009;temp&#032;&#061;&#032;temp&#046;replace&#040;&#047;&#032;&#047;g&#044;&#032;&#034;&#060;br&#032;&#047;&#062;&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;elel&#091;x&#093;&#046;innerHTML&#032;&#061;&#032;temp&#059;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#060;&#047;script&#062;&#010;&#009;&#009;&#010;&#009;&#009;&#060;meta&#032;http&#045;equiv&#061;&#034;refresh&#034;&#032;content&#061;&#034;900&#034;&#062;&#010;&#009;&#060;&#047;head&#062;&#010;&#009;&#010;&#009;&#060;body&#032;onload&#061;&#034;init&#040;&#041;&#059;&#034;&#062;&#010;&#009;&#009;&#060;table&#032;id&#061;&#034;tabl&#034;&#032;width&#061;&#034;100&#037;&#034;&#062;&#010;&#009;&#009;&#009;&#060;tr&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;main&#034;&#062;Name&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;info&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;hide&#034;&#062;Time&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;hide&#034;&#062;Release&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;info&#032;hide&#034;&#062;Kernel&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;IPv4&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;IPv6&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;DNS&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;hide&#034;&#062;Gateway&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;inet&#032;main&#034;&#062;Inet&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;inet&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;hide&#034;&#062;CPU&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;main&#034;&#062;Disk&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;syst&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;hide&#034;&#062;RAM&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;syst&#032;hide&#034;&#062;Swap&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;koji&#032;main&#034;&#062;Koji&#032;&#060;a&#032;href&#061;&#034;javascript&#058;more&#040;&#039;koji&#039;&#041;&#059;&#034;&#062;&#091;i&#093;&#060;&#047;a&#062;&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;koji&#032;list&#032;hide&#034;&#062;Mock&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#009;&#060;th&#032;class&#061;&#034;koji&#032;list&#032;hide&#034;&#062;Pkgs&#060;&#047;th&#062;&#010;&#009;&#009;&#009;&#060;&#047;tr&#062;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#060;&#063;php&#010;&#009;&#009;&#009;&#009;foreach&#032;&#040;&#036;rows&#032;as&#032;&#036;rowd&#041;&#010;&#009;&#009;&#009;&#009;&#123;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;tr&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;0&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;1&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;2&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;info&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;3&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;4&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;5&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;6&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;7&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;inet&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;8&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;9&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;10&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;11&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;syst&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;12&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;koji&#032;main&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;13&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;koji&#032;list&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;14&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;td&#032;class&#061;&#092;&#034;koji&#032;list&#032;hide&#092;&#034;&#062;&#034;&#046;&#036;rowd&#091;15&#093;&#046;&#034;&#060;&#047;td&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;echo&#032;&#040;&#034;&#060;&#047;tr&#062;&#034;&#046;&#034;&#092;n&#034;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#125;&#010;&#009;&#009;&#009;&#063;&#062;&#010;&#009;&#009;&#060;&#047;table&#062;&#010;&#009;&#060;&#047;body&#062;&#010;&#060;&#047;html&#062;&#010;
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/488/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/488/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/488/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=488&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/02/03/simple-monitoring-shell-script-php-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>[offtopic] iTunes Library Scripts</title>
		<link>http://fossjon.wordpress.com/2012/01/18/offtopic-itunes-library-scripts/</link>
		<comments>http://fossjon.wordpress.com/2012/01/18/offtopic-itunes-library-scripts/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:37:08 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=485</guid>
		<description><![CDATA[So I was trying to get my pc laptop setup for fudcon which meant a triple boot setup between windows, ubuntu and fedora. I had some troubles importing various important information about my music within iTunes. Here is a script to remove duplicate songs in an iTunes folder: import&#032;hashlib&#010;import&#032;os&#010;import&#032;re&#010;import&#032;sys&#010;&#010;def&#032;hash&#040;fnam&#041;&#058;&#010;&#009;fobj&#032;&#061;&#032;open&#040;fnam&#044;&#032;&#034;r&#034;&#041;&#010;&#009;hobj&#032;&#061;&#032;hashlib&#046;sha256&#040;&#041;&#010;&#009;&#010;&#009;while&#032;&#040;1&#041;&#058;&#010;&#009;&#009;data&#032;&#061;&#032;fobj&#046;read&#040;2&#042;&#042;20&#041;&#010;&#009;&#009;&#010;&#009;&#009;if&#032;&#040;not&#032;data&#041;&#058;&#010;&#009;&#009;&#009;break&#010;&#009;&#009;&#010;&#009;&#009;hobj&#046;update&#040;data&#041;&#010;&#009;&#010;&#009;return&#032;hobj&#046;hexdigest&#040;&#041;&#010;&#010;fdic&#032;&#061;&#032;&#123;&#125;&#010;&#010;while&#032;&#040;1&#041;&#058;&#010;&#009;file&#032;&#061;&#032;sys&#046;stdin&#046;readline&#040;&#041;&#010;&#009;&#010;&#009;if&#032;&#040;not&#032;file&#041;&#058;&#010;&#009;&#009;break&#010;&#009;&#010;&#009;file&#032;&#061;&#032;file&#046;strip&#040;&#041;&#010;&#009;uniq&#032;&#061;&#032;hash&#040;file&#041;&#010;&#009;&#010;&#009;if&#032;&#040;uniq&#032;in&#032;fdic&#046;keys&#040;&#041;&#041;&#058;&#010;&#009;&#009;print&#040;&#034;removing&#058;&#034;&#044;file&#041;&#010;&#009;&#009;os&#046;unlink&#040;file&#041;&#010;&#009;&#010;&#009;else&#058;&#010;&#009;&#009;print&#040;&#034;found&#058;&#034;&#044;file&#041;&#010;&#009;&#009;fdic&#091;uniq&#093;&#032;&#061;&#032;file&#010; This script attempts to merge an [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=485&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So I was trying to get my pc laptop setup for fudcon which meant a triple boot setup between windows, ubuntu and fedora. I had some troubles importing various important information about my music within iTunes. </p>
<p>Here is a script to remove duplicate songs in an iTunes folder:</p>
<pre>
import&#032;hashlib&#010;import&#032;os&#010;import&#032;re&#010;import&#032;sys&#010;&#010;def&#032;hash&#040;fnam&#041;&#058;&#010;&#009;fobj&#032;&#061;&#032;open&#040;fnam&#044;&#032;&#034;r&#034;&#041;&#010;&#009;hobj&#032;&#061;&#032;hashlib&#046;sha256&#040;&#041;&#010;&#009;&#010;&#009;while&#032;&#040;1&#041;&#058;&#010;&#009;&#009;data&#032;&#061;&#032;fobj&#046;read&#040;2&#042;&#042;20&#041;&#010;&#009;&#009;&#010;&#009;&#009;if&#032;&#040;not&#032;data&#041;&#058;&#010;&#009;&#009;&#009;break&#010;&#009;&#009;&#010;&#009;&#009;hobj&#046;update&#040;data&#041;&#010;&#009;&#010;&#009;return&#032;hobj&#046;hexdigest&#040;&#041;&#010;&#010;fdic&#032;&#061;&#032;&#123;&#125;&#010;&#010;while&#032;&#040;1&#041;&#058;&#010;&#009;file&#032;&#061;&#032;sys&#046;stdin&#046;readline&#040;&#041;&#010;&#009;&#010;&#009;if&#032;&#040;not&#032;file&#041;&#058;&#010;&#009;&#009;break&#010;&#009;&#010;&#009;file&#032;&#061;&#032;file&#046;strip&#040;&#041;&#010;&#009;uniq&#032;&#061;&#032;hash&#040;file&#041;&#010;&#009;&#010;&#009;if&#032;&#040;uniq&#032;in&#032;fdic&#046;keys&#040;&#041;&#041;&#058;&#010;&#009;&#009;print&#040;&#034;removing&#058;&#034;&#044;file&#041;&#010;&#009;&#009;os&#046;unlink&#040;file&#041;&#010;&#009;&#010;&#009;else&#058;&#010;&#009;&#009;print&#040;&#034;found&#058;&#034;&#044;file&#041;&#010;&#009;&#009;fdic&#091;uniq&#093;&#032;&#061;&#032;file&#010;
</pre>
<p>This script attempts to merge an old iTunes library xml file with a newly imported one. The result is a merged iTunes library xml file that can then be re-imported into iTunes thus restoring some various meta-data about your music. Note: Before you re-import the merged xml playlist file, make sure you delete the current one and disable the check-box stating to copy songs into the media folder.</p>
<pre>
import&#032;os&#010;import&#032;re&#010;import&#032;sys&#010;&#010;if&#032;&#040;len&#040;sys&#046;argv&#041;&#032;&#060;&#032;3&#041;&#058;&#010;&#009;print&#040;&#034;Usage&#058;&#032;&#037;s&#032;&#060;source&#062;&#032;&#060;merge&#062;&#034;&#032;&#037;&#032;&#040;sys&#046;argv&#091;0&#093;&#041;&#041;&#010;&#009;sys&#046;exit&#040;0&#041;&#010;&#010;def&#032;outp&#040;ordr&#044;&#032;dict&#044;&#032;line&#041;&#058;&#010;&#009;for&#032;item&#032;in&#032;ordr&#058;&#010;&#009;&#009;sys&#046;stdout&#046;write&#040;dict&#091;item&#093;&#091;1&#093;&#041;&#010;&#009;&#010;&#009;sys&#046;stdout&#046;write&#040;line&#041;&#010;&#009;sys&#046;stdout&#046;flush&#040;&#041;&#010;&#010;def&#032;xmlr&#040;fnam&#044;&#032;sdic&#061;&#123;&#125;&#041;&#058;&#010;&#009;alen&#032;&#061;&#032;len&#040;sys&#046;argv&#041;&#010;&#009;slen&#032;&#061;&#032;len&#040;sdic&#046;keys&#040;&#041;&#041;&#010;&#009;xord&#032;&#061;&#032;&#091;&#093;&#059;&#032;xdic&#032;&#061;&#032;&#123;&#125;&#010;&#009;xobj&#032;&#061;&#032;open&#040;fnam&#044;&#032;&#034;r&#034;&#041;&#010;&#009;&#010;&#009;xdat&#032;&#061;&#032;&#123;&#125;&#010;&#009;&#010;&#009;while&#032;&#040;1&#041;&#058;&#010;&#009;&#009;xlin&#032;&#061;&#032;xobj&#046;readline&#040;&#041;&#010;&#009;&#009;&#010;&#009;&#009;if&#032;&#040;not&#032;xlin&#041;&#058;&#010;&#009;&#009;&#009;break&#010;&#009;&#009;&#010;&#009;&#009;slin&#032;&#061;&#032;xlin&#046;strip&#040;&#034;&#092;0&#092;t&#092;r&#092;n&#032;&#034;&#041;&#010;&#009;&#009;xreg&#032;&#061;&#032;re&#046;match&#040;&#034;&#094;&#060;key&#062;&#040;&#091;&#094;&#060;&#093;&#043;&#041;&#060;&#047;key&#062;&#040;&#060;&#091;&#094;&#062;&#093;&#043;&#062;&#091;&#094;&#060;&#093;&#043;&#060;&#091;&#094;&#062;&#093;&#043;&#062;&#041;&#036;&#034;&#044;&#032;slin&#041;&#010;&#009;&#009;&#010;&#009;&#009;try&#058;&#010;&#009;&#009;&#009;xkey&#032;&#061;&#032;&#040;xdic&#091;&#034;Artist&#034;&#093;&#091;0&#093;&#032;&#043;&#032;xdic&#091;&#034;Album&#034;&#093;&#091;0&#093;&#032;&#043;&#032;xdic&#091;&#034;Name&#034;&#093;&#091;0&#093;&#041;&#010;&#009;&#009;&#010;&#009;&#009;except&#058;&#010;&#009;&#009;&#009;xkey&#032;&#061;&#032;&#034;&#034;&#010;&#009;&#009;&#010;&#009;&#009;if&#032;&#040;slin&#032;&#061;&#061;&#032;&#034;&#060;dict&#062;&#034;&#041;&#058;&#010;&#009;&#009;&#009;if&#032;&#040;slen&#032;&#062;&#032;0&#041;&#058;&#010;&#009;&#009;&#009;&#009;outp&#040;xord&#044;&#032;xdic&#044;&#032;xlin&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;xord&#032;&#061;&#032;&#091;&#093;&#059;&#032;xdic&#032;&#061;&#032;&#123;&#125;&#010;&#009;&#009;&#010;&#009;&#009;elif&#032;&#040;xreg&#041;&#058;&#010;&#009;&#009;&#009;if&#032;&#040;xreg&#046;group&#040;1&#041;&#032;not&#032;in&#032;xord&#041;&#058;&#010;&#009;&#009;&#009;&#009;xord&#046;append&#040;xreg&#046;group&#040;1&#041;&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;xdic&#091;xreg&#046;group&#040;1&#041;&#093;&#032;&#061;&#032;&#091;xreg&#046;group&#040;2&#041;&#044;&#032;xlin&#093;&#010;&#009;&#009;&#010;&#009;&#009;elif&#032;&#040;slin&#032;&#061;&#061;&#032;&#034;&#060;&#047;dict&#062;&#034;&#041;&#058;&#010;&#009;&#009;&#009;if&#032;&#040;slen&#032;&#060;&#032;1&#041;&#058;&#010;&#009;&#009;&#009;&#009;xdat&#091;xkey&#093;&#032;&#061;&#032;xdic&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;else&#058;&#010;&#009;&#009;&#009;&#009;for&#032;x&#032;in&#032;range&#040;3&#044;&#032;alen&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;try&#058;&#010;&#009;&#009;&#009;&#009;&#009;&#009;xdic&#091;sys&#046;argv&#091;x&#093;&#093;&#032;&#061;&#032;sdic&#091;xkey&#093;&#091;sys&#046;argv&#091;x&#093;&#093;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;sys&#046;argv&#091;x&#093;&#032;not&#032;in&#032;xord&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#009;xord&#046;append&#040;sys&#046;argv&#091;x&#093;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;except&#058;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#035;print&#040;&#034;error&#058;&#034;&#044;sys&#046;exc&#095;info&#040;&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;pass&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;outp&#040;xord&#044;&#032;xdic&#044;&#032;xlin&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;xord&#032;&#061;&#032;&#091;&#093;&#059;&#032;xdic&#032;&#061;&#032;&#123;&#125;&#010;&#009;&#009;&#010;&#009;&#009;else&#058;&#010;&#009;&#009;&#009;if&#032;&#040;slen&#032;&#062;&#032;0&#041;&#058;&#010;&#009;&#009;&#009;&#009;outp&#040;xord&#044;&#032;xdic&#044;&#032;xlin&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;xord&#032;&#061;&#032;&#091;&#093;&#059;&#032;xdic&#032;&#061;&#032;&#123;&#125;&#010;&#009;&#010;&#009;return&#032;xdat&#010;&#010;sdat&#032;&#061;&#032;xmlr&#040;sys&#046;argv&#091;1&#093;&#041;&#010;ddat&#032;&#061;&#032;xmlr&#040;sys&#046;argv&#091;2&#093;&#044;&#032;sdic&#061;sdat&#041;&#010;
</pre>
<p>Here&#8217;s an example of how to use the command:</p>
<pre>
python.exe /cygdrive/c/Users/jon/Desktop/itml.py /cygdrive/g/tmp/itunes/iTunes\ Music\ Library0.xml /cygdrive/g/tmp/itunes/iTunes\ Music\ Library.xml 'Date Added' 'Play Count' | unix2dos.exe | tee /cygdrive/g/tmp/itunes/iTunes\ Music\ Library2.xml &amp;&amp; cp /cygdrive/g/tmp/itunes/iTunes\ Music\ Library2.xml /cygdrive/g/tmp/itunes/iTunes\ Music\ Library3.xml
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/485/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/485/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/485/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=485&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/01/18/offtopic-itunes-library-scripts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>[updated] F15 Koji Que Script</title>
		<link>http://fossjon.wordpress.com/2012/01/18/updated-f15-koji-que-script/</link>
		<comments>http://fossjon.wordpress.com/2012/01/18/updated-f15-koji-que-script/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 20:14:03 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=482</guid>
		<description><![CDATA[Here it is, hopefully it works a bit better! &#035;&#033;&#047;bin&#047;bash&#010;export&#032;x&#061;1&#010;export&#032;l&#061;&#096;find&#032;&#046;&#047;f15srpms&#032;&#045;type&#032;f&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#092;&#046;src&#092;&#046;rpm&#039;&#032;&#124;&#032;wc&#032;&#045;l&#096;&#010;koji&#032;list&#045;tagged&#032;dist&#045;f15&#032;&#062;&#032;&#047;tmp&#047;pkoji&#046;txt&#010;find&#032;&#046;&#047;f15srpms&#032;&#045;type&#032;f&#032;&#124;&#032;sort&#032;&#045;R&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#092;&#046;src&#092;&#046;rpm&#039;&#032;&#062;&#032;&#047;tmp&#047;pkgsl&#046;txt&#010;while&#032;true&#010;do&#010;&#009;while&#032;true&#010;&#009;do&#010;&#009;&#009;ak&#032;list&#045;tagged&#032;dist&#045;f15&#032;&#062;&#032;&#047;tmp&#047;akoji&#046;txt&#010;&#009;&#009;ak&#032;list&#045;tasks&#032;&#045;&#045;mine&#032;&#045;&#045;quiet&#032;&#124;&#032;grep&#032;&#039;&#094;&#091;0&#045;9&#093;&#039;&#032;&#124;&#032;grep&#032;&#045;Ei&#032;&#039;&#032;&#040;open&#124;free&#041;&#032;&#046;&#042;&#032;build&#039;&#032;&#062;&#032;&#047;tmp&#047;tasks&#046;txt&#010;&#009;&#009;&#035;echo&#032;&#034;number&#032;of&#032;our&#032;tasks&#032;&#061;&#061;&#032;&#096;cat&#032;&#047;tmp&#047;tasks&#046;txt&#032;&#124;&#032;wc&#032;&#045;l&#096;&#034;&#010;&#009;&#009;n&#061;&#096;cat&#032;&#047;tmp&#047;tasks&#046;txt&#032;&#124;&#032;wc&#032;&#045;l&#096;&#010;&#009;&#009;if&#032;&#091;&#032;&#036;n&#032;&#045;ge&#032;10&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;break&#010;&#009;&#009;fi&#010;&#009;&#009;p&#061;&#096;cat&#032;&#047;tmp&#047;pkgsl&#046;txt&#032;&#124;&#032;head&#032;&#045;n&#032;&#034;&#036;x&#034;&#032;&#124;&#032;tail&#032;&#045;n&#032;1&#096;&#010;&#009;&#009;q&#061;&#096;basename&#032;&#034;&#036;p&#034;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#045;&#091;&#094;&#045;&#093;&#042;&#045;&#091;&#094;&#045;&#093;&#042;&#036;&#047;&#047;&#039;&#096;&#010;&#009;&#009;let&#032;x&#061;&#034;&#040;&#036;x&#032;&#037;&#032;&#036;l&#041;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;&#035;echo&#032;&#034;checking&#032;pkg&#032;&#091;&#036;p&#093;&#032;name&#032;&#091;&#036;q&#093;&#032;not&#032;built&#032;on&#032;&#040;akoji&#041;&#032;and&#032;built&#032;on&#032;&#040;pkoji&#041;&#034;&#010;&#009;&#009;c&#061;&#096;cat&#032;&#047;tmp&#047;akoji&#046;txt&#032;&#047;tmp&#047;tasks&#046;txt&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#036;q&#034;&#096;&#010;&#009;&#009;if&#032;&#091;&#032;&#034;&#036;c&#034;&#032;&#033;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;continue&#010;&#009;&#009;fi&#010;&#009;&#009;c&#061;&#096;cat&#032;&#047;tmp&#047;pkoji&#046;txt&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#036;q&#034;&#096;&#010;&#009;&#009;if&#032;&#091;&#032;&#034;&#036;c&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;continue&#010;&#009;&#009;fi&#010;&#009;&#009;echo&#032;&#034;queing&#032;&#091;&#036;p&#093;&#032;position&#032;&#091;&#036;x&#093;&#034;&#010;&#009;&#009;ak&#032;build&#032;dist&#045;f15&#032;&#034;&#036;p&#034;&#032;&#045;&#045;nowait&#032;&#045;&#045;background&#010;&#009;done&#010;&#009;sleep&#032;60&#010;done&#010;<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=482&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Here it is, hopefully it works a bit better!</p>
<pre>
&#035;&#033;&#047;bin&#047;bash&#010;export&#032;x&#061;1&#010;export&#032;l&#061;&#096;find&#032;&#046;&#047;f15srpms&#032;&#045;type&#032;f&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#092;&#046;src&#092;&#046;rpm&#039;&#032;&#124;&#032;wc&#032;&#045;l&#096;&#010;koji&#032;list&#045;tagged&#032;dist&#045;f15&#032;&#062;&#032;&#047;tmp&#047;pkoji&#046;txt&#010;find&#032;&#046;&#047;f15srpms&#032;&#045;type&#032;f&#032;&#124;&#032;sort&#032;&#045;R&#032;&#124;&#032;grep&#032;&#045;i&#032;&#039;&#092;&#046;src&#092;&#046;rpm&#039;&#032;&#062;&#032;&#047;tmp&#047;pkgsl&#046;txt&#010;while&#032;true&#010;do&#010;&#009;while&#032;true&#010;&#009;do&#010;&#009;&#009;ak&#032;list&#045;tagged&#032;dist&#045;f15&#032;&#062;&#032;&#047;tmp&#047;akoji&#046;txt&#010;&#009;&#009;ak&#032;list&#045;tasks&#032;&#045;&#045;mine&#032;&#045;&#045;quiet&#032;&#124;&#032;grep&#032;&#039;&#094;&#091;0&#045;9&#093;&#039;&#032;&#124;&#032;grep&#032;&#045;Ei&#032;&#039;&#032;&#040;open&#124;free&#041;&#032;&#046;&#042;&#032;build&#039;&#032;&#062;&#032;&#047;tmp&#047;tasks&#046;txt&#010;&#009;&#009;&#035;echo&#032;&#034;number&#032;of&#032;our&#032;tasks&#032;&#061;&#061;&#032;&#096;cat&#032;&#047;tmp&#047;tasks&#046;txt&#032;&#124;&#032;wc&#032;&#045;l&#096;&#034;&#010;&#009;&#009;n&#061;&#096;cat&#032;&#047;tmp&#047;tasks&#046;txt&#032;&#124;&#032;wc&#032;&#045;l&#096;&#010;&#009;&#009;if&#032;&#091;&#032;&#036;n&#032;&#045;ge&#032;10&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;break&#010;&#009;&#009;fi&#010;&#009;&#009;p&#061;&#096;cat&#032;&#047;tmp&#047;pkgsl&#046;txt&#032;&#124;&#032;head&#032;&#045;n&#032;&#034;&#036;x&#034;&#032;&#124;&#032;tail&#032;&#045;n&#032;1&#096;&#010;&#009;&#009;q&#061;&#096;basename&#032;&#034;&#036;p&#034;&#032;&#124;&#032;sed&#032;&#045;e&#032;&#039;s&#047;&#045;&#091;&#094;&#045;&#093;&#042;&#045;&#091;&#094;&#045;&#093;&#042;&#036;&#047;&#047;&#039;&#096;&#010;&#009;&#009;let&#032;x&#061;&#034;&#040;&#036;x&#032;&#037;&#032;&#036;l&#041;&#032;&#043;&#032;1&#034;&#010;&#009;&#009;&#035;echo&#032;&#034;checking&#032;pkg&#032;&#091;&#036;p&#093;&#032;name&#032;&#091;&#036;q&#093;&#032;not&#032;built&#032;on&#032;&#040;akoji&#041;&#032;and&#032;built&#032;on&#032;&#040;pkoji&#041;&#034;&#010;&#009;&#009;c&#061;&#096;cat&#032;&#047;tmp&#047;akoji&#046;txt&#032;&#047;tmp&#047;tasks&#046;txt&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#036;q&#034;&#096;&#010;&#009;&#009;if&#032;&#091;&#032;&#034;&#036;c&#034;&#032;&#033;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;continue&#010;&#009;&#009;fi&#010;&#009;&#009;c&#061;&#096;cat&#032;&#047;tmp&#047;pkoji&#046;txt&#032;&#124;&#032;grep&#032;&#045;i&#032;&#034;&#036;q&#034;&#096;&#010;&#009;&#009;if&#032;&#091;&#032;&#034;&#036;c&#034;&#032;&#061;&#061;&#032;&#034;&#034;&#032;&#093;&#010;&#009;&#009;then&#010;&#009;&#009;&#009;continue&#010;&#009;&#009;fi&#010;&#009;&#009;echo&#032;&#034;queing&#032;&#091;&#036;p&#093;&#032;position&#032;&#091;&#036;x&#093;&#034;&#010;&#009;&#009;ak&#032;build&#032;dist&#045;f15&#032;&#034;&#036;p&#034;&#032;&#045;&#045;nowait&#032;&#045;&#045;background&#010;&#009;done&#010;&#009;sleep&#032;60&#010;done&#010;
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/482/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/482/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/482/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=482&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2012/01/18/updated-f15-koji-que-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>[off-topic] Fighting Governments &#8212; DNS Re-Implemented</title>
		<link>http://fossjon.wordpress.com/2011/12/21/off-topic-fighting-governments-dns-re-implemented/</link>
		<comments>http://fossjon.wordpress.com/2011/12/21/off-topic-fighting-governments-dns-re-implemented/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 08:36:32 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=472</guid>
		<description><![CDATA[The U.S. government is taking down websites using DNS poisoning/hijacking methods on pages that are claimed to be infringing on copyright law. I have re-written a *really* basic DNS server which re-implements DNS forwarding/proxying, DNS caching and DNS un-blacklisting of A/IN/IPv4 records. Basically, if one were to run their own DNS server (like the one [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=472&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The U.S. government is taking down websites using DNS poisoning/hijacking methods on pages that are claimed to be infringing on copyright law. I have re-written a *really* basic DNS server which re-implements DNS forwarding/proxying, DNS caching and DNS un-blacklisting of A/IN/IPv4 records. Basically, if one were to run their own DNS server (like the one below) and maintain a simple list of government-poisoned IP addresses for it, the DNS server would be able to provide (previously expired but still good) IPv4 addresses for the blocked site. This could essentially allow one to re-access a now blacklisted website. </p>
<p>Here is a screen shot of my computer using this basic DNS server to visit slashdot: </p>
<pre>
$ host slashdot.org
slashdot.org has address 216.34.181.45
slashdot.org mail is handled by 10 mx.sourceforge.net.
</pre>
<p><a href="http://fossjon.files.wordpress.com/2011/12/slashup.png"><img src="http://fossjon.files.wordpress.com/2011/12/slashup.png?w=630" alt="" /></a></p>
<p>And here is what it would look like if it were taken down via DNS poisoning: </p>
<pre>
$ host slashdot.org
slashdot.org has address 74.81.170.110
slashdot.org has address 216.34.181.45
slashdot.org mail is handled by 10 mx.sourceforge.net.
</pre>
<p><a href="http://fossjon.files.wordpress.com/2011/12/slashdown.png"><img src="http://fossjon.files.wordpress.com/2011/12/slashdown.png?w=630" alt="" /></a></p>
<p>Once this happens, all one has to do now is append the newly offending IP address to the DNS server&#8217;s black list text file like so: </p>
<pre>
# cat dnsb.txt
74.81.170.110
</pre>
<p>And if you perform another DNS request to the same (custom) DNS server, you get the last cached answers bringing you back to slashdot: </p>
<pre>
$ host slashdot.org
slashdot.org has address 216.34.181.45
slashdot.org mail is handled by 10 mx.sourceforge.net.
</pre>
<p><a href="http://fossjon.files.wordpress.com/2011/12/slashup.png"><img src="http://fossjon.files.wordpress.com/2011/12/slashup.png?w=630" alt="" /></a></p>
<p>The code below is simply proof-of-concept software and should *NOT* be used for production as I have implemented everything from scratch here and know very little about how DNS really works (i.e. message compression). </p>
<pre>
import&#032;os&#010;import&#032;re&#010;import&#032;socket&#010;import&#032;sqlite3&#010;import&#032;sys&#010;import&#032;time&#010;&#010;sqlo&#032;&#061;&#032;sqlite3&#046;connect&#040;&#034;dnsd&#046;db&#034;&#041;&#010;sqlc&#032;&#061;&#032;sqlo&#046;cursor&#040;&#041;&#010;&#010;def&#032;fixs&#040;inpt&#041;&#058;&#010;&#009;outp&#032;&#061;&#032;&#034;&#034;&#010;&#009;&#010;&#009;for&#032;letr&#032;in&#032;inpt&#058;&#010;&#009;&#009;if&#032;&#040;ord&#040;letr&#041;&#032;&#060;&#032;32&#041;&#058;&#010;&#009;&#009;&#009;outp&#032;&#043;&#061;&#032;&#034;&#046;&#034;&#010;&#009;&#009;&#010;&#009;&#009;else&#058;&#010;&#009;&#009;&#009;outp&#032;&#043;&#061;&#032;letr&#010;&#009;&#010;&#009;return&#032;outp&#010;&#010;def&#032;rslv&#040;&#041;&#058;&#010;&#009;nlst&#032;&#061;&#032;&#091;&#093;&#010;&#009;fobj&#032;&#061;&#032;open&#040;&#034;&#047;etc&#047;resolv&#046;conf&#034;&#044;&#032;&#034;r&#034;&#041;&#010;&#009;&#010;&#009;dnsl&#032;&#061;&#032;fobj&#046;readlines&#040;&#041;&#010;&#009;&#010;&#009;for&#032;dnse&#032;in&#032;dnsl&#058;&#010;&#009;&#009;item&#032;&#061;&#032;dnse&#046;strip&#040;&#034;&#092;0&#092;t&#092;r&#092;n&#032;&#034;&#041;&#010;&#009;&#009;regx&#032;&#061;&#032;re&#046;match&#040;&#034;&#094;nameserver&#091;&#032;&#092;t&#093;&#042;&#040;&#046;&#042;&#041;&#036;&#034;&#044;&#032;item&#041;&#010;&#009;&#009;&#010;&#009;&#009;if&#032;&#040;regx&#041;&#058;&#010;&#009;&#009;&#009;addr&#032;&#061;&#032;regx&#046;group&#040;1&#041;&#010;&#009;&#009;&#009;nlst&#046;append&#040;addr&#041;&#010;&#009;&#010;&#009;return&#032;nlst&#010;&#010;def&#032;forw&#040;addr&#044;&#032;data&#041;&#058;&#010;&#009;resp&#032;&#061;&#032;&#034;&#034;&#010;&#009;serv&#032;&#061;&#032;&#040;addr&#044;&#032;53&#041;&#010;&#009;nobj&#032;&#061;&#032;socket&#046;socket&#040;socket&#046;AF&#095;INET&#044;&#032;socket&#046;SOCK&#095;DGRAM&#041;&#010;&#009;&#010;&#009;try&#058;&#010;&#009;&#009;nobj&#046;settimeout&#040;5&#041;&#010;&#009;&#009;nobj&#046;sendto&#040;data&#044;&#032;serv&#041;&#010;&#009;&#009;resp&#032;&#061;&#032;nobj&#046;recv&#040;2&#042;&#042;20&#041;&#010;&#009;&#010;&#009;except&#058;&#010;&#009;&#009;pass&#010;&#009;&#010;&#009;try&#058;&#010;&#009;&#009;nobj&#046;close&#040;&#041;&#010;&#009;&#010;&#009;except&#058;&#010;&#009;&#009;pass&#010;&#009;&#010;&#009;return&#032;resp&#010;&#010;def&#032;answ&#040;data&#044;&#032;deet&#061;False&#041;&#058;&#010;&#009;&#035;&#032;http&#058;&#047;&#047;www&#046;ietf&#046;org&#047;rfc&#047;rfc1035&#046;txt&#010;&#009;&#010;&#009;requ&#032;&#061;&#032;13&#010;&#009;null&#032;&#061;&#032;&#040;requ&#032;&#043;&#032;data&#091;requ&#058;&#093;&#046;find&#040;&#034;&#092;0&#034;&#041;&#041;&#010;&#009;dtyp&#032;&#061;&#032;&#040;null&#032;&#043;&#032;5&#041;&#010;&#009;dlen&#032;&#061;&#032;&#040;dtyp&#032;&#043;&#032;10&#041;&#010;&#009;&#010;&#009;size&#032;&#061;&#032;len&#040;data&#041;&#010;&#009;name&#032;&#061;&#032;fixs&#040;data&#091;requ&#058;null&#093;&#041;&#010;&#009;begi&#032;&#061;&#032;&#045;1&#010;&#009;endi&#032;&#061;&#032;&#045;1&#010;&#009;ansl&#032;&#061;&#032;&#091;&#093;&#010;&#009;&#010;&#009;while&#032;&#040;&#040;dlen&#032;&#043;&#032;1&#041;&#032;&#060;&#032;size&#041;&#058;&#010;&#009;&#009;dsiz&#032;&#061;&#032;&#040;&#040;ord&#040;data&#091;dlen&#093;&#041;&#032;&#060;&#060;&#032;8&#041;&#032;&#043;&#032;ord&#040;data&#091;dlen&#032;&#043;&#032;1&#093;&#041;&#041;&#010;&#009;&#009;dsig&#032;&#061;&#032;&#040;dtyp&#032;&#043;&#032;4&#041;&#010;&#009;&#009;&#010;&#009;&#009;if&#032;&#040;&#040;&#040;dlen&#032;&#043;&#032;5&#041;&#032;&#060;&#032;size&#041;&#032;and&#032;&#040;data&#091;dtyp&#058;dsig&#093;&#032;&#061;&#061;&#032;&#034;&#092;xc0&#092;x0c&#092;x00&#092;x01&#034;&#041;&#041;&#058;&#010;&#009;&#009;&#009;if&#032;&#040;deet&#032;&#061;&#061;&#032;True&#041;&#058;&#010;&#009;&#009;&#009;&#009;if&#032;&#040;begi&#032;&#061;&#061;&#032;&#045;1&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;begi&#032;&#061;&#032;dtyp&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;else&#058;&#010;&#009;&#009;&#009;&#009;&#009;endi&#032;&#061;&#032;&#040;dlen&#032;&#043;&#032;1&#032;&#043;&#032;dsiz&#032;&#043;&#032;1&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;addr&#032;&#061;&#032;&#034;&#034;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;for&#032;x&#032;in&#032;range&#040;2&#044;&#032;2&#032;&#043;&#032;4&#041;&#058;&#010;&#009;&#009;&#009;&#009;addr&#032;&#043;&#061;&#032;&#040;&#034;&#046;&#034;&#032;&#043;&#032;str&#040;ord&#040;data&#091;dlen&#032;&#043;&#032;x&#093;&#041;&#041;&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;ansl&#046;append&#040;&#091;name&#044;&#032;addr&#091;1&#058;&#093;&#093;&#041;&#010;&#009;&#009;&#010;&#009;&#009;dtyp&#032;&#061;&#032;&#040;dlen&#032;&#043;&#032;1&#032;&#043;&#032;dsiz&#032;&#043;&#032;1&#041;&#010;&#009;&#009;dlen&#032;&#061;&#032;&#040;dtyp&#032;&#043;&#032;10&#041;&#010;&#009;&#010;&#009;if&#032;&#040;begi&#032;&#061;&#061;&#032;&#045;1&#041;&#058;&#010;&#009;&#009;begi&#032;&#061;&#032;&#040;null&#032;&#043;&#032;5&#041;&#010;&#009;&#009;endi&#032;&#061;&#032;begi&#010;&#009;&#010;&#009;if&#032;&#040;deet&#032;&#061;&#061;&#032;False&#041;&#058;&#010;&#009;&#009;return&#032;ansl&#010;&#009;&#010;&#009;else&#058;&#010;&#009;&#009;return&#032;&#091;begi&#044;&#032;endi&#093;&#010;&#010;def&#032;sqle&#040;comd&#044;&#032;outp&#061;False&#041;&#058;&#010;&#009;global&#032;sqlo&#010;&#009;global&#032;sqlc&#010;&#009;&#010;&#009;try&#058;&#010;&#009;&#009;sqlc&#046;execute&#040;comd&#041;&#010;&#009;&#010;&#009;except&#058;&#010;&#009;&#009;pass&#010;&#009;&#010;&#009;if&#032;&#040;outp&#032;&#061;&#061;&#032;False&#041;&#058;&#010;&#009;&#009;sqlo&#046;commit&#040;&#041;&#010;&#009;&#010;&#009;else&#058;&#010;&#009;&#009;return&#032;sqlc&#046;fetchall&#040;&#041;&#010;&#010;def&#032;filt&#040;&#041;&#058;&#010;&#009;try&#058;&#010;&#009;&#009;fobj&#032;&#061;&#032;open&#040;&#034;dnsb&#046;txt&#034;&#044;&#032;&#034;r&#034;&#041;&#010;&#009;&#009;&#010;&#009;&#009;for&#032;line&#032;in&#032;fobj&#046;readlines&#040;&#041;&#058;&#010;&#009;&#009;&#009;addr&#032;&#061;&#032;line&#046;strip&#040;&#034;&#092;0&#092;t&#092;r&#092;n&#032;&#034;&#041;&#010;&#009;&#009;&#009;sqle&#040;&#034;DELETE&#032;FROM&#032;data&#032;WHERE&#032;addr&#032;&#061;&#032;&#039;&#037;s&#039;&#059;&#034;&#032;&#037;&#032;&#040;addr&#041;&#041;&#010;&#009;&#009;&#010;&#009;&#009;fobj&#046;close&#040;&#041;&#010;&#009;&#010;&#009;except&#058;&#010;&#009;&#009;return&#032;0&#010;&#009;&#010;&#009;return&#032;1&#010;&#010;def&#032;cche&#040;name&#041;&#058;&#010;&#009;dbdl&#032;&#061;&#032;sqle&#040;&#034;SELECT&#032;&#042;&#032;FROM&#032;data&#032;WHERE&#032;name&#032;&#061;&#032;&#039;&#037;s&#039;&#059;&#034;&#032;&#037;&#032;&#040;name&#041;&#044;&#032;outp&#061;True&#041;&#010;&#009;outp&#032;&#061;&#032;&#091;&#093;&#010;&#009;&#010;&#009;for&#032;dbdi&#032;in&#032;dbdl&#058;&#010;&#009;&#009;adrl&#032;&#061;&#032;dbdi&#091;1&#093;&#046;split&#040;&#034;&#046;&#034;&#041;&#010;&#009;&#009;adrs&#032;&#061;&#032;&#034;&#034;&#010;&#009;&#009;&#010;&#009;&#009;for&#032;adri&#032;in&#032;adrl&#058;&#010;&#009;&#009;&#009;adrs&#032;&#043;&#061;&#032;chr&#040;int&#040;adri&#041;&#041;&#010;&#009;&#009;&#010;&#009;&#009;outp&#046;append&#040;&#091;int&#040;dbdi&#091;2&#093;&#041;&#044;&#032;adrs&#093;&#041;&#010;&#009;&#010;&#009;outp&#046;sort&#040;&#041;&#010;&#009;outp&#046;reverse&#040;&#041;&#010;&#009;&#010;&#009;return&#032;outp&#010;&#010;def&#032;shim&#040;data&#044;&#032;adrl&#041;&#058;&#010;&#009;hedn&#032;&#061;&#032;&#091;6&#044;&#032;8&#093;&#010;&#009;payn&#032;&#061;&#032;answ&#040;data&#044;&#032;deet&#061;True&#041;&#010;&#009;&#010;&#009;lead&#032;&#061;&#032;&#040;payn&#091;0&#093;&#032;&#043;&#032;12&#041;&#010;&#009;size&#032;&#061;&#032;len&#040;adrl&#041;&#010;&#009;&#010;&#009;dlen&#032;&#061;&#032;&#040;chr&#040;&#040;size&#032;&#062;&#062;&#032;8&#041;&#032;&#038;&#032;0xff&#041;&#032;&#043;&#032;chr&#040;&#040;size&#032;&#062;&#062;&#032;0&#041;&#032;&#038;&#032;0xff&#041;&#041;&#010;&#009;head&#032;&#061;&#032;&#040;data&#091;&#058;hedn&#091;0&#093;&#093;&#032;&#043;&#032;dlen&#032;&#043;&#032;data&#091;hedn&#091;1&#093;&#058;payn&#091;0&#093;&#093;&#041;&#010;&#009;&#010;&#009;payl&#032;&#061;&#032;&#034;&#034;&#010;&#009;&#010;&#009;for&#032;adri&#032;in&#032;adrl&#058;&#010;&#009;&#009;payl&#032;&#043;&#061;&#032;&#040;data&#091;payn&#091;0&#093;&#058;lead&#093;&#032;&#043;&#032;adri&#091;1&#093;&#041;&#010;&#009;&#010;&#009;payl&#032;&#043;&#061;&#032;data&#091;payn&#091;1&#093;&#058;&#093;&#010;&#009;&#010;&#009;outp&#032;&#061;&#032;&#040;head&#032;&#043;&#032;payl&#041;&#010;&#009;&#010;&#009;&#035;&#032;beg&#058;&#032;compression&#032;offset&#032;bypass&#010;&#009;&#010;&#009;outp&#032;&#061;&#032;&#040;outp&#091;&#058;8&#093;&#032;&#043;&#032;chr&#040;0&#041;&#032;&#043;&#032;chr&#040;0&#041;&#032;&#043;&#032;outp&#091;10&#058;&#093;&#041;&#010;&#009;outp&#032;&#061;&#032;&#040;outp&#091;&#058;10&#093;&#032;&#043;&#032;chr&#040;0&#041;&#032;&#043;&#032;chr&#040;0&#041;&#032;&#043;&#032;outp&#091;12&#058;&#093;&#041;&#010;&#009;&#010;&#009;&#035;&#032;end&#058;&#032;compression&#032;offset&#032;bypass&#010;&#009;&#010;&#009;&#035;&#032;beg&#058;&#032;compression&#032;offset&#032;fix&#010;&#009;&#039;&#039;&#039;&#010;&#009;x&#032;&#061;&#032;0&#010;&#009;l&#032;&#061;&#032;len&#040;outp&#041;&#010;&#009;s&#032;&#061;&#032;&#040;&#040;ord&#040;data&#091;6&#093;&#041;&#032;&#060;&#060;&#032;8&#041;&#032;&#043;&#032;ord&#040;data&#091;7&#093;&#041;&#041;&#010;&#009;d&#032;&#061;&#032;&#040;&#040;size&#032;&#045;&#032;s&#041;&#032;&#042;&#032;16&#041;&#010;&#009;&#010;&#009;if&#032;&#040;d&#032;&#062;&#032;0&#041;&#058;&#010;&#009;&#009;while&#032;&#040;&#040;x&#032;&#043;&#032;1&#041;&#032;&#060;&#032;l&#041;&#058;&#010;&#009;&#009;&#009;o&#032;&#061;&#032;&#040;&#040;ord&#040;outp&#091;x&#093;&#041;&#032;&#060;&#060;&#032;8&#041;&#032;&#043;&#032;ord&#040;outp&#091;x&#032;&#043;&#032;1&#093;&#041;&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;if&#032;&#040;&#040;o&#032;&#038;&#032;0xff00&#041;&#032;&#061;&#061;&#032;0xc000&#041;&#058;&#010;&#009;&#009;&#009;&#009;o&#032;&#061;&#032;&#040;o&#032;&#038;&#032;0x00ff&#041;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;if&#032;&#040;o&#032;&#062;&#032;0x0c&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;o&#032;&#061;&#032;&#040;o&#032;&#043;&#032;d&#041;&#010;&#009;&#009;&#009;&#009;&#009;outp&#032;&#061;&#032;&#040;outp&#091;&#058;x&#093;&#032;&#043;&#032;chr&#040;&#040;o&#032;&#062;&#062;&#032;8&#041;&#032;&#038;&#032;0xff&#041;&#032;&#043;&#032;chr&#040;&#040;o&#032;&#062;&#062;&#032;0&#041;&#032;&#038;&#032;0xff&#041;&#032;&#043;&#032;outp&#091;x&#032;&#043;&#032;2&#058;&#093;&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;x&#032;&#061;&#032;&#040;x&#032;&#043;&#032;2&#041;&#010;&#009;&#039;&#039;&#039;&#010;&#009;&#035;&#032;end&#058;&#032;compression&#032;offset&#032;fix&#010;&#009;&#010;&#009;return&#032;outp&#010;&#010;def&#032;debg&#040;addr&#044;&#032;requ&#044;&#032;answ&#041;&#058;&#010;&#009;adrl&#032;&#061;&#032;addr&#046;split&#040;&#034;&#046;&#034;&#041;&#010;&#009;adrl&#091;3&#093;&#032;&#061;&#032;&#034;x&#034;&#010;&#009;prio&#032;&#061;&#032;&#034;&#034;&#010;&#009;&#010;&#009;for&#032;letr&#032;in&#032;answ&#058;&#010;&#009;&#009;prio&#032;&#043;&#061;&#032;&#040;&#034;&#046;&#034;&#032;&#043;&#032;str&#040;ord&#040;letr&#041;&#041;&#041;&#010;&#009;&#010;&#009;print&#040;&#034;&#091;&#037;s&#093;&#032;requ&#032;&#091;&#037;s&#093;&#032;answ&#032;&#091;&#037;s&#044;&#032;&#046;&#046;&#046;&#093;&#034;&#032;&#037;&#032;&#040;&#034;&#046;&#034;&#046;join&#040;adrl&#041;&#044;&#032;requ&#044;&#032;prio&#091;1&#058;&#093;&#041;&#041;&#010;&#010;def&#032;serv&#040;&#041;&#058;&#010;&#009;snam&#032;&#061;&#032;&#040;&#034;&#034;&#044;&#032;53&#041;&#010;&#009;sobj&#032;&#061;&#032;socket&#046;socket&#040;socket&#046;AF&#095;INET&#044;&#032;socket&#046;SOCK&#095;DGRAM&#041;&#010;&#009;&#010;&#009;sobj&#046;setsockopt&#040;socket&#046;SOL&#095;SOCKET&#044;&#032;socket&#046;SO&#095;REUSEADDR&#044;&#032;1&#041;&#010;&#009;sobj&#046;bind&#040;snam&#041;&#010;&#009;&#010;&#009;while&#032;&#040;1&#041;&#058;&#010;&#009;&#009;&#040;data&#044;&#032;addr&#041;&#032;&#061;&#032;sobj&#046;recvfrom&#040;2&#042;&#042;20&#041;&#010;&#009;&#009;rlvl&#032;&#061;&#032;rslv&#040;&#041;&#010;&#009;&#009;&#010;&#009;&#009;for&#032;rlvi&#032;in&#032;rlvl&#058;&#010;&#009;&#009;&#009;dnsr&#032;&#061;&#032;forw&#040;rlvi&#044;&#032;data&#041;&#010;&#009;&#009;&#009;&#010;&#009;&#009;&#009;if&#032;&#040;dnsr&#041;&#058;&#010;&#009;&#009;&#009;&#009;resl&#032;&#061;&#032;answ&#040;dnsr&#041;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;if&#032;&#040;len&#040;resl&#041;&#032;&#062;&#032;0&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;for&#032;resi&#032;in&#032;resl&#058;&#010;&#009;&#009;&#009;&#009;&#009;&#009;dnsq&#032;&#061;&#032;re&#046;sub&#040;&#034;&#091;&#094;0&#045;9A&#045;Za&#045;z&#092;&#046;&#092;&#045;&#093;&#034;&#044;&#032;&#034;&#034;&#044;&#032;resi&#091;0&#093;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;dnsa&#032;&#061;&#032;re&#046;sub&#040;&#034;&#091;&#094;0&#045;9&#092;&#046;&#093;&#034;&#044;&#032;&#034;&#034;&#044;&#032;resi&#091;1&#093;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;epch&#032;&#061;&#032;str&#040;int&#040;time&#046;time&#040;&#041;&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;&#009;dbdl&#032;&#061;&#032;sqle&#040;&#034;SELECT&#032;&#042;&#032;FROM&#032;data&#032;WHERE&#032;name&#032;&#061;&#032;&#039;&#037;s&#039;&#032;AND&#032;addr&#032;&#061;&#032;&#039;&#037;s&#039;&#059;&#034;&#032;&#037;&#032;&#040;dnsq&#044;&#032;dnsa&#041;&#044;&#032;outp&#061;True&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;len&#040;dbdl&#041;&#032;&#060;&#032;1&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#009;sqle&#040;&#034;INSERT&#032;INTO&#032;data&#032;VALUES&#032;&#040;&#039;&#037;s&#039;&#044;&#032;&#039;&#037;s&#039;&#044;&#032;&#039;0&#039;&#041;&#059;&#034;&#032;&#037;&#032;&#040;dnsq&#044;&#032;dnsa&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;&#009;sqle&#040;&#034;UPDATE&#032;data&#032;SET&#032;time&#032;&#061;&#032;&#039;&#037;s&#039;&#032;WHERE&#032;name&#032;&#061;&#032;&#039;&#037;s&#039;&#032;AND&#032;addr&#032;&#061;&#032;&#039;&#037;s&#039;&#059;&#034;&#032;&#037;&#032;&#040;epch&#044;&#032;dnsq&#044;&#032;dnsa&#041;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;filt&#040;&#041;&#010;&#009;&#009;&#009;&#009;&#009;dbdl&#032;&#061;&#032;cche&#040;dnsq&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;&#009;if&#032;&#040;len&#040;dbdl&#041;&#032;&#062;&#032;0&#041;&#058;&#010;&#009;&#009;&#009;&#009;&#009;&#009;debg&#040;addr&#091;0&#093;&#044;&#032;resl&#091;0&#093;&#091;0&#093;&#044;&#032;dbdl&#091;0&#093;&#091;1&#093;&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#035;a&#061;open&#040;&#034;a&#034;&#044;&#034;w&#034;&#041;&#059;a&#046;write&#040;dnsr&#041;&#059;a&#046;close&#040;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#009;&#009;dnsr&#032;&#061;&#032;shim&#040;dnsr&#044;&#032;dbdl&#041;&#010;&#009;&#009;&#009;&#009;&#009;&#009;&#035;b&#061;open&#040;&#034;b&#034;&#044;&#034;w&#034;&#041;&#059;b&#046;write&#040;dnsr&#041;&#059;b&#046;close&#040;&#041;&#059;&#010;&#009;&#009;&#009;&#009;&#010;&#009;&#009;&#009;&#009;sobj&#046;sendto&#040;dnsr&#044;&#032;addr&#041;&#010;&#009;&#009;&#009;&#009;break&#010;&#010;def&#032;priv&#040;&#041;&#058;&#010;&#009;&#035;&#032;get&#032;username&#032;&#038;&#032;os&#046;setgid&#040;&#041;&#032;&#038;&#032;os&#046;setuid&#040;&#041;&#010;&#009;pass&#010;&#010;if&#032;&#040;&#095;&#095;name&#095;&#095;&#032;&#061;&#061;&#032;&#034;&#095;&#095;main&#095;&#095;&#034;&#041;&#058;&#010;&#009;sqle&#040;&#034;CREATE&#032;TABLE&#032;data&#032;&#040;name&#032;VARCHAR&#040;256&#041;&#044;&#032;addr&#032;VARCHAR&#040;256&#041;&#044;&#032;time&#032;VARCHAR&#040;256&#041;&#041;&#059;&#034;&#041;&#010;&#009;priv&#040;&#041;&#010;&#009;serv&#040;&#041;&#010;
</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/472/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/472/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/472/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=472&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2011/12/21/off-topic-fighting-governments-dns-re-implemented/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>

		<media:content url="http://fossjon.files.wordpress.com/2011/12/slashup.png" medium="image" />

		<media:content url="http://fossjon.files.wordpress.com/2011/12/slashdown.png" medium="image" />

		<media:content url="http://fossjon.files.wordpress.com/2011/12/slashup.png" medium="image" />
	</item>
		<item>
		<title>Attempting To Finally Contribute</title>
		<link>http://fossjon.wordpress.com/2011/12/05/attempting-to-finally-contribute/</link>
		<comments>http://fossjon.wordpress.com/2011/12/05/attempting-to-finally-contribute/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 01:38:27 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=457</guid>
		<description><![CDATA[So I haven&#8217;t had much to talk about lately due the amount of work given for the last few weeks remaining in school and the building of Fedora 15 for ARMv5 and ARMv7. However, in my spare time, I&#8217;ve been trying to contribute positively to the Koji Build System project by submitting mailing list items [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=457&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>So I haven&#8217;t had much to talk about lately due the amount of work given for the last few weeks remaining in school and the building of Fedora 15 for ARMv5 and ARMv7. However, in my spare time, I&#8217;ve been trying to contribute positively to the Koji Build System project by submitting mailing list items containing source code unified diff patches. Most of my posts/changes contain feature enhancements requested by other people that I found to be somewhat interesting to code. If you&#8217;re interested in viewing the mailing list items, the links can be found below: </p>
<p>Hosts-Page Colour Highlight: [ <a href="https://fedorahosted.org/koji/ticket/231">Ticket</a> ] [ <a href="https://fedorahosted.org/koji/attachment/ticket/231/hosts_page.patch">Patch</a> ]<br />
Hosts-Page &#8220;Life-Line&#8221; Links: [ <a href="https://fedorahosted.org/koji/ticket/233">Ticket</a> ] [ <a href="https://fedorahosted.org/koji/attachment/ticket/233/header_chtml.patch">Patch</a> ]<br />
Host-Info Latest-Builds Links: [ <a href="https://fedorahosted.org/koji/ticket/232">Ticket</a> ] [ <a href="https://fedorahosted.org/koji/attachment/ticket/232/hostinfo.patch">Patch</a> ]<br />
Koji-Client watch-logs &#8220;tail&#8221;: [ <a href="https://fedorahosted.org/koji/ticket/41">Ticket</a> ] [ <a href="https://fedorahosted.org/koji/attachment/ticket/41/kojicli_watchlogs_tail.patch">Patch</a> ]<br />
Koji-Hub RPMTAG_SIGSHA2 Hashing: [ <a href="https://fedorahosted.org/koji/ticket/119">Ticket</a> ] [ <a href="https://fedorahosted.org/koji/attachment/ticket/119/kojihub_rpmtag_sigsha2.patch">Patch</a> ]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/457/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/457/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/457/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/457/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/457/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/457/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/457/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/457/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=457&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2011/12/05/attempting-to-finally-contribute/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
		<item>
		<title>Really Short On RPM</title>
		<link>http://fossjon.wordpress.com/2011/11/30/really-short-on-rpm/</link>
		<comments>http://fossjon.wordpress.com/2011/11/30/really-short-on-rpm/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 04:17:28 +0000</pubDate>
		<dc:creator>fossjon</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://fossjon.wordpress.com/?p=453</guid>
		<description><![CDATA[After many yum-installs and a custom compile of berkeley-db, here&#8217;s the command to configure rpms source: ./configure --with-external-db --without-lua CPPFLAGS="-I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/local/BerkeleyDB.5.2/include" LDFLAGS="-L/usr/local/BerkeleyDB.5.2/lib"<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=453&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After many yum-installs and a custom compile of berkeley-db, here&#8217;s the command to configure rpms source:</p>
<pre>./configure --with-external-db --without-lua CPPFLAGS="-I/usr/include/nspr4 -I/usr/include/nss3 -I/usr/local/BerkeleyDB.5.2/include" LDFLAGS="-L/usr/local/BerkeleyDB.5.2/lib"</pre>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/fossjon.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/fossjon.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/fossjon.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/fossjon.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/fossjon.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/fossjon.wordpress.com/453/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/fossjon.wordpress.com/453/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/fossjon.wordpress.com/453/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=fossjon.wordpress.com&amp;blog=22796108&amp;post=453&amp;subd=fossjon&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://fossjon.wordpress.com/2011/11/30/really-short-on-rpm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/e9a6b8948695921159b0fa1e54d392bb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">fossjon</media:title>
		</media:content>
	</item>
	</channel>
</rss>
