memo.xight.org

日々のメモ

ブログファンド

Reference

ブログビジネスファンド
http://blogfund.jugem.jp/
GMO VenturePartners 「ブログビジネスファンド」設立のお知らせ 〜ブログやRSS等、Web2.0関連のベンチャー投資特化型ファンド〜
http://www.gmo.jp/press/release/20051027.html

via

ITmediaニュース:「Web 2.0」専門にベンチャー投資 GMOが「ブログファンド」
http://www.itmedia.co.jp/news/articles/0510/27/news082.html

Linuxで動画鑑賞

Xine


MPlayer

/etc/apt/sources.list

deb ftp://ftp.nerim.net/debian-marillat/ sarge main

インストール

# aptitude install mplayer-686 mplayer-fonts mplayer-doc w32codecs


分割動画ファイルの結合

mplayer付属のmencodeを利用する.

$ cat 1.avi 2.avi 3.avi 4.avi > movie.avi
$ mencoder -forceidx movie.avi -oac copy -ovc copy -o output.avi


ストリーミング動画をDump

$ mplayer mms://example.com/movie -dumpstream


Reference

xine - A Free Video Player
http://xinehq.de/
MPlayer - The Movie Player
http://www.mplayerhq.hu/homepage/design7/news.html

Linuxで動画鑑賞
http://www1.odn.ne.jp/masas_heavy/video_setup.html
Debianのアプリケーション(Internet,Multimedia)
http://park15.wakwak.com/~unixlife/linux/de-app.html

Windows Media ファイルで Firewall 越え

Summary

通常はUDP/IPでストリームする.
TCP/IP Port1755だけでストリーミング可能.
「既知」以外のポートを閉じているクライアントに対しては HTTPでPort80でストリーム可能.

サーバーからファイアウォールの背後にあるクライアントへ

ファイアウォールの背後にあるWindows Media Playerから,ファイアウォールの外にあるコンテンツへアクセスする場合
・UDPによるASFのストリーミング
Out TCP Port 1755
Out UDP Port 1755
In UDC Port 1024 - 5000 (必要なポート数だけ開く)

・TCPによるASFのストリーミング
In/Out TCP Port 1755

・HTTPによるASFのストリーミング
In/Out TCP Port 80

ファイアウォールの背後にあるサーバーからクライアントへ

ファイアウォールの外にあるWindows Media Playerから,ファイアウォールの背後にあるWindows Mediaサーバー上のコンテンツへアクセスする場合
・UDPによるASFのストリーミング
In TCP Port 1755
In UDP Port 1755
Out UDC Port 1024 - 5000 (必要なポート数だけ開く)

・TCPによるASFのストリーミング
In/Out TCP Port 1755

・HTTPによるASFのストリーミング
In/Out TCP Port 80

エンコーダからファイアウォールの背後にあるサーバーへ/サーバーからファイアウォールを越えてサーバーへ

Protocol MSBD
In/Out TCP Port 7007 (他のフリーポートを選択可能)

Reference

Windows Media 9 シリーズ - ファイアウォール情報
http://www.microsoft.com/japan/windows/windowsmedia/serve/firewall.aspx

ProFTPD

chroot

DefaultRoot ~

Passive mode

PassivePorts 開始ポート番号 終了ポート番号

Passive mode のための iptablesの設定

# sudo iptables -A INPUT -i eth0 -p tcp --dport 開始ポート番号:終了ポート番号 -j ACCEPT


ログインシェルを持たないユーザのログインを許可 (危険)

/etc/shells に記述されているシェルを持たないユーザでも接続を許可する

RequireValidShell off

Reference

らくがきちょう - ProFTPD
http://nekojita.org/hiki/ProFTPD.html

tcpserver の設定

接続制御データベースの作成

/etc/tcpserver/ftpd.rules
/etc/tcpserver/telnetd.rules
などのファイルを作成する

接続制御データベースの記述方法

# すべて許可
:allow
# 192.168.0.2からの接続を許可
192.168.0.2:allow
# 192.168.0.1 - 192.168.0.10からの接続を許可
192.168.0.1-10:allow

# すべて拒否
:deny
# 192.168.0.2からの接続を拒否
192.168.0.2:deny
# 192.168.0.1 - 192.168.0.10からの接続を拒否
192.168.0.1-10:deny

接続制御データベースの作成

# tcprules /etc/tcpserver/ftpd.cdb /tmp/ftpd.tmp < /etc/tcpserver/ftpd.rules
# tcprules /etc/tcpserver/telnetd.cdb /tmp/telnetd.tmp < /etc/tcpserver/telnetd.rules


/etc/init.d/tcpserverの例

#!/bin/sh

RETVAL=0

case "$1" in
	start)
		echo -n "Starting tcpserver daemon: "
		daemon /etc/init.d/tcpserver_sub
		RETVAL=$?
		echo
		[ $RETVAL -eq 0 ] && touch /var/lock/subsys/tcpserver
	;;
	stop)
		echo -n "Stopping tcpserver daemon: "
		killproc tcpserver
		RETVAL=$?
		echo
		[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/tcpserver
	;;
	status)
		status tcpserver
		RETVAL=$?
	;;
	restart)
		$0 stop
		$0 start
		RETVAL=$?
	;;
	*)
		echo "Usage: tcpserver {start|stop|status|restart}"
		exit 1
esac
exit $RETVAL


/etc/init.d/tcpserver_sub の例

#!/bin/sh
/usr/local/bin/tcpserver -v -u 0 -g 0 -x /etc/tcpserver/telnetd.cdb 0 telnet /usr/sbin/in.telnetd &
/usr/local/bin/tcpserver -v -u 0 -g 0 -x /etc/tcpserver/ftpd.cdb 0 ftp /usr/local/sbin/in.proftpd &


ランレベルにtcpserverを追加 (RedHat)

# /sbin/chkconfig --add tcpserver


ランレベルにtcpserverを追加 (Debian)

# /usr/sbin/update-rc.d tcpserver defaults


Reference

tcpserverでtelnetd&proftpd
http://cmf.ohtanz.com/tcpserver.html