2009年4月27日月曜日

Jaunty Jackalope でiptableを使ったfirewall

[目標]
Ubuntu Jaunty Jackalope でiptableを使ったfirewallを立てる

[環境]
Ubuntu Jaunty Jackalope 9.04
VirtualBox 2.1.4
USB 104Key (US)



[したこと]

設定ファイルの配置
$ sudo cp iptables.txt /etc/network/if-pre-up.d/iptables
$ sudo chmod 700 /etc/network/if-pre-up.d/iptables
$ sudo chowm root:root /etc/network/if-pre-up.d/iptables

netwrokの再起動
$ sudo /etc/init.d/networking restart

nmapでportscanして確認
$ sudo apt-get install nmap

$ sudo nmap -sS -sV -p 1-65535 ipaddress
$ sudo nmap -sU localhost # UDP
$ sudo nmap -O localhost # OS check
$ sudo nmap localhost


iptables.txt

---------------ここから

#!/bin/bash

#---------------------------------------#
# 設定開始 #
#---------------------------------------#

# インタフェース名定義
LAN=eth0

# 内部ネットワークとして許可する範囲
LOCALNET=192.168.1.1/16

# iptablesのパス
IPTABLES=/sbin/iptables

#---------------------------------------#
# 設定終了 #
#---------------------------------------#

# 初期化
$IPTABLES -F

# デフォルトルール(以降のルールにマッチしなかった場合に適用するルール)設定
$IPTABLES -P INPUT DROP # 受信はすべて破棄
$IPTABLES -P OUTPUT ACCEPT # 送信はすべて許可
$IPTABLES -P FORWARD DROP # 通過はすべて破棄

# 自ホストからのアクセスをすべて許可
$IPTABLES -A INPUT -i lo -j ACCEPT

# 内部からのアクセスをすべて許可
#$IPTABLES -A INPUT -s $LOCALNET -j ACCEPT

# 内部から行ったアクセスに対する外部からの返答アクセスを許可
$IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# SYN Cookiesを有効にする
# ※TCP SYN Flood攻撃対策
sysctl -w net.ipv4.tcp_syncookies=1 > /dev/null
sed -i '/net.ipv4.tcp_syncookies/d' /etc/sysctl.conf
echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf

# ブロードキャストアドレス宛pingには応答しない
# ※Smurf攻撃対策
sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1 > /dev/null
sed -i '/net.ipv4.icmp_echo_ignore_broadcasts/d' /etc/sysctl.conf
echo "net.ipv4.icmp_echo_ignore_broadcasts=1" >> /etc/sysctl.conf

# ICMP Redirectパケットは拒否
sed -i '/net.ipv4.conf.*.accept_redirects/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_redirects=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_redirects=0" >> /etc/sysctl.conf
done

# Source Routedパケットは拒否
sed -i '/net.ipv4.conf.*.accept_source_route/d' /etc/sysctl.conf
for dev in `ls /proc/sys/net/ipv4/conf/`
do
sysctl -w net.ipv4.conf.$dev.accept_source_route=0 > /dev/null
echo "net.ipv4.conf.$dev.accept_source_route=0" >> /etc/sysctl.conf
done

# フラグメント化されたパケットはログを記録して破棄
$IPTABLES -A INPUT -f -j LOG --log-prefix '[IPTABLES FRAGMENT] : '
$IPTABLES -A INPUT -f -j DROP

# 外部とのNetBIOS関連のアクセスはログを記録せずに破棄
# ※不要ログ記録防止
$IPTABLES -A INPUT -s ! $LOCALNET -p tcp -m multiport --dports 135,136,137,138,139,445 -j DROP
$IPTABLES -A INPUT -s ! $LOCALNET -p udp -m multiport --dports 135,136,137,138,139,445 -j DROP
$IPTABLES -A OUTPUT -d ! $LOCALNET -p tcp -m multiport --sports 135,136,137,138,139,445 -j DROP
$IPTABLES -A OUTPUT -d ! $LOCALNET -p udp -m multiport --sports 135,136,137,138,139,445 -j DROP

# 1秒間に4回を超えるpingはログを記録して破棄
# ※Ping of Death攻撃対策
$IPTABLES -N LOG_PINGDEATH
$IPTABLES -A LOG_PINGDEATH -m limit --limit 1/s --limit-burst 4 -j ACCEPT
$IPTABLES -A LOG_PINGDEATH -j LOG --log-prefix '[IPTABLES PINGDEATH] : '
$IPTABLES -A LOG_PINGDEATH -j DROP
$IPTABLES -A INPUT -p icmp --icmp-type echo-request -j LOG_PINGDEATH

# 全ホスト(ブロードキャストアドレス、マルチキャストアドレス)宛パケットはログを記録せずに破棄
# ※不要ログ記録防止
$IPTABLES -A INPUT -d 255.255.255.255 -j DROP
$IPTABLES -A INPUT -d 224.0.0.1 -j DROP

