「Chromium 設定」の版間の差分
(同期) |
(同期) |
||
16行目: | 16行目: | ||
* '''chrome://plugins''' - 現在使用している Chromium プラグインを表示・有効化・無効化。 |
* '''chrome://plugins''' - 現在使用している Chromium プラグインを表示・有効化・無効化。 |
||
* '''chrome://gpu''' - 様々な GPU オプションの状態。 |
* '''chrome://gpu''' - 様々な GPU オプションの状態。 |
||
− | * '''chrome://sandbox''' - |
+ | * '''chrome://sandbox''' - サンドボックスの状態を表示。 |
− | * '''chrome://version''' - |
+ | * '''chrome://version''' - バージョンや {{ic|/usr/bin/chromium}} を実行するときに使われたスイッチを表示。 |
− | + | 自動的に更新される Chromium のスイッチのリストが [http://peter.sh/experiments/chromium-command-line-switches/ こちら] にあります。 |
|
=== ダウンロードタブのアイコンが表示されない === |
=== ダウンロードタブのアイコンが表示されない === |
||
125行目: | 125行目: | ||
== セキュリティ == |
== セキュリティ == |
||
=== WebRTC === |
=== WebRTC === |
||
+ | WebRTC は JavaScript を使用する通信プロトコルですが、VPN を使っている場合でもマシンの IP アドレスやハードウェアのハッシュ値が漏洩する可能性があります。VPN ソフトウェアによってはスクリプトの実行が阻止されることもありますが、プロトコルを直接ブロックしてしまう方が安全です。2016年10月現在、Chromium で WebRTC を無効化する方法はありませんが、ローカル IP アドレスの漏洩を阻止する拡張が存在します [https://chrome.google.com/webstore/detail/webrtc-network-limiter/npeicpdbkakmehahjeeohfdhnlpdklia]。 |
||
− | WebRTC is a communication protocol that relies on JavaScript that can leak one's actual IP address from behind a VPN. While software like NoScript prevents this, it's probably a good idea to block this protocol directly as well, just to be safe. An [https://code.google.com/p/chromium/issues/detail?id=457492 option to disable it] is available via an [https://chrome.google.com/webstore/detail/webrtc-network-limiter/npeicpdbkakmehahjeeohfdhnlpdklia extension]. |
||
− | + | WebRTC は [https://www.privacytools.io/webrtc.html こちらのページ] でテストできます。 |
|
+ | {{Warning|IP の漏洩は防げても、Chromium はユニークなハッシュを送信しており、それを止める方法はありません。詳しくは https://www.browserleaks.com/webrtc#webrtc-disable を読んでください。}} |
||
− | === 安全でない RC4 暗号を無効化 === |
||
− | |||
− | The RC4 cipher has been [http://www.cisco.com/web/about/security/intelligence/nextgen_crypto.html declared as insecure], but the cipher is still in Chromium at present. To disable it: |
||
− | |||
− | $ chromium --cipher-suite-blacklist=0x0001,0x0002,0x0004,0x0005,0x0017,0x0018,0xc002,0xc007,0xc00c,0xc011,0xc016,0xff80,0xff81,0xff82,0xff83 |
||
− | |||
− | You can check which cipher suites are supported by your browser at https://cc.dcsec.uni-hannover.de/. Make sure to visit this page before and after you make the change to verify that the change was effective. |
||
− | |||
− | To make the change persistent, you can modify {{ic|~/.config/chromium-flags.conf}} and add the flags above. To check, open the website mentioned before. An alternative is to grep inside of your process list for the keyword "cipher". |
||
− | |||
− | '''参考資料''' |
||
− | |||
− | There is no cleaner way to disable RC4. Also, the [https://code.google.com/p/chromium/codesearch#chromium/usr/include/nss/sslproto.h source-code] only shows the right hexadecimal value for the single cipher. |
||
− | See [[Wikipedia:RC4]] for basic information and a recommendation to disable RC4. |
||
− | |||
− | [http://blog.pregos.info/2013/11/13/howto-disable-weak-rc4-cipher-in-firefox-chromium-google-chrome-internet-explorer/comment-page-1/#comment-141763 German Blog] showing how to disable RC4 in common browsers. |
||
− | |||
− | ===1024ビットの Diffie-Hellman 鍵交換を無効化=== |
||
− | Following [https://freedom-to-tinker.com/blog/haldermanheninger/how-is-nsa-breaking-so-much-crypto/ recent research] it is likely that the NSA has been breaking 1024-bit Diffie-Hellman for some time now. To disable these [https://www.eff.org/deeplinks/2015/10/how-to-protect-yourself-from-nsa-attacks-1024-bit-DH use]: |
||
− | |||
− | $ chromium --cipher-suite-blacklist=0x0033,0x0039,0x009E,0xcc15 |
||
− | |||
− | (best in combination with disabling RC4, s. a.), restart the browser and check [https://www.howsmyssl.com/ how your SSL is]. |
||
=== SSL 証明書 === |
=== SSL 証明書 === |
||
+ | Chromium には SSL 証明書マネージャが存在しません。Chromium は NSS の共有 DB {{ic|~/.pki.nssdb}} を使用しています。データベースに SSL 証明書を追加するには、シェルを使う必要があります。 |
||
− | Chromium does not have an SSL certificate manager. It relies on the NSS Shared DB {{ic|~/.pki.nssdb}}. In order to add SSL certificates to the database, users will have to use the shell. |
||
==== 自己署名証明書の CAcert 証明書を追加 ==== |
==== 自己署名証明書の CAcert 証明書を追加 ==== |
||
+ | CAcerts を取得して {{ic|nssdb}} を作成してください (存在しない場合)。作成するには {{Pkg|nss}} パッケージをインストールして以下を実行する必要があります: |
||
− | Grab the CAcerts and create an {{ic|nssdb}}, if one does not already exist. To do this, first install the {{Pkg|nss}} package, then complete these steps: |
||
$ mkdir -p $HOME/.pki/nssdb |
$ mkdir -p $HOME/.pki/nssdb |
||
170行目: | 148行目: | ||
{{Note|Users will need to create a password for the database, if it does not exist.}} |
{{Note|Users will need to create a password for the database, if it does not exist.}} |
||
+ | これでユーザーは手動で自己署名証明書をインポートできるようになります。 |
||
− | Now users may manually import a self-signed certificate. |
||
==== 例 1: シェルスクリプトを使って TomatoUSB から証明書を分離 ==== |
==== 例 1: シェルスクリプトを使って TomatoUSB から証明書を分離 ==== |
||
+ | 以下は証明書を展開してユーザーの {{ic|nssdb}} に追加するシンプルなスクリプトです: |
||
− | Below is a simple script that will extract and add a certificate to the user's {{ic|nssdb}}: |
||
#!/bin/sh |
#!/bin/sh |
||
184行目: | 162行目: | ||
exec > $REMHOST |
exec > $REMHOST |
||
echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' |
echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' |
||
− | certutil -d sql:$HOME/.pki/nssdb -A -t |
+ | certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n "$REMHOST" -i $REMHOST |
exec 1>&6 6>&- |
exec 1>&6 6>&- |
||
+ | 使用方法はコメント化されている行を見てください。 |
||
− | Syntax is advertised in the commented lines. |
||
+ | |||
+ | 参照: |
||
+ | *http://blog.avirtualhome.com/adding-ssl-certificates-to-google-chrome-linux-ubuntu |
||
+ | *https://chromium.googlesource.com/chromium/src/+/master/docs/linux_cert_management.md |
||
==== 例 2: Firefox を使って TomatoUSB から証明書を分離 ==== |
==== 例 2: Firefox を使って TomatoUSB から証明書を分離 ==== |
||
{{Pkg|firefox}} ブラウザを使って証明書をファイルに保存してデータベースに手動でインポートすることができます。 |
{{Pkg|firefox}} ブラウザを使って証明書をファイルに保存してデータベースに手動でインポートすることができます。 |
||
− | + | firefox を使用: |
|
#Browse to the target URL. |
#Browse to the target URL. |
||
#Upon seeing the "This Connection is Untrusted" warning screen, click: ''I understand the Risks > Add Exception...'' |
#Upon seeing the "This Connection is Untrusted" warning screen, click: ''I understand the Risks > Add Exception...'' |
||
201行目: | 183行目: | ||
{{Note|Adjust the name to match that of the certificate. In the example above, "easy" is the name of the certificate.}} |
{{Note|Adjust the name to match that of the certificate. In the example above, "easy" is the name of the certificate.}} |
||
+ | |||
+ | === Canvas Fingerprinting === |
||
+ | Canvas Fingerprinting は HTML5 の canvas のレンダリング結果の差異を使ってユーザーを識別する技術です。{{ic|--disable-reading-from-canvas}} フラグを使うことで Canvas Fingerprinting を使えないようにすることができます。 |
||
+ | |||
+ | フラグが機能しているかどうか確認するには [https://panopticlick.eff.org こちらのテスト] を実行して "hash of canvas fingerprint" の結果を確認してください。 |
||
== フラグを永続的に設定 == |
== フラグを永続的に設定 == |
||
226行目: | 213行目: | ||
== 参照 == |
== 参照 == |
||
+ | * [https://www.kernel.org/doc/Documentation/filesystems/tmpfs.txt tmpfs の公式カーネルドキュメント] |
||
− | *http://blog.avirtualhome.com/adding-ssl-certificates-to-google-chrome-linux-ubuntu |
||
− | *http://sahissam.blogspot.com/2012/06/new-ssl-certificates-for-tomatousb-and.html |
2016年11月6日 (日) 20:43時点における版
ブラウズのエクスペリエンス
chrome://xxx
URL フィールドに chrome://xxx と入力することで様々な設定にアクセスすることができます。完全なリストは URL フィールドに chrome://chrome-urls と入力することで見ることが可能です。以下有名な URL のリスト:
- chrome://flags - WebGL などの実験的な機能や GPU によるウェブページのレンダリングなどにアクセスできます。
- chrome://plugins - 現在使用している Chromium プラグインを表示・有効化・無効化。
- chrome://gpu - 様々な GPU オプションの状態。
- chrome://sandbox - サンドボックスの状態を表示。
- chrome://version - バージョンや
/usr/bin/chromium
を実行するときに使われたスイッチを表示。
自動的に更新される Chromium のスイッチのリストが こちら にあります。
ダウンロードタブのアイコンが表示されない
Chromium のダウンロードタブで適当なアイコンの代わりにアイコンのプレースホルダ (壊れたドキュメントを示すアイコン) が表示される場合、おそらく gnome-icon-theme がインストールされていません。
Chromium が Preferences ファイルを上書きしてしまう
Google アカウントの同期を有効にしている場合、$HOME/.config/chromium/Default/Preferences
下の Preferences ファイルに直接編集を加えていても Chromium によって上書きされてしまいます。上書きされないようにするには、--disable-sync-preferences
スイッチを付けて Chromium を起動してください:
$ chromium --disable-sync-preferences
If Chromium is started in the background when you login in to your desktop environment, make sure the command your desktop environment uses is
$ chromium --disable-sync-preferences --no-startup-window
検索エンジン
Make sites like wiki.archlinux.org and wikipedia.org easily searchable by first executing a search on those pages, then going to Settings > Search and click the Manage search engines.. button. From there, "Edit" the Wikipedia entry and change its keyword to w (or some other shortcut you prefer). Now searching Wikipedia for "Arch Linux" from the address bar is done simply by entering "w arch linux".
Tmpfs
tmpfs にキャッシュ
To limit Chromium from writing its cache to a physical disk, one can define an alternative location via the --disk-cache-dir=/foo/bar
flag:
$ chromium --disk-cache-dir=/tmp/cache
Cache should be considered temporary and will not be saved after a reboot or hard lock. Alternatively, use:
/etc/fstab
tmpfs /home/username/.cache tmpfs noatime,nodev,nosuid,size=400M 0 0
tmpfs にプロファイル
Relocate the browser profile to a tmpfs filesystem, including /tmp
, or /dev/shm
for improvements in application response as the entire profile is now stored in RAM.
Use an active profile management script for maximal reliability and ease of use.
profile-sync-daemonAUR is such a script and is directly available from the AUR. It symlinks and syncs the browser profile directories to RAM. Refer to the Profile-sync-daemon wiki article for additional information on it.
新しいブラウザインスタンスを起動
When you launch the browser, it first checks if another instance using the same profile is already running. If there is one, the new window is associated with the old instance. To prevent this, you can specifically ask the browser to run with a different profile.
$ chromium --user-data-dir=<PATH TO A PROFILE>
torrent クライアントで *.torrent ファイルやマグネットリンクを直接開く
By default, Chromium downloads *.torrent
files directly and you need to click the notification from the bottom left corner of the screen in order for the file to be opened with your default torrent client. This can be avoided with the following method:
- Download a
*.torrent
file. - Right click the notification displayed at the bottom left corner of the screen.
- Check the "Always Open Files of This Type" checkbox.
デフォルトの関連付けの変更については xdg-open を見てください。
タッチスクリーンデバイスでタッチスクロール
Chrome と Chromium はデフォルトではタッチスクリーンをサポートしていません。chrome の 'flags' から変更できる設定がいくつかあり、あなたの使用しているデバイスで使うことができるかもしれません。公式リポジトリの chromium や AUR の google-chromeAUR でテスト済みです。
- Browse to chrome://flags and set everything to default
- Switch "Enable Touch events" to "Enabled" (chrome://flags/#touch-events)
- Restart Chrome and touch scrolling should work. If it does not, it is worth trying the other modes that are available.
- You may need to specify which touch device to use. Find your touchscreen device with
xinput list
then launch Chromium with the--touch-devices=x
parameter, where "x" is the id of your device.
システムトレイアイコンの無効化
ブラウザから chrome://flags
を開いて以下のフラグを無効にしてください:
device-discovery-notifications
そしてページの下部にある再起動ボタンを押して下さい。
メモリの使用量を減らす
By default, Chromium uses a separate OS process for each instance of a visited web site. [1] However, you can specify command-line switches when starting Chromium to modify this behaviour.
For example, to share one process for all instances of a website:
$ chromium --process-per-site
To use a single process model:
$ chromium --single-process
In addition, you can suspend or store inactive Tabs with extensions such as Tab Suspender and OneTab.
ユーザーエージェント
The User Agent can be arbitrarily modified at the start of Chromium's base instance via its --user-agent="[string]"
parameter.
For the same User Agent as the stable Chrome release for Linux i686 (at the time of writing, the most popular Linux edition of Chrome) one would use:
--user-agent="Mozilla/5.0 (X11; Linux i686) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/20.0.1132.47 Safari/536.11"
An official, automatically updated listing of Chromium releases which also shows the included WebKit version is available as the OmahaProxy Viewer.
プロファイルのメンテナンス
Chromium は Sqlite データベースを使用して履歴やお気に入りを管理しています。Sqlite データベースは使っているうちに断片化していきます。しかしながら、データベースをチェックしたり最適化するプロセスが存在しないため、断片化によって段々とパフォーマンスに影響が出て来ます。デフラグを行ってデータベースから未使用領域を削除することで、起動時間やブックマークや履歴に関連する作業を素早く実行することができます。
AUR の profile-cleanerAUR と browser-vacuumAUR でメンテナンスができます。
セキュリティ
WebRTC
WebRTC は JavaScript を使用する通信プロトコルですが、VPN を使っている場合でもマシンの IP アドレスやハードウェアのハッシュ値が漏洩する可能性があります。VPN ソフトウェアによってはスクリプトの実行が阻止されることもありますが、プロトコルを直接ブロックしてしまう方が安全です。2016年10月現在、Chromium で WebRTC を無効化する方法はありませんが、ローカル IP アドレスの漏洩を阻止する拡張が存在します [4]。
WebRTC は こちらのページ でテストできます。
SSL 証明書
Chromium には SSL 証明書マネージャが存在しません。Chromium は NSS の共有 DB ~/.pki.nssdb
を使用しています。データベースに SSL 証明書を追加するには、シェルを使う必要があります。
自己署名証明書の CAcert 証明書を追加
CAcerts を取得して nssdb
を作成してください (存在しない場合)。作成するには nss パッケージをインストールして以下を実行する必要があります:
$ mkdir -p $HOME/.pki/nssdb $ cd $HOME/.pki/nssdb $ certutil -N -d sql:.
$ curl -k -o "cacert-root.crt" "http://www.cacert.org/certs/root.crt" $ curl -k -o "cacert-class3.crt" "http://www.cacert.org/certs/class3.crt" $ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org" -i cacert-root.crt $ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "CAcert.org Class 3" -i cacert-class3.crt
これでユーザーは手動で自己署名証明書をインポートできるようになります。
例 1: シェルスクリプトを使って TomatoUSB から証明書を分離
以下は証明書を展開してユーザーの nssdb
に追加するシンプルなスクリプトです:
#!/bin/sh # # usage: import-cert.sh remote.host.name [port] # REMHOST=$1 REMPORT=${2:-443} exec 6>&1 exec > $REMHOST echo | openssl s_client -connect ${REMHOST}:${REMPORT} 2>&1 |sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n "$REMHOST" -i $REMHOST exec 1>&6 6>&-
使用方法はコメント化されている行を見てください。
参照:
- http://blog.avirtualhome.com/adding-ssl-certificates-to-google-chrome-linux-ubuntu
- https://chromium.googlesource.com/chromium/src/+/master/docs/linux_cert_management.md
例 2: Firefox を使って TomatoUSB から証明書を分離
firefox ブラウザを使って証明書をファイルに保存してデータベースに手動でインポートすることができます。
firefox を使用:
- Browse to the target URL.
- Upon seeing the "This Connection is Untrusted" warning screen, click: I understand the Risks > Add Exception...
- Click: View > Details > Export and save the certificate to a temporary location (
/tmp/easy.pem
in this example).
Now import the certificate for use in Chromium:
$ certutil -d sql:$HOME/.pki/nssdb -A -t TC -n "easy" -i /tmp/easy.pem
Canvas Fingerprinting
Canvas Fingerprinting は HTML5 の canvas のレンダリング結果の差異を使ってユーザーを識別する技術です。--disable-reading-from-canvas
フラグを使うことで Canvas Fingerprinting を使えないようにすることができます。
フラグが機能しているかどうか確認するには こちらのテスト を実行して "hash of canvas fingerprint" の結果を確認してください。
フラグを永続的に設定
$HOME/.config/
(あるいは環境変数を設定している場合 $XDG_CONFIG_HOME
) にある chromium-flags.conf
ファイルにフラグを記述できます。
特殊な構文はありません。ターミナルに書くのと同じようにフラグは定義します。
- The arguments are split on whitespace and shell quoting rules apply, but no further parsing is performed.
- In case of improper quoting anywhere in the file, a fatal error is raised.
- Flags can be placed in separate lines for readability, but this is not required.
- Lines starting with a hash symbol (#) are skipped.
以下は chromium-flags.conf
ファイルで --start-maximized --incognito
フラグを定義する例です:
# This line will be ignored. --start-maximized --incognito