UJP - 技術情報1

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

DeleGate for Macを使ってみる

DeleGate for Macを使ってみる


0.改訂履歴

  • 2011.08.06 新規作成

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
  • これで終了.


広告スペース
Google