# 113番ポート(IDENT)へのアクセスには拒否応答
# ※メールサーバ等のレスポンス低下防止
$IPTABLES -A INPUT -p tcp --dport 113 -j REJECT --reject-with tcp-reset

# (Ubuntu/Debian系のみ)
# 180秒以内に5回以上のssh接続を試みたIPアドレスをシャットアウトする
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --set --name ssh_attack
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 5 --rttl --name ssh_attack -j LOG --log-prefix 'SSH attack: '
$IPTABLES -A INPUT -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 5 --rttl --name ssh_attack -j DROP

#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここから) #
#----------------------------------------------------------#

# 外部からのTCP22番ポート(SSH)へのアクセスを許可
# ※SSHサーバーを公開する場合のみ
$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 22 -j ACCEPT

# 外部からのTCP/UDP53番ポート(DNS)へのアクセスを許可
# ※外部向けDNSサーバーを運用する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 53 -j ACCEPT
#$IPTABLES -A INPUT -p udp --dport 53 -j ACCEPT

# 外部からのTCP80番ポート(HTTP)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
$IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT

# 外部からのTCP8080番ポート(AP)へのアクセスを許可
# ※APサーバーを公開する場合のみ
$IPTABLES -A INPUT -p tcp --dport 8080 -j ACCEPT

# 外部からのTCP443番ポート(HTTPS)へのアクセスを許可
# ※Webサーバーを公開する場合のみ
$IPTABLES -A INPUT -p tcp --dport 443 -j ACCEPT

# 外部からのTCP21番ポート(FTP)へのアクセスを許可
# ※FTPサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 21 -j ACCEPT

# 外部からのPASV用ポート(FTP-DATA)へのアクセスを許可
# ※FTPサーバーを公開する場合のみ
# ※PASV用ポート60000:60030は設定例
#$IPTABLES -A INPUT -p tcp --dport 60000:60030 -j ACCEPT

# 外部からのTCP25番ポート(SMTP)へのアクセスを許可
# ※SMTPサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 25 -j ACCEPT

# 外部からのTCP465番ポート(SMTPS)へのアクセスを許可
# ※SMTPSサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 465 -j ACCEPT

# 外部からのTCP110番ポート(POP3)へのアクセスを許可
# ※POP3サーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 110 -j ACCEPT

# 外部からのTCP995番ポート(POP3S)へのアクセスを許可
# ※POP3Sサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 995 -j ACCEPT

# 外部からのTCP143番ポート(IMAP)へのアクセスを許可
# ※IMAPサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 143 -j ACCEPT

# 外部からのTCP993番ポート(IMAPS)へのアクセスを許可
# ※IMAPSサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 993 -j ACCEPT

# 外部からのUDP1194番ポート(OpenVPN)へのアクセスを許可
# ※OpenVPNサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p udp --dport 1194 -j ACCEPT

# 外部からのUDP137,138,TCP139,445番ポート(SMB)へのアクセスを許可
# ※Sambaサーバーを公開する場合のみ
$IPTABLES -A INPUT -p udp --dport 137 -j ACCEPT
$IPTABLES -A INPUT -p udp --dport 138 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 139 -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 445 -j ACCEPT

# 外部からのTCP123番ポート(NTP)へのアクセスを許可
# ※NTPサーバーを公開する場合のみ
$IPTABLES -A INPUT -p tcp --dport 123 -j ACCEPT

# 外部からのTCP3306番ポート(MySQL)へのアクセスを許可
# ※MySQLサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 3306 -j ACCEPT

# 外部からのTCP5432番ポート(PostgreSQL)へのアクセスを許可
# ※PostgreSQLサーバーを公開する場合のみ
#$IPTABLES -A INPUT -p tcp --dport 5432 -j ACCEPT

# 外部からのTCP177番ポート(XDMCP)へのアクセスを許可
# ※XDMCPでリモートログインする場合のみ
#$IPTABLES -A INPUT -p udp --dport 177 -j ACCEPT
#$IPTABLES -A INPUT -s $LOCALNET -p udp --dport 177 -j ACCEPT

# 外部からのTCP5900番ポート(VNC)へのアクセスを許可
# ※VNCでリモートログインする場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 5900 -j ACCEPT

# 外部からのTCP3389番ポート(RDP)へのアクセスを許可
# ※RDPでリモートデスクトップ接続する場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 3389 -j ACCEPT

# 外部からのTCP631番ポート(CUPS)へのアクセスを許可
# ※Common Unix Printing System / Internet Printing Protocolでリモート印刷する場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 631 -j ACCEPT

# 外部からのTCP901番ポート(SWAT)へのアクセスを許可
# ※SWATでリモート管理する場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 901 -j ACCEPT

# 外部からのTCP3689番ポート(DAAP)へのアクセスを許可
# ※Digital Audio Access Protocolサーバーを公開する場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 3689 -j ACCEPT

