DeleGate for Macを使ってみる
DeleGate for Macを使ってみる
0.改訂履歴
1.はじめに
このドキュメントでは,プロキシサーバであるDeleGateをMacで動かす手順を説明する.
2.DeleGateプログラムを入手して準備
する
- 公式サイトは以下の通り.
- このサイトにあるDownloadからモジュールを入手する.MacOS X用にバイナリも用意されている.
- ftp://ftp.delegate.org/pub/DeleGate/download.html
macbook:Downloads ujpadmin$ mkdir delegate macbook:Downloads ujpadmin$ mv macosxi-dg.gz delegate/. macbook:Downloads ujpadmin$
|
- GZIPファイルを展開して,ファイルの属性を確認する.
macbook:delegate ujpadmin$ gzip -d macosxi-dg.gz macbook:delegate ujpadmin$ macbook:delegate ujpadmin$ file macosxi-dg macosxi-dg: Mach-O executable i386 macbook:delegate ujpadmin$
|
- 実行形式のバイナリである事が確認できた.
- ファイルを確認する.
macbook:delegate ujpadmin$ ls -la total 12336 drwxr-xr-x 3 ujpadmin staff 102 8 5 01:02 . drwx------+ 53 ujpadmin staff 1802 8 5 01:01 .. -rw-r--r-- 1 ujpadmin staff 6313364 3 31 2010 macosxi-dg macbook:delegate ujpadmin$
|
macbook:delegate ujpadmin$ chmod ogu+x macosxi-dg total 12336 drwxr-xr-x 3 ujpadmin staff 102 8 5 01:02 . drwx------+ 53 ujpadmin staff 1802 8 5 01:01 .. -rwxr-xr-x 1 ujpadmin staff 6313364 3 31 2010 macosxi-dg macbook:delegate ujpadmin$
|
3.DeleGateを起動させてプロセスと
DGROOTの内容を確認する.
- DeleGateを起動するには,最低限,ポート番号とプロトコル,管理者用のメアドの設定が必要になる.
-Pポート SERVER=プロトコル ADMIN=管理者用メールアドレス
|
- また,キャッシュサーバとして動作させる際には,最初だけCACHE=doオプションを付ける.
- ポート番号を8080として起動してみる.
macbook:delegate ujpadmin$ ./macosxi-dg -P8080 SERVER=http CACHE=do ADMIN=adminmail@admin.jp ** checking the integrity of /Users/ujpadmin/Downloads/delegate/./macosxi-dg ... -- src Sign> 9.9.7 2010033119 c818055001ce9bd3 (Author@DeleGate.ORG) -- bld Sign> 9.9.7 2010033119 c818055001ce9bd3 () -- exe Sign> 9.9.7 2010033120 1a9a982f08c5da57 (Author@DeleGate.ORG) ** OK, this executable is as released from Author@DeleGate.ORG ** checking DONE (took 0.752 seconds) <DeleGate/9.9.7> [18073] -P8080 READY Config: Darwin/10.8.0; FileSize-Bits=64/64,64/32,32,32; socket=262140/131070; sockpair=8 192/8192,1016++U; char=signed; thread=PThread/pthread,64/128; zlib=56,310256; pam=3; stt y=tcsetattr/sgtty; addr=A/4BCE2/BFFED0F0; umem=1412/2048/0M DGROOT=/Users/ujpadmin/delegate ADMIN=adminmail@admin.jp AIST-Product-ID: 2000-ETL-198715-01, H14PRO-049, H15PRO-165, H18PRO-443 Copyright (c) 1994-2000 Yutaka Sato and ETL,AIST,MITI Copyright (c) 2001-2010 National Institute of Advanced Industrial Science and Technolog y (AIST) BLDSIGN=9.9.7:20100331192737+0900:c818055001ce9bd3::- HostID: 2008/10/03/13/29-9A (Darwin/10.8.0) macbook.local Loaded: OpenSSL 0.9.8r 8 Feb 2011 Loaded: Zlib 1.2.3 macbook:delegate ujpadmin$
|
- 作業領域のDGROOTがホームディレクトリに作られる事が確認できる.
- DGROOTに作成されたファイルとディレクトリを確認する.
macbook:delegate ujpadmin$ pushd ~/delegate ~/delegate ~/Downloads/delegate macbook:delegate ujpadmin$ ls -laR|more total 0 drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 . drwxr-xr-x+ 47 ujpadmin staff 1598 8 6 22:56 .. drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 act drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 adm drwxr-xr-x 2 ujpadmin staff 68 8 6 22:56 cache drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 etc drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 log drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 work
./act: total 0 drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 .. drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 clients drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 pid
./act/clients: total 0 drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 . drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 .. drwxr-xr-x 2 ujpadmin staff 68 8 6 23:18 20
./act/clients/20: total 0 drwxr-xr-x 2 ujpadmin staff 68 8 6 23:18 . drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 ..
./act/pid: total 8 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 .. -rw-r--r-- 1 ujpadmin staff 6 8 6 22:56 8080
./adm: total 0 drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 .. drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 exeid drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 initlog drwx------ 3 ujpadmin staff 102 8 6 22:56 secret drwxr-xr-x 2 ujpadmin staff 68 8 6 23:03 shutout drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 svstats9
./adm/exeid: total 8 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 .. -rw-r--r-- 1 ujpadmin staff 193 8 6 22:56 B94F465B
./adm/initlog: total 16 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 .. -rw-r--r-- 1 ujpadmin staff 7953 8 6 22:56 _8080_
./adm/secret: total 8 drwx------ 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 .. -r-------- 1 ujpadmin staff 15 8 6 22:56 noncekey
./adm/shutout: total 0 drwxr-xr-x 2 ujpadmin staff 68 8 6 23:03 . drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 ..
./adm/svstats9: total 8 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 7 ujpadmin staff 238 8 6 23:03 .. -rw-r--r-- 1 ujpadmin staff 1860 8 6 23:27 _8080_
./cache: total 0 drwxr-xr-x 2 ujpadmin staff 68 8 6 22:56 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 ..
./etc: total 0 drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 .. drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 conf drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 params
./etc/conf: total 0 drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 . drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 .. drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 8080
./etc/conf/8080: total 0 drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 . drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 .. drwxr-xr-x 2 ujpadmin staff 68 8 6 23:03 mtab
./etc/conf/8080/mtab: total 0 drwxr-xr-x 2 ujpadmin staff 68 8 6 23:03 . drwxr-xr-x 3 ujpadmin staff 102 8 6 23:03 ..
./etc/params: total 8 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 4 ujpadmin staff 136 8 6 23:03 .. -rw-r--r-- 1 ujpadmin staff 315 8 6 22:56 8080
./log: total 40 drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 .. -rw-r--r-- 1 ujpadmin staff 305 8 6 22:56 0 -rw-r--r-- 1 ujpadmin staff 9318 8 6 23:18 8080 -rw-r--r-- 1 ujpadmin staff 236 8 6 23:18 8080.http drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 abort -rw-r--r-- 1 ujpadmin staff 0 8 6 22:56 errors.log -rw-r--r-- 1 ujpadmin staff 0 8 6 22:56 stdout.log
./log/abort: total 0 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 .. -rw-r--r-- 1 ujpadmin staff 0 8 6 22:56 8080
./work: total 0 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 8 ujpadmin staff 272 8 6 22:56 .. drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 8080
./work/8080: total 0 drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 . drwxr-xr-x 3 ujpadmin staff 102 8 6 22:56 .. -rw-r--r-- 1 ujpadmin staff 0 8 6 22:56 18073 macbook:delegate ujpadmin$ popd ~/Downloads/delegate macbook:delegate ujpadmin$
|
macbook:delegate ujpadmin$ ps -aux | grep macosxi-dg ujpadmin 18134 0.0 0.0 2435116 532 s000 S+ 11:18PM 0:00.00 grep macosxi-dg ujpadmin 18073 0.0 0.0 83164 2432 ?? Ss 10:56PM 0:00.06 ./macosxi-dg= -{ 002:002/002}[RPM=0.09(1.0 0.2 0.1),IDLE=30s]-P8080 -- --------- macbook:delegate ujpadmin$
|
4.ブラウザでプロキシサーバを指定する
- [システム環境設定]の[ネットワーク]から,接続しているインタフェイスを選ぶ.今回の場合はAirMacを使っている.
- [プロキシ]タブを選択する.
- [Webプロキシ(HTTP)]と[保護されたWebプロキシ(HTTPS)]に,プロキシサーバのアドレスとポート番号を入力する.
- 今回の場合,自分自身で動作させているので,自分自身を示すIPアドレスの127.0.0.1と,DeleGateを起動する際に指定した
ポート番号8080を設定する.
- 機械と通信は,次の様に接続される.
- ブラウザからはプロキシサーバであるDeleGateには8080ポートで接続する.
- ブラウザからリクエストされたURLは,DeleGateからWebサーバに80番ポートで接続される.
5.DeleGateの停止方法
- 停止するには,-Fkillオプションを付けて実行する.
macbook:delegate ujpadmin$ ./macosxi-dg -P8080 -Fkill "/Users/ujpadmin/delegate/act/pid/8080": kill(18073,SIGTERM) = 0 (0) ** OK ** (0.05/1) macbook:delegate ujpadmin$
|
6.DeleGateの再起動
- 停止するには,-Fkill-HUPオプションを付けて実行する.
macbook:delegate ujpadmin$ ./macosxi-dg -P8080 -Fkill-HUP "/Users/ujpadmin/delegate/act/pid/8080": kill(18438,SIGHUP) = 0 (0) ** OK ** (5.03/98) Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... Waiting predecessor to exit: /Users/ujpadmin/delegate/act/pid/8080... macbook:delegate ujpadmin$
|
- プロセスの終了処理具合によっては,このWaiting行の数が多少変化する.
7.設定ファイルを利用する
- DeleGateが持つ多くのオプションを設定する為には,設定ファイルを作成する.
macbook:delegate ujpadmin$ cat delegate.conf DGROOT=/Volumes/RAMDISK512 -P8080 SERVER=http #LOGFILE=/Volumes/RAMDISK512/delegate.log #CACHEDIR="/" EXPIRE=1h #1h 1d 1m CACHE=do ADMIN=adminmail@admin.jp CONNECT=c,d:*:* #d...Direct #c...Cache macbook:delegate ujpadmin$
|
./macosxi-dg -P8080 +=./delegate.conf
|