<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>iPUNKID &#187; gcalcli</title>
	<atom:link href="http://blog.punkid.org/tag/gcalcli/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.punkid.org</link>
	<description>To ∞ and Beyond</description>
	<lastBuildDate>Sun, 29 Jan 2012 13:02:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>给aMule增加下载完成短信通知功能</title>
		<link>http://blog.punkid.org/2009/03/23/free-sms-notification-on-amule-completed-download/</link>
		<comments>http://blog.punkid.org/2009/03/23/free-sms-notification-on-amule-completed-download/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 13:40:16 +0000</pubDate>
		<dc:creator>iPUNKID</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[aMule]]></category>
		<category><![CDATA[gcalcli]]></category>
		<category><![CDATA[gentoo]]></category>
		<category><![CDATA[Google App]]></category>

		<guid isPermaLink="false">http://blog.punkid.org/?p=301</guid>
		<description><![CDATA[自从入手了E71，装上PuTTY for Symbian OS后就能通过wifi+ssh远程遥控我的电脑了。一个常遇到的问题，人得跑出去，而电脑上的aMule正在挂高清，我想知道我正等着看的东西什么时候下载完成了，然后我好执行远程关机或者选择继续让aMule下载其他的东西。 思索了下，最好的通知方式莫过于短信，而真正可用的免费短信功能莫过于Google Calendar的短信通知了。由于aMule本身就有Events功能，剩下的唯一问题就是能在linux下执行的Gcal CLI了。好在为Google做的third party的大有人在，很快就找到了Gcalcli这个python客户端，连ebuild在Gentoo Bugzilla上都有了。 gcalcli的用法很简单，先在$HOME目录下创建一个.gcalclirc文件，里面写入以下几行: [gcalcli] user:yourname@gmail.com pw:yourpassword cals:all 写法无须解释，最好至少给chmod 600 .gcalclirc下，毕竟密码是明文的，给别人看到就糟了。 然后新建一个download-notify.sh的文件，写入如下几行: #!/bin/bash #usage: download-notify.sh FILENAME NOTIFY_TIME=`date --date='+5 min' +%R` FILENAME=$1 ENTRY="$NOTIFY_TIME $FILENAME download finished" gcalcli quick "$ENTRY" 这是用来快速添加Google Calendar事件的脚本，设定时间是当前时间的5分钟后(给予一定时间差的容错值免得短信还没来得及通知就已经成历史事件了)，文件名将由aMule的Events传递。 接下来要做的是进入Google Calendar设置默认的通知方式，先确保你开通了短信通知功能，然后进入Settings -&#62; Calendars标签页 -&#62; Notifications，将默认通知方式设置为1分钟前短信通知。 剩下的就是aMule设置的问题了。进入Preferences -&#62; Events，在Event types里选择Download completed，有两个可供执行脚本的input框，第一个是当aMule Core发现下载完成时执行指定命令，第二个是仅当aMule GUI发现下载完成时执行指定命令。不管你使用aMule daemon还是aMule GUI，第一个是绝对可行的。所以开启第一个并输入类似命令sh ~/scripts/download-notify.sh "%NAME"。 OK，可用了。短信通知还是蛮及时的，唯一不爽的就是Google非得分两条未满短信通知我。 有了gcalcli能做的事就多了，例如电脑一旦发现sshd遭受brute [...]]]></description>
			<content:encoded><![CDATA[<p>自从入手了E71，装上<a href="http://s2putty.sourceforge.net/" title="PuTTY for Symbian OS">PuTTY for Symbian OS</a>后就能通过wifi+ssh远程遥控我的电脑了。一个常遇到的问题，人得跑出去，而电脑上的aMule正在挂高清，我想知道我正等着看的东西什么时候下载完成了，然后我好执行远程关机或者选择继续让aMule下载其他的东西。</p>
<p>思索了下，最好的通知方式莫过于短信，而真正可用的免费短信功能莫过于<a href="http://calendar.google.com/" title="Google Calendar">Google Calendar</a>的短信通知了。由于aMule本身就有Events功能，剩下的唯一问题就是能在linux下执行的Gcal CLI了。好在为Google做的third party的大有人在，很快就找到了<a href="http://code.google.com/p/gcalcli/" title="Google Calendar Command Line Interface">Gcalcli</a>这个python客户端，连<a href="http://bugs.gentoo.org/195592" title="Bugzilla Bug 195592 - app-misc/gcalcli-1.4 (New Package)">ebuild</a>在Gentoo Bugzilla上都有了。</p>
<p>gcalcli的用法很简单，先在<code>$HOME</code>目录下创建一个<code>.gcalclirc</code>文件，里面写入以下几行:<br />
<span id="more-301"></span></p>
<pre lang="bash">
[gcalcli]
user:yourname@gmail.com
pw:yourpassword
cals:all
</pre>
<p>写法无须解释，最好至少给<code>chmod 600 .gcalclirc</code>下，毕竟密码是明文的，给别人看到就糟了。</p>
<p>然后新建一个<code>download-notify.sh</code>的文件，写入如下几行:</p>
<pre lang="bash">
#!/bin/bash
#usage: download-notify.sh FILENAME

NOTIFY_TIME=`date --date='+5 min' +%R`
FILENAME=$1
ENTRY="$NOTIFY_TIME $FILENAME download finished"

gcalcli quick "$ENTRY"
</pre>
<p>这是用来快速添加Google Calendar事件的脚本，设定时间是当前时间的5分钟后(给予一定时间差的容错值免得短信还没来得及通知就已经成历史事件了)，文件名将由aMule的Events传递。</p>
<p>接下来要做的是进入Google Calendar设置默认的通知方式，<strong>先确保你开通了短信通知功能</strong>，然后进入Settings -&gt; Calendars标签页 -&gt; Notifications，将默认通知方式设置为1分钟前短信通知。</p>
<p><img src="http://pic.yupoo.com/punkid/0365272b01a6/qj3g0x7f.jpg" alt="gcal-setting" width="500" height="80" border="0" /></p>
<p>剩下的就是aMule设置的问题了。进入Preferences -&gt; Events，在Event types里选择Download completed，有两个可供执行脚本的input框，第一个是当aMule Core发现下载完成时执行指定命令，第二个是仅当aMule GUI发现下载完成时执行指定命令。不管你使用aMule daemon还是aMule GUI，第一个是绝对可行的。所以开启第一个并输入类似命令<code>sh ~/scripts/download-notify.sh "%NAME"</code>。</p>
<p><img src="http://pic.yupoo.com/punkid/5345072b00c2/jc2eie4m.jpg" alt="amule-setting" width="500" height="281" border="0" /></p>
<p>OK，可用了。短信通知还是蛮及时的，唯一不爽的就是Google非得分两条未满短信通知我。</p>
<p><img src="http://pic.yupoo.com/punkid/9235772b0703/b5x926x5.jpg" alt="reminder" width="500" height="281" border="0" /></p>
<p>有了gcalcli能做的事就多了，例如电脑一旦发现sshd遭受brute force attacks时立刻短信通知，对网管应该比较有用吧 :)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.punkid.org/2009/03/23/free-sms-notification-on-amule-completed-download/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