# 外部からのTCP10000番ポート(Webmin)へのアクセスを許可
# ※Webminでリモート管理する場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 10000 -j ACCEPT

# 外部からのTCP41952番ポート(DNLA)へのアクセスを許可
# ※Digital Living Network Allianceサーバーを公開する場合のみ
#$IPTABLES -A INPUT -s $LOCALNET -p tcp --dport 41952 -j ACCEPT


#----------------------------------------------------------#
# 各種サービスを公開する場合の設定(ここまで) #
#----------------------------------------------------------#

# 拒否IPアドレスからのアクセスはログを記録せずに破棄
# ※拒否IPアドレスは/root/.deny_ipに1行ごとに記述しておくこと
# (/root/.deny_ipがなければなにもしない)
if [ -s /root/.deny_ip ]; then
iptables -N DENY_HOST
for ip in `cat /root/.deny_ip`
do
iptables -A DENY_HOST -s $ip -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES DENY_HOST] : '
iptables -A DENY_HOST -s $ip -j DROP
iptables -I INPUT -j DENY_HOST
done
fi

# 上記のルールにマッチしなかったアクセスは破棄
#$IPTABLES -A INPUT -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES INPUT] : '
$IPTABLES -A INPUT -j DROP
#$IPTABLES -A FORWARD -m limit --limit 1/s -j LOG --log-prefix '[IPTABLES FORWARD] : '
$IPTABLES -A FORWARD -j DROP

---------------ここまで

Ubuntu Jaunty Jackalope でOpenJDK6とTomcat6

[目標]
Ubuntu Jaunty Jackalope 9.04でOpenJDK6とTomcat6でJSPServerを立てる
Ubuntu Jaunty Jackalope 9.04でApvahce2とTomcat6の連携

2009-june-18 UPDATE

[環境]
Ubuntu Jaunty Jackalope 9.04
VirtualBox 2.1.x
USB 104Key (US)



[したこと]

[jdk]
$ sudo apt-get install openjdk-6-jre openjdk-6-jdk openjdk-6-jre-headless openjdk-6-jre-lib openjdk-6-doc openjdk-6-demo


[Tomcat6]
$ sudo apt-get install tomcat6
$ sudo apt-get install tomcat6-admin tomcat6-examples

環境変数の設定
$ sudo vi /etc/default/tomcat6

#TOMCAT6_USER=tomcat6 # 修正前
TOMCAT6_USER=tomcat6 # 修正後

#JAVA_HOME=/usr/lib/jvm/openjdk-6-jdk # 修正前 コメントアウト解除だけと誤解しないこと
JAVA_HOME=/usr/lib/jvm/java-6-openjdk # 修正後

#CATALINA_BASE=/var/lib/tomcat6 # 修正前
CATALINA_BASE=/var/lib/tomcat6 # 修正後

server.xmlの編集
$ sudo vi /etc/tomcat6/server.xml
#コメントアウトされている部分を有効にする
#前回の記録に書いてなかったのではまった
<Connector port="8009" protocol="AJP/1.3" redirectPort"8443" />


tomcat-users.xmlの編集
$ sudo vi /etc/tomcat6/tomcat-users.xml

以下のようにコメントアウトされている
本番時は パスワードなど変更する
<!--
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="passwd" roles="tomcat"/>
<user username="both" password="passwd" roles="tomcat,role1"/>
<user username="role1" password="passwd" roles="role1"/>
</tomcat-users>
-->

コメントアウトされている部分を有効にする

<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="passwd" roles="tomcat"/>
<user username="both" password="passwd" roles="tomcat,role1"/>
<user username="role1" password="passwd" roles="role1"/>
</tomcat-users>


admin, managerを使う場合は追加する
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="admin"/> #追加
<role rolename="manager"/>#追加
<user username="both" password="passwd" roles="tomcat,role1"/>
<user username="tomcat" password="passwd" roles="tomcat"/>
<user username="role1" password="passwd" roles="role1"/>
<user username="admin" password="passwd" roles="admin,manager"/> #追加
</tomcat-users>

自作jspの置き場を作る

/etc/tomcat6/Catalina/localhost/jsp-test.xml を編集してjsp-testのある場所をtomcatに指示する

$ sudo mkdir /usr/share/tomcat6/webapps/jsp-test

$ sudo cp -r /usr/share/tomcat6/webapps/default_root/META-INF /usr/share/tomcat6/webapps/jsp-test/META-INF

$ sudo vi /etc/tomcat6/Catalina/localhost/jsp-test.xml

<Context path="/jsp-test" docBase="/usr/share/tomcat6/webapps/jsp-test" debug="0" privileged="true" allowLinking="true">
</Context>

$ sudo ln -s /etc/tomcat6/Catalina/localhost/jsp-test.xml /usr/share/tomcat6/webapps/jsp-test.xml


テスト用jspを置いてみる
$ sudo vi /usr/share/tomcat6/webapps/jsp-test.xml/hello.jsp

