1GB定額契約をするにあたって画像圧縮プロキシサーバを自前で
用意しようと思い作ってみました。その記録です。
画像サイズが半分になり、文字データもgzip圧縮されるので
かなり通信量を節約できると思います。
現在、先月と同じような使い方をしていますが15日で300MB程度
で収まっています。
1.Windowsで画像圧縮プロキシを起動する方法
(1)delegateおよび、imagemagickをダウンロードする。
(2)delegateを解凍する。
以下、C:\delegateに解凍したとして記載します。
(3)C:\delegate\delegate.cfgを作成する。
ADMIN=***********@********.***
SERVER=http
CACHE=no
FTOCL=c:\\delegate\\cfi\\delegate.cfi
LOGFILE='${PORT}[date+.%d]'
HTTPCONF=acc-encoding:-thrugzip
HTTPCONF=gen-encoding:gzip
RELAY=proxy
REMITTABLE=+,http
RELIABLE='*.mopera.net,*.bmobile.ne.jp,.localnet'
(4)c:\\delegate\\cfi\\delegate.cfiを作成する。
#!cfi
#圧縮率は好みで。私は30にして様子見しています。
Content-Type: image/jpeg
Output/Content-Type: image/jpeg
Body-Filter: C:\\delegate\\bin\\convert\\convert -quality 30 - -
--
#gifの圧縮は不要と思ったのでコメントアウト
#Content-Type: image/gif
#Output/Content-Type: image/jpeg
#Body-Filter: C:\\delegate\\bin\\convert\\convert -quality 20 - jpeg:-
--
Content-Type: image/png
Output/Content-Type: image/jpeg
Body-Filter: C:\\delegate\\bin\\convert\\convert -quality 30 - jpeg:-
(5)imagemagickをC:\\delegate\\bin\\convert\\に解凍する。
(6)環境変数のPATHにC:\\delegate\\bin\\convert\\を追加する。
再起動して、C:\\delegate\\bin\\convert\\convertを実行してヘルプが表示
されるか確認しておく。エラーになったらdllにパスが通っていない。
(7)delegateを起動する。
delegate -P8080 +=C:\delegate\delegate.cfg
ポート番号は任意で。8080や、80はアタッカーに狙われるかもしれないので
適当な数字にする。
最後にサービスに追加するようなメッセージが出るので追加する。
これで多分動きます。
後はルーターでポートを空けて公開するのみです。
RELIABLE=に書いたところからのアクセスしか認めませんが逆にその回線を
利用する人は誰でも使えてしまうのでセキュリティ的には少し弱いです。
踏み台にされないよう注意が必要です。
2.クライアント側の設定方法
(1)Androidの場合
APN設定でプロキシとポートの項目があるのでそこにサーバの
IPアドレスとポートを設定する。
間違っていてもなぜか普通にネットが使えます。
もちろん圧縮は効かないので危険です。
IPアドレス確認君などのサイトでプロキシ経由になっているか
確認するのが良いです。
(2)iPhoneの場合
iPhone構成ユーティリティが必要です。
使い方はほかのサイトでも紹介されています。
APN設定にProxy設定を追加してiPhoneにインストールします。
欠点は構成プロファイルは単体しかインストール出来ず一度削除すると、
またPCと繋いでインストールする必要がある点です。
ちょっと面倒です。
Androidと違って設定に失敗してると全くつながらなります。
用意しようと思い作ってみました。その記録です。
画像サイズが半分になり、文字データもgzip圧縮されるので
かなり通信量を節約できると思います。
現在、先月と同じような使い方をしていますが15日で300MB程度
で収まっています。
1.Windowsで画像圧縮プロキシを起動する方法
(1)delegateおよび、imagemagickをダウンロードする。
(2)delegateを解凍する。
以下、C:\delegateに解凍したとして記載します。
(3)C:\delegate\delegate.cfgを作成する。
ADMIN=***********@********.***
SERVER=http
CACHE=no
FTOCL=c:\\delegate\\cfi\\delegate.cfi
LOGFILE='${PORT}[date+.%d]'
HTTPCONF=acc-encoding:-thrugzip
HTTPCONF=gen-encoding:gzip
RELAY=proxy
REMITTABLE=+,http
RELIABLE='*.mopera.net,*.bmobile.ne.jp,.localnet'
(4)c:\\delegate\\cfi\\delegate.cfiを作成する。
#!cfi
#圧縮率は好みで。私は30にして様子見しています。
Content-Type: image/jpeg
Output/Content-Type: image/jpeg
Body-Filter: C:\\delegate\\bin\\convert\\convert -quality 30 - -
--
#gifの圧縮は不要と思ったのでコメントアウト
#Content-Type: image/gif
#Output/Content-Type: image/jpeg
#Body-Filter: C:\\delegate\\bin\\convert\\convert -quality 20 - jpeg:-
--
Content-Type: image/png
Output/Content-Type: image/jpeg
Body-Filter: C:\\delegate\\bin\\convert\\convert -quality 30 - jpeg:-
(5)imagemagickをC:\\delegate\\bin\\convert\\に解凍する。
(6)環境変数のPATHにC:\\delegate\\bin\\convert\\を追加する。
再起動して、C:\\delegate\\bin\\convert\\convertを実行してヘルプが表示
されるか確認しておく。エラーになったらdllにパスが通っていない。
(7)delegateを起動する。
delegate -P8080 +=C:\delegate\delegate.cfg
ポート番号は任意で。8080や、80はアタッカーに狙われるかもしれないので
適当な数字にする。
最後にサービスに追加するようなメッセージが出るので追加する。
これで多分動きます。
後はルーターでポートを空けて公開するのみです。
RELIABLE=に書いたところからのアクセスしか認めませんが逆にその回線を
利用する人は誰でも使えてしまうのでセキュリティ的には少し弱いです。
踏み台にされないよう注意が必要です。
2.クライアント側の設定方法
(1)Androidの場合
APN設定でプロキシとポートの項目があるのでそこにサーバの
IPアドレスとポートを設定する。
間違っていてもなぜか普通にネットが使えます。
もちろん圧縮は効かないので危険です。
IPアドレス確認君などのサイトでプロキシ経由になっているか
確認するのが良いです。
(2)iPhoneの場合
iPhone構成ユーティリティが必要です。
使い方はほかのサイトでも紹介されています。
APN設定にProxy設定を追加してiPhoneにインストールします。
欠点は構成プロファイルは単体しかインストール出来ず一度削除すると、
またPCと繋いでインストールする必要がある点です。
ちょっと面倒です。
Androidと違って設定に失敗してると全くつながらなります。