駄文置場

PC、ガジェット、音楽に関して自分が興味がある事をツラツラと書いていく駄文置場です。

2014年10月

Ubuntu圧縮PROXY「ZIPROXY -> SQUID3 -> PRIVOXY」を立てる

スマートフォン用の画像通信圧縮Proxy構築方法です

android版のfirefox + Proxy Mobile Add-On からの接続を想定しています
(内部からのアクセスはprivoxyを最後にしているのでそちらのみ利用を想定しています)

ziproxy 192.168.1.99 port 1234
squid3 192.168.1.99 port 1233
privoxy 192.168.1.99 port 1232

という例で設定を書いています。

IPアドレスとポート番号は自分の環境にあわせて適宜変更してください。

=====

・UbuntuのIPアドレスをローカルIPで固定する
(UbuntuのIPアドレスは手動設定し 192.168.1.99/ 255.255.255.0 とし
DNSサーバーとドメインを検索は 192.168.1.1 にしておく)

・ブロードバンドルーターは 192.168.1.99 port 1234 に穴をあけておく

・端末(ターミナル)を起動し必要アプリをインストールする

# sudo apt-get update
# sudo apt-get upgrade
# sudo apt-get install apache2-utils ssh squid ziproxy privoxy

・sshの設定を変更する
(出先からメンテナンスできるようにsshを設定しておくがrootログインはさせない)

# sudo nano /etc/ssh/sshd_config

---------
PermitRootLogin no
---------

・ziproxyの設定を変更する

# sudo cp /etc/ziproxy/ziproxy.conf /etc/ziproxy/ziproxy.conf.org
# sudo gedit /etc/ziproxy/ziproxy.conf

---------
## Port to listen for proxy connections
## default: 8080
Port = 1234

## Default: none (disabled)
NextProxy="192.168.1.99"

## TCP port to be used by NextProxy.
## Default: 8080
NextPort=1233
---------

・ziproxyを起動する

# sudo service ziproxy restart

・squidのBASIC認証用のIDとパスワードを設定する(IDの名称例 loginname)

# sudo htpasswd -c /etc/squid3/.htpasswd loginname
# sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.org

・squidの設定を変更する(squidの設定方針は以下の通り)
1)BASIC認証を有効にする
2)不要なポートは通さない
3)squidのキャッシュ用のメモリはメモリが許す範囲で増やす
4)squidでキャッシュするファイルの最大容量をメモリが許す範囲で増やす
5)匿名串化する

# sudo gedit /etc/squid3/squid.conf

---------
# Example rule allowing access from your local networks.
# Adapt to list your (internal) IP networks from where browsing
# should be allowed
#acl localnet src 10.0.0.0/8    # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12    # RFC1918 possible internal network
#acl localnet src 192.168.0.0/16    # RFC1918 possible internal network
#acl localnet src fc00::/7       # RFC 4193 local private network range
#acl localnet src fe80::/10      # RFC 4291 link-local (directly plugged) machines

acl localnet src 192.168.1.0/32

acl SSL_ports port 443
acl Safe_ports port 80        # http
acl Safe_ports port 21        # ftp
acl Safe_ports port 443        # https
#acl Safe_ports port 70        # gopher
#acl Safe_ports port 210        # wais
#acl Safe_ports port 1025-65535    # unregistered ports
#acl Safe_ports port 280        # http-mgmt
#acl Safe_ports port 488        # gss-http
#acl Safe_ports port 591        # filemaker
#acl Safe_ports port 777        # multiling http
acl CONNECT method CONNECT

#Ubuntu14.04LTS
auth_param basic program /usr/lib/squid3/basic_ncsa_auth /etc/squid3/.htpasswd
#Ubuntu12.04LTS
#auth_param basic program /usr/lib/squid3/ncsa_auth /etc/squid3/.htpasswd
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
acl password proxy_auth REQUIRED
http_access allow password

・・・

# from where browsing should be allowed
http_access allow localnet
http_access allow localhost

・・・

# Squid normally listens to port 3128
http_port 1233

・・・