---------------ここから
<html>
<head>
<title>Hello JSP World</title>
</head>
<body>
<%
String s= "Hello JSP World";
out.println(s);
%>
</body>
</html>
---------------ここまで


Apache2との連携

Apache2の設定

proxy proxy_ajpの有効化

$ sudo a2enmod proxy
$ sudo a2enmod proxy_ajp


/etc/apache2/cconf.d/tomcat を作成して jsp-test jsp-sample のある場所をApacheに指示する

$ sudo vi /etc/apache2/conf.d/tomcat

---------------ここから

<Location /jsp-test/>
ProxyPass ajp://localhost:8009/jsp-test/
Order allow,deny
Allow from All
</Location>

<Location /jsp/>
ProxyPass ajp://localhost:8009/examples/jsp/
Order allow,deny
Allow from All
</Location>

---------------ここまで


tomcat Apache2の順番で 再起動
$ sudo /etc/init.d/tomcat6 restart
$ sudo /etc/init.d/apache2 restart


アクセスしてみる
http://hoge.fuga.fugu.fugo:8080/
http://hoge.fuga.fugu.fugo/jsp-test/hello.jsp

Ubuntu Jaunty Jackalope で SAMBA3

[目標]
Ubuntu Jaunty Jackalope で SAMBA3
/etc/samba/smb.confの変更を最小限にしたい

[環境]
Ubuntu Jaunty Jackalope 9.04
VirtualBox 2.1.4
USB 104Key (US)



[したこと]

インストール

$ sudo apt-get install samba smbfs libpam-smbpass samba-doc winbind


smb.confを編集する
$ sudo vi /etc/samba/smb.conf

[global]
#linuxの文字コード 追記
unix charset = UTF-8
#SWATの文字コード 追記
display charset = UTF-8
#Windowsの文字コード(SJIS)追記
dos charset = CP932
#workgroup名の確認
workgroup = WORKGROUP
#共有ディレクトリの設定情報の置き場(共有ディレクトリの場所ではない)追記
usershare path = /etc/samba/shares
usershare max shares = 10

#### Networking ####
#追加(内部からのみアクセスできるようにする)
#192.168.1.X と 127.X.X.X を許可する
hosts allow = 192.168.1. 127. 

####### Authentication #######
#コメントアウトを解除
security = user


sambaの再起動
$ sudo /etc/init.d/samba restart


共有ディレクトリの設定を入れるディレクトリの作成
$ sudo mkdir /etc/samba/shares
$ sudo chmod 770 /etc/samba/shares

共有ディレクトリを作る
$ sudo mkdir /var/samba
$ sudo mkdir /var/samba/public

共有ディレクトリのアクセス権の変更
$ sudo chown root:public /var/samba/public
$ sudo chmod 775 /var/samba/public

共有ディレクトリにアクセスできるグループを作る
$ sudo addgroup public

共有ディレクトリをsmbaに登録する
書式 net usershare add 共有名 共有場所 コメント
$ sudo net usershare add public /var/samba/public comment


共有ディレクトリの設定のリストを見る
$ sudo net usershare list

共有ディレクトリの情報を見る
$ sudo net usershare info public
[public]
path=/var/samba/public
comment=comment
usershare_acl=Everyone:R,
guest_ok=n


ユーザーに共有フォルダの書き込み権限を与える
書式 net usershare add 共有名 共有場所 コメント ユーザー:パーミッション,ユーザー:パーミッション

パーミッションの種類
R:読み取り専用
D:拒否
F:フルコントロール

$ sudo net usershare add public /var/samba/public comment everyone:R,user01:F
$ sudo net usershare add public /var/samba/public comment everyone:R,user01:F, とするとエラー

sambaの再起動
$ sudo /etc/init.d/samba restart


共有フォルダにアクセスするユーザーの設定

sambaにユーザーの登録
$ sudo pdbedit -a -u user01
new password
retype new password

グループpublicににユーザーの登録
$ sudo adduser user01 public

再ログイン


[その他]

sambaユーザーの削除
$ sudo pdbedit -x user01

共有の設定を削除する
$ sudo net usershare delete public

Mysql5.0の文字コードをUTF-8に変更する

[目標]
Mysql5.0の文字コードをUTF-8に変更する

[環境]
Ubuntu Jaunty Jackalope 9.04
USB 104Key (US)



[したこと]

インストール
# sudo apt-get -y install mysql-server mysql-server-5.0 mysql-client-5.0 libdbd-mysql-perl libdbi-perl

パスワードの設定
# mysql

mysql> SET PASSWORD FOR root@localhost=PASSWORD('passwd');

mysql> exit

$ mysql -u roo -p

mysql> exit


設定ファイルの編集
# sudo vi /etc/mysql/my.cnf

[client]
line22のあたりに追記
default-character-set=utf8

[mysqld]
line35のあたりに追記
default-character-set=utf8
line41のあたりに追記
skip-character-set-client-handshake

再起動

# sudo /etc/init.d/mysql restart

