あまねアンテナ 0.4


手動のため不定期更新CHU!

Last-Modified: Mon, 02 Feb 2009 23:12:20 JST
  1. 2004/05/18 08:56 JST (M) なっちゃんの風 夏樹さん
  2. 2004/05/18 07:38 JST (H) 駄目日誌Hyper いちやなぎさん
  3. 2004/05/18 03:24 JST (H) NavyFoxの日記 NavyFoxさん
  4. 2004/05/18 01:31 JST (H) さかにゃ日記 おさかなさん
  5. 2004/05/18 00:42 JST (G) KAZの日記 KAZさん
  6. 2004/05/17 22:04 JST (G) さぼり日記ensemble もにょさん
  7. 2004/05/15 23:00 JST (H) 永遠日記 天野優
  8. 2004/05/10 09:11 JST (G) 気まま日記 たいら〜さん
  9. 2003/08/19 01:16 JST (H) いけもの日記 いけもさん
  10. 2003/06/30 23:01 JST (H) かにゃおの日記 船雄さん
  11. 2002/10/15 22:48 JST (G) Web Diary 4.0 Windstormさん

(H): HEADリクエストで取得
(G): GETリクエストを行ない、METAタグのLast-Modifiedより取得
(M): ファイル内容が変更されています
(Sy): Sylphideより取得
(鯖): 日記鯖より取得

あまねアンテナとは

私が最近 IRCで使っている nickname が AmaneAi なので、 あまねアンテナという名前がついています。 決して、橘天音の ことではありませんので悪しからず:-)

あまねアンテナについての連絡先

あまねアンテナ作成日記

ぐは、さっき segmentation faltで落ちた。regexec(3)の内部で落ちたのか…。

あまねアンテナの更新状況

  1. ローカルファイルの更新時刻を取得できるようにした
  2. LIRS,DI形式のファイルを読めるようになった。
    ただし、\,を処理しない (strsep(3)してるだけ)ので \, があるとちょっとマズい。
  3. METAタグでのLast-Modified指定を取得できるようにした。
    といっても、いきなり日本語で「11月5日 日曜日…」のように書かれてるとか、 変な書式で書かれている日付では取得できません。
  4. なっちゃんの風が更新されてないのにコロコロMD5値が変わるので、 どうしてかなぁと思ったら、アクセスカウンターくわ…。

あまねアンテナの動きかた

  1. REMOTE指定してあるアンテナからLIRS,DI形式のファイルをGETする
  2. REMOTE取得を指定してあるサイトの場合は、そこから更新時刻を得る
  3. REMOTE取得が出来ないサイトについては、直接アクセスを試みる
  4. If-Modified-Since付きで HEADリクエストを送る
  5. 304 Not Modifiedなら更新されていないと判断
  6. Last-Modifiedがあるなら更新されているか比較する
  7. Last-Modifiedがなければ、GETして <meta http-equiv="Last-Modified" ...> を探す
  8. どうしてもLast-Modifiedが見つからなければ MD5値を計算し、前回と比較する
  9. テンポラリファイルに書きこみ
  10. リスト分の情報取得が終わったら HTML生成をする
  11. malloc()したあとにfree()しない:-)
    つーか、リストを辿って全部free()するのは面倒。

あまねアンテナの限界

あまねアンテナのバグ

あまねアンテナのTODO

あまねアンテナでやってみたいこと

あまねアンテナの入手方法

いまのところ、まだソースコード配布の準備はできていませんので、 欲しいとか使ってみたいとかソースを読んでみたいとか、 そういうのはメールください。
簡単にドキュメントを書いて make dist したものを送ることを考えます。

あまねアンテナのコマンドラインオプション

--referer=STRING
Refererを指定する。指定なしは Refererを付けない
--useragent=STRING
User-Agentを指定する。指定なしは AmaneAntenna/0.4 になる。
--proxy=SERVER[:PORT]
proxyを経由する。
--sort
最新更新日時順にソートする
--output=FILE
指定したファイルにHTMLを出力。指定なしは標準出力になる
--print-only
新規に更新情報の取得は行なわず、取得済みの更新情報を元にHTMLにして出力