# OPTIONS WHICH AFFECT THE NEIGHBOR SELECTION ALGORITHM
# -----------------------------------------------------------------------------
cache_peer 192.168.1.99 parent 1232 7 no-query
never_direct allow all
#  TAG: cache_peer

・・・

#Default:
cache_mem 500 MB

・・・

#Default:
maximum_object_size_in_memory 1000 KB

・・・

#Default:
# Let operating system decide.

forwarded_for off
visible_hostname unknown
#request_header_access Referer deny all
request_header_access X-Forwarded-For deny all
request_header_access Via deny all
request_header_access Cache-Control deny all
---------

・squidを起動する

# sudo service squid3 restart

・privoxyの設定を変更する

# sudo gedit /etc/privoxy/config

---------
#        listen-address [::1]:8118
#
listen-address  192.168.1.99:1232

・・・

#
enable-edit-actions 1

・・・

#
buffer-limit 16384
---------

・privoxyのフィルタを自動更新するシェルを作成する

# sudo gedit /etc/privoxy/privoxy-blocklist.sh

privoxy-blocklist.sh

・実行権限をつける

# sudo chmod 755 /etc/privoxy/privoxy-blocklist.sh

・privoxyのフィルタの1番最後に追加する

# sudo gedit /etc/privoxy/user.action

---------
{ +block }
aaa.com
---------

・privoxyを起動する

# sudo service privoxy restart

・privoxyのフィルタが自動更新されるようにする(1番最後に追加)

#  sudo crontab -e

---------
0 3 * * * /etc/privoxy/privoxy-blocklist.sh
---------

=====

以上です

Android4.4でAdobeFlashPlayerとproxyを使う

Android4.4のブラウザで「Adobe Flash Player」と「Proxy」を使う方法です。

先に結論から書いてしまうと、Android 版 Firefox を利用する事ですべて解決します。


☆Firefoxモバイルブラウザ
https://play.google.com/store/apps/details?id=org.mozilla.firefox&hl=ja


☆Android 4.0 用の Flash Player バージョン(Flash Player 11.1 for Android 4.0 (11.1.115.81))
http://helpx.adobe.com/jp/flash-player/kb/228683.html


☆Firefox Mobile: Privacy Enhanced(INSTALL PROXYMOBをクリック)
https://guardianproject.info/apps/firefoxprivacy/


この組み合わせで実現可能です。

以下余談(笑)

===


Android4.4からはGooglePlayで公開されているブラウザの多くで、
Adobe Flash Playerが動かなくなり、さらにはProxyも利用できなくなりました。

実はGooglePlayで公開されている殆どのブラウザは、
OS標準の機能を使って作られています。

この事が理由で、Android4.4でセキュリティ強化の修正が入った影響をうけ、
Adobe Flash Playerが動かなくなり、さらにはProxyも利用できなくなったという訳です。

逆に考えればFirefoxのように
独自のHTMLレンダリングエンジン(Gecko)を採用しているブラウザを使えば、
引き続きこれらの機能は利用できるとなるわけです。

とはいえ独自のHTMLレンダリングエンジンを採用しているブラウザは数が知れていて、
サポートが継続して現存しているものでは、
FirefoxとdolphinブラウザのJetPack位しかありません。

ただdolphinブラウザのJetPackはちょっとしたゴニョゴニョ
Adobe Flash Playerは動きますが、
Proxyが利用できないので自分は使っていません。
という事で事実上firefox一択になっています。

ちなみにfirefoxは独自のHTMLレンダリングエンジンのため、
サイトによっては描画崩れする場合もありますが、
Phonyとよばれるアドオンを入れ、
”Android(スマートフォン)”のユーザエージェントを模倣しておけば、
殆どのサイトの閲覧は問題なく行えると思います。

livedoor blogに引っ越し

FC2にblogを開設していたのですが、京都府警の動きがあるので、
いきなり突然に閉鎖!記事がきえて泣き寝入り!なんて可能性もあるだけに、
Blogをこちらに移行させました!!

FC2は2006年から利用していたので長い付き合いでしたが、
この状況では仕方ないですね・・・。

という事でこちらでも宜しくおねがいします!!
livedoor プロフィール
記事検索
最新コメント
アーカイブ