確認

$ mysql -u user-name -p
mysql> status
mysql> exit

PHP5の文字コードをUTF-8に変更する

[目標]
PHP5をUTF-8で動かす
PHP5の文字コードをUTF-8に変更する

[環境]
Ubuntu Jaunty Jackalope 9.04
USB 104Key (US)



[したこと]

インストール
# apt-get -y install php5 php5-common php5-mcrypt php5-mysql php5-gd php5-cli php-pear

設定ファイルの編集
# sudo vi /etc/php5/apache2/php.ini

line475あたり
default_charset = "UTF-8"

line565あたり適切なサイズに変更
upload_max_filesize = 2M

mbstringの値を以下に変更
mbstring.detect_order auto
mbstring.encoding_translation On
mbstring.func_overload 0
mbstring.http_input auto
mbstring.http_output UTF-8
mbstring.internal_encoding UTF-8
mbstring.language Japanese
mbstring.strict_detection Off

2009年4月16日木曜日

operaでAdblock

[目標]
OperaでAdBlock
OperaにURIFilterを設定して広告を消す

[環境]
Windows XP SP3
Opera 9.64
USB 104Key (US)



[したこと]

Operaのインストール
Opera ブラウザ: すべてのデバイスに最良のブラウザを
http://jp.opera.com/

urlfilter.ini の保存
Fanboy's Adblock List for Opera
http://www.fanboy.co.nz/adblock/opera/

urlfilter.ini の設置
(XP)
C:\Documents and Settings\"user_name"\Application Data\Opera\Opera\profile\
(Vista)
C:\Users\"user_name"\AppData\Roaming\Opera\Opera\profile\
(OSX)
/Users/"user_name"/Library/Preferences/Opera Preferences/
(Linux)
~/.opera/


[参考]
Opera config files
http://members.chello.nl/b.kroonspecker/opera/

Fanboy's Adblock List for Opera
http://www.fanboy.co.nz/adblock/opera/

urlfilter.ini補完計画 - 何かしら図書館
http://wiki.imperiala.net/urlfilter.ini%E8%A3%9C%E5%AE%8C%E8%A8%88%E7%94%BB

http://wiki.imperiala.net/urlfilter.ini補完計画

Operaのコンテンツのブロック (urlfilter.ini) ‎(にゅう)‎
http://sites.google.com/site/oguyoh2/opera/urlfilter

http://sites.google.com/site/oguyoh2/opera/urlfilter

広告(その他特定の要素)を非表示にする - Opera Wiki
http://opera-wiki.com/%E5%BA%83%E5%91%8A(%E3%81%9D%E3%81%AE%E4%BB%96%E7%89%B9%E5%AE%9A%E3%81%AE%E8%A6%81%E7%B4%A0)%E3%82%92%E9%9D%9E%E8%A1%A8%E7%A4%BA%E3%81%AB%E3%81%99%E3%82%8B

2009年4月15日水曜日

SRWare IronでAdBlock

[目標]
Chromiumベースのタブブラウザ Ironで広告を消す
Google Chrome なBrowser SRWare IronでAdBlock

[環境]
Windows XP SP3
SRWare Iron 2.0.168.0 (10702)
USB 104Key (US)

動作が速くて軽いChromium派生のウェブブラウザ「SRWare Iron」 | (仮) - パソコンに関する雑記blog
http://ub.blog85.fc2.com/blog-entry-347.html



[したこと]

SRWare Ironのインストール
SRWare Iron - Der Browser der Zukunft
http://www.srware.net/software_srware_iron_download.php

adblock.iniの保存
http://www.srware.net/downloads/adblock.ini

adblock.iniの書き換え
C:\Program Files\SRWare Iron\adblick.ini



[参考]
動作が速くて軽いChromium派生のウェブブラウザ「SRWare Iron」 | (仮) - パソコンに関する雑記blog
http://ub.blog85.fc2.com/blog-entry-347.html

safari4_winodws_adblock

[目標]
safari4で表示広告削減
safari4でAdBlock
Safari4WinodwsにはSafariAdBlockがないけど広告を減らしたい
Safari4Winws Safari4Macintosh で 広告を非表示にしたい

[環境]
Windows XP SP3
Safari4 beta
USB 104Key (US)


[したこと]

以下のCSSを保存
http://fanboy.co.nz/adblock/opera/fanboy-adblocklist-elements.css

Preferences -> Advanced -> Style Sheet -> Otherをクリック fanboy-adblocklist-elements.cssを選択して保存

[注意]

全部の広告が消えるわけではない
POPUP広告があったスペースをクリックすると空の新規ウィンドが開く
Safari3 WIndowsでも有効

[参考]
Preferences -> Advanced -> Style Sheet -> Other… and select the fanboy-adblocklist-elements.css file
http://opindian.com/blog/2009/02/25/adblock-solution-for-safari-4-windows-and-mac/

2009年4月14日火曜日

delegateでsjisをutf8に変換してamayaで閲覧

[目標]
DeleGateでProxyを立てる
DeleGateで文字コード変換プロキシを立てる
AMAYAでShift-JISのページを見る

[環境]
Windows XP SP3
AMAYA 11.1
DeleGate 9.9.2
USB 104Key (US)



[したこと]

入手
http://www.delegate.org/delegate/

解凍

移動
cd "C:\Program Files\DeleGate
mkdir var
mkdir tmp
mkdir chache
mkdir lib

codemapファイルの入手と配置

wget http://www.delegate.org/delegate//codemap/JAPANESE.TXT
wget http://www.delegate.org/delegate//codemap/CP932.TXT
wget http://www.delegate.org/delegate//codemap/SHIFTJIS.TXT
wget http://www.delegate.org/delegate//codemap/JIS0208.TXT
wget http://www.delegate.org/delegate//codemap/JIS0212.TXT

C:\Program Files\DeleGate\lib
C:\Program Files\DeleGate\var\lib\codemap
この2箇所に
JAPANESE.TXT CP932.TXT SHIFTJIS.TXT JIS0208.TXT JIS0212.TXT
5個のファイルを配置

実行ファイルの名前変更
dg9_9_2.exe -> delegate.exe


Proxyの有効化

「コントロールパネル」->「ネットワークとインターネット接続」->「インターネットオプション」->
「接続」->「 LANの設定」->「プロキシサーバ」
アドレス:127.0.0.1
ポート :8080


dgsc.batの作成と実行
----dgsc.bat-start-----

delegate -P8080 SERVER=http CHARCODE=SJIS/UTF8 CHARCODE=UTF8/SJIS:tosv PROXY=localhost:8080 DGROOT="C:\Program Files\DeleGate" VARDIR="C:\Program Files\DeleGate\var" TMPDIR="C:\Program Files\DeleGate\tmp" CACHEDIR="C:\Program Files\DeleGate\cache" CACHE=no

-----dgsc.bat-end------


AMAYA
メニューの日本語化
Edit Preferences General Dialogue language ja(japanese) Apply
Proxy HTTP proxy 127.0.0.1:8080
プロキシ HTTP プロキシ 127.0.0.1:8080
amaya 再起動


[そのた]

delegateの強制終了

taskkill /F /IM delegate.exe


----dg.bat-start-----

delegate -v +=8080.cfg

-----dg.bat-end------

設定ファイル8080.cfg

----8080.cfg-start-----

-P8080
ADMIN=admin@dummmy.domain
DGROOT="C:\Program Files\DeleGate"
VARDIR="C:\Program Files\DeleGate\var"
TMPDIR="C:\Program Files\DeleGate\tmp"
CACHEDIR="C:\Program Files\DeleGate\cache"
CACHE=no
SERVER=http
PROXY=localhost:8080
CHARCODE=SJIS/UTF8
CHARCODE=UTF8/SJIS:tosv

-----8080.cfg-end------




[注意]
AMAYAではインライン入力ができない

リンクを開くときダブルクリック(閲覧の設定で直せる

dgsc.batな方法はレジストリに書く
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DeleGate-p8880

SJIS決め打ちなのでEUC JISなページは化ける

DeleGateがcodemapをダウンロードする既定の位置は
C:\Program Files\DeleGate\var\lib\codemap
(うまくいった場合

dg.batな方法でcodemapをダウンロードさせるやり方が再現できなかった
(メモしてないやりかたで 落ちてきた


[参考]
http://ja.delegate.org/delegate/ccx/ja/
http://www.lab.its55.com/?p=122

http://homepage3.nifty.com/outrage/delegate4utf8_sjis.pdf

2009年4月13日月曜日

amaya w3c browser で japanese

[目標]
amayaのメニューを日本語化する
amayaで文字化けのないページを作る
amaya11 w3c browser で 日本語表示


[環境]
Windows XP SP3
Emeditor v6.4f
AMAYA11.1
Firefox 3.0.8
InternetExplore 8.0.6001.18702



メニューの日本語化
Edit Preferences General Dialogue language ja(japanese) Apply
amaya 再起動

以下 化けないサンプルhtml

-----html-start-----

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html lang=ja>
<head>

<META http-equiv="Content-Type" content="text/html; charset=UTF-8">


<title>美しい日本語</title>

</head>

<body>


美しい日本語<br>
beautiful japanese<br>


</body>
</html>


-----html-end-----

[point]

META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"
ではなくて
META http-equiv="Content-Type" content="text/html; charset=UTF-8"
にすること

[注意]
過去に作られたS-JISのページを見るには適さない。

2009年4月2日木曜日

FirefoxのContextMenuのDiet

[目標]
Firefoxの右クリックメニューのカスタマイズ
Firefoxのコンテキストメニューのダイエット
FirefoxのContextMenuのDiet


[環境]
Ubuntu Hardy Heron 8.04
Firefox3.0.7
VirtualBox 2.1.x
USB 104Key (US)

[したこと]

userChromes.cssの編集

userChromes.cssのある場所

/home/user-name/.mozilla/firefox/????????.default/chrome/userChromes.css



----userChromes.css.start-----

@charset "utf-8";
/*
* このファイルを編集して userChrome.css という名前で
* [プロファイルディレクトリ]/chrome/
* ディレクトリにコピーしてください。
*/

/*
* このファイルを使って Mozilla のユーザインターフェイスの見た目をカスタマイズ
* できます。デフォルト設定を上書きする場合は !important 宣言を使ってください。
*/@charset "utf-8";
/*
* このファイルを編集して userChrome.css という名前で
* [プロファイルディレクトリ]/chrome/
* ディレクトリにコピーしてください。
*/

/*
* このファイルを使って Mozilla のユーザインターフェイスの見た目をカスタマイズ
* できます。デフォルト設定を上書きする場合は !important 宣言を使ってください。
*/

/*
* 次の @namespace 規則ではデフォルト名前空間を XUL にしています。
* 削除すると正常に動作しなくなるので、削除しないでください。
*/
@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul");


/*
* 操作性を向上させる例:
*/
/*
* デフォルトフォントサイズをすべて 20 ポイントにする:
*
* * {
* font-size: 20pt !important
* }
*/
/*
* メニュー項目についてはデフォルトサイズではなく 15 ポイントにする:
*
* menupopup > * {
* font-size: 15pt !important
* }
*/
/*
* ロケーション (URL) バーを固定幅フォントで表示する:
*
* #urlbar {
* font-family: monospace !important;
* }
*/

/*
* 目障りな Throbber を表示しなくする:
*
* #throbber-box {
* display: none !important;
* }
*/

/*
* その他の例は次のページを参照してください:
* http://www.mozilla-japan.org/unix/customizing.html
*/


/* ==== メニューの「ファイル/編集/履歴/ブックマーク」を非表示 */
#menu[label="ファイル"],
#menu[label="編集"],
menu[label="履歴"],
menu[label="ブックマーク"] {
display: none !important;
}


/* ====ストップ/リロードボタンを統合 */
#stop-button[disabled="true"] {
display:none;
}
#stop-button:not([disabled]) + #reload-button {
display:none;
}

/* === 戻る・進む矢印横の▼ === */
#back-forward-dropmarker,
/* === ウェブデベロッパツールバーとPage Saver ▼ === */
#webdeveloper-toolbar dropmarker,
#tb-save-page-image dropmarker,
#aios-toolbar dropmarker {
display:none!important;
}

/* ==== 不要なタブコンテキストメニュー 削除 */
#menuitem[label="新しいタブ"],
menuitem[label="新しいタブ"] + menuseparator,
menuitem[label="タブを再読み込み"],
menuitem[label="すべてのタブを再読み込み"],
#menuitem[label="閉じたタブを元に戻す"],
#menuitem[label="タブを閉じる"],
menuitem[label="他のタブをすべて閉じる"],
menuitem[label="他のタブをすべて閉じる"] + menuseparator,
menuitem[label="このタブをブックマーク"],
menuitem[label="すべてのタブをブックマーク"],
#menuitem[label="閉じたタブを元に戻す"] {
display:none!important;
}

/* =======================
不要なコンテキストメニュー削除
========================= */
/* ====ページのコンテキストメニュー */
#context-back,/* 「戻る」 */
#context-forward,/* 「進む」 */
#context-reload,/* 「更新」 */
#context-stop,/* 「中止」 */
#context-bookmarkpage,/* 「このページをブックマーク…」 */
#context-sep-stop,/* 「「中止」の真下にあるセパレーター」 */
#context-savepage,/* 「名前を付けてページを保存…」 */
#context-sendpage/* 「リンクを送信…」 */ {
display: none !important;
}

/* ====リンクのコンテキストメニュー */
#context-openlink,/* 「リンクを新しいウィンドウで開く」 */
/* #context-openlinkintab,「リンクを新しいタブで開く」 */
#context-sep-open, /* 「「リンクを新しい~で開く」の真下のセパレーター」 */
#context-bookmarklink,/* 「このリンクをブックマーク…」 */
#context-sendlink,/* 「リンクURLをメールで送信…」 */
#context-copylink,/* 「リンクのURLをコピー」 */
#context-copyemail,/* 「メールアドレスをコピー」 */
#context-sep-copylink/* 「リンク項目の下のセパレーター」 */ {
display: none !important;
}


/* ====画像のコンテキストメニュー */
#context-viewimage,/* 「画像を表示」 */
/* #context-copyimage,「画像のURLをコピー」 */
#context-copyimage-contents,/* 「画像をコピー」 */
#context-sep-copyimage,/* 「「画像のURLをコピー」の真下のセパレーター」 */
/*#context-saveimage, 「画像を名前を付けて保存…」 */
#context-sendimage,/* 「画像をメールで送信…」 */
#context-setDesktopBackground,/* 「デスクトップの背景に設定...」 */
#context-blockimage,/* 「~の画像を表示しない」 */
#context-sep-viewbgimage,/* 「「背景画像を表示」の真上のセパレーター」 */
#context-viewbgimage/*「背景画像を表示」 */{
display: none!important;
}

/* ====Textのコンテキストメニュー */
#context-undo,/*「元に戻す」 */
#context-sep-undo,/* 「「元に戻す」の真下のセパレーター」 */
#context-cut,/* 「切り取り」 */
#context-copy,/* 「コピー」 */
#context-paste,/* 「貼り付け」 */
#context-delete,/* 「削除」 */
#context-sep-paste,/* 「「削除」の真下のセパレーター」 */

----script start-----

#context-selectall,/* 「全て選択」 */
#context-sep-selectall,/* 「「全て選択」の真下のセパレーター」 */
/* #context-searchselect,「 Web 検索:~ 」 */
/* #context-viewpartialsource-selection,「選択した部分のソースを表示 」 */
#context-keywordfield/* 「Add a Keyword for this Search…」 */ {
display: none !important;
}


/* ====その他のコンテキストメニュー */
#context-printpage,/* 「印刷…」 */
/* #frame,「このフレーム」 */
#frame-sep,/* 「「このフレーム」の上のセパレーター」 */
#context-viewpartialsource-mathml,/* 「View MathML Source」 */
#context-sep-properties,/* 「Properties Itemsの上のセパレーター」 */
#context-viewsource,/* 「ページのソースを表示」 */
#context-viewinfo,/* 「ページの情報を表示」 */
#context-metadata/*プロパティ」 */{
display: none !important;
}

-----userChromes.css-end------

[参考]

小さな瞬き:Firefox - コンテキストメニュー(右クリックメニュー)の編集
http://blog.livedoor.jp/blankcity/archives/15346691.html

徒波|不要なコンテキストメニューを非表示にする 【userChrome.css】
http://suzumi.boo.jp/adanami/200505/01_2106.php

userchrome.css - Mozilla Firefox まとめサイト
http://firefox.geckodev.org/index.php?cmd=read&page=userchrome.css&word=user%20chrome

userChrome.cssの設定(ブラウザの外観) - 10press
http://10prs.com/document/firefox-memo/userChromecss.html

Keep it rockin' !!!!!!!: Firefoxのカスタマイズメモ-userChrome.css編-
http://kazetsukai.blogspot.com/2008/03/firefox-userchromecss.html

三軒隣の斜め向かい:不要な右クリックメニューを非表示にする
http://blogs.dion.ne.jp/k_sn/archives/2476408.html

2009年4月1日水曜日

ubuntuにhddの追加

[目標]
Ubuntuにディスクを追加する
userのホームディレクトリにide2という名前でマウントする


[環境]
Ubuntu 8.04 Hardy on VirtualBox 2.1.x
/dev/hda システムが入っている
/dev/hdab 追加されたIDEディスク



[したこと]

マウントされた場所の確認
$ sudo fdisk -l

ファイルシステムの作成
$ sudo mkfs.ext3 /dev/sdb

マウントポイントの作成
$ mkdir /home/user/ide2

UUID確認
$ sudo vol_id /dev/sdb

fstab編集
$ sudo vi /etc/fstab

マウント
$ sudo mount -t ext3 /dev/sdb /home/user/ide2

ディレクトリのオーナー変更
$ sudo chown -R user:user /home/user/ide2

アクセス権も変更
$ sudo chmod 755 /home/user/ide2


つないだHDはシステムからどう認識されているのか、を調べる

$ sudo fdisk -l



[その他]
ファイルシステムを作成
ext3でフォーマットする

$ sudo mkfs.ext3 /dev/sdb



マウントポイントの作成

$ sudo mkdir /var/othrdsk
$ sudo mkdir /home/user_name/directory

アクセス権を変更
$ sudo chown -R user_name directory
$ sudo chown -R user_name:group_name directory
$ sudo chmod 777 /mnt/フォルダ名


uuidの確認
$ sudo vol_id /dev/your_hard_drive

ID_FS_USAGE=filesystem
ID_FS_TYPE=jfs
ID_FS_VERSION=
ID_FS_UUID=1c0653cd-e897-41af-bd30-55f3a195ff33
ID_FS_UUID_ENC=1c0653cd-e897-41af-bd30-55f3a195ff33
ID_FS_LABEL=
ID_FS_LABEL_ENC=
ID_FS_LABEL_SAFE=


自動マウントの設定
/etc/fstabに設定値を書き込み
ale
/dev/sdb /home/user_name/directory ext3 defaults 0 2
UUID=* /home/user_name/directory ext3 defaults 0 2
/dev/sda1 / ext3 defaults,errors=remount-ro 0 2


手動マウント

$ sudo mount -t ext3 /dev/sdb1 /var/othrdsk
$ sudo umount /dev/sdb1