The new security panel for Chrome/Chromium from v48

Google announced the new security panel for Chrome from v48 in Chrome’s DevTools, this feature can help users easily know the security information for every network connection/request in a certain website, including the certificate info, now it’s been easier to debug what’s the reason why a website didn’t get a green lock on the url bar(A website using https with enough strengh will have a green lock icon).

Screenshots as example (using my blog):

References:

Security Panel debuts in Chrome DevTools
https://developers.google.com/web/updates/2015/12/security-panel

Introducing the Security Panel in DevTools – Chromium Blog
https://blog.chromium.org/2016/01/introducing-security-panel-in-devtools.html

Mute certain tab in Google Chrome/Chromium

Open chrome://flags/#enable-tab-audio-muting and enable “Enable tab audio muting UI control” option, then restart your browser.

Now we can have mute option on each tab:

After that, there will be a muted icon on the tab, and if you want to unmute it, there is also an unmute option in the menu of the tab.

Very useful when surfing to some noisy websites!

BTW , the demo screenshots came from the trailer of Transcendence, a very very awesome movie!

Flush local DNS cache on a browser and local system

Browser(application) level:

For Google Chrome/Chromium, open the link below:
chrome://net-internals/#dns
and click “Clear host cache

For Firefox, open the link below:
about:config
then click “I’ll be careful, I promise!“,
and find network.dnsCacheExpiration, set its value to 0 (create one if it didn’t exist).
Now the cache should be flushed, and set network.dnsCacheExpiration back to 3600, or you the cache will not work at all.

Operating system level:

  • Windows:
    • ipconfig /flushdns
  • Linux:
    Depends on the dns service you are using: 
    • sudo systemd-resolve --flush-caches
    • sudo /etc/init.d/dns-clean restart
    • sudo /etc/init.d/nscd restart
    • sudo /etc/init.d/dnsmasq restart
    • sudo /etc/init.d/named restart
  • macOS (> v10.5):
    • dscacheutil -flushcache

Build Chromium OS from source [notes]

Environment: Ubuntu server 14.04.2 LTS x86_64 with Xeon E3-1230 V2 and 8G ram

Reference: Chromium OS Quick Start Guide

Step by step:

Install the necessary packages:
[bash]$ sudo aptitude install git-core gitk git-gui subversion curl[/bash]

Install depot_tools:
[bash]$ git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git –depth 1[/bash]
Add depot_tools to your PATH:
[bash]$ export PATH=`pwd`/depot_tools:"$PATH"[/bash]

Tweak sudoers config:

[bash]
cd /tmp
cat > ./sudo_editor <<EOF
#!/bin/sh
echo Defaults \!tty_tickets > \$1 # Entering your password in one shell affects all shells
echo Defaults timestamp_timeout=180 >> \$1 # Time between re-requesting your password, in minutes
EOF
chmod +x ./sudo_editor
sudo EDITOR=./sudo_editor visudo -f /etc/sudoers.d/relax_requirements
[/bash]

Create directory for chromiumos:
[bash]$ mkdir -p ${HOME}/chromiumos[/bash]
Get the source code:
[bash]$ cd ${HOME}/chromiumos
$ repo init -u https://chromium.googlesource.com/chromiumos/manifest.git –repo-url https://chromium.googlesource.com/external/repo.git
$ repo sync[/bash]

Create(and enter) a chroot(still in the directory for chromiumos):
[bash]$ cros_sdk[/bash]

Choose a board you want to build for, from ~/trunk/src/overlays, and export it to environment:
[bash]chroot$ export BOARD=amd64-generic[/bash] (I selected amd64 arch)
Setup board:
[bash]chroot$ ~/trunk/src/scripts/setup_board –board=${BOARD}[/bash]
Setup password:
[bash]chroot$ ~/trunk/src/scripts/set_shared_user_password.sh[/bash]
(if you want to config kernel, you can try to configure it now, via ~/trunk/src/third_party/kernel/v3.4/chromeos/scripts/kernelconfig, place v3.4 with your kernel version here)
Build packages:
[bash]chroot$ ~/trunk/src/scripts/build_packages –board=${BOARD}[/bash]
Build image(we are almost there):
[bash]chroot$ ~/trunk/src/scripts/build_image –board=${BOARD} –noenable_rootfs_verification dev[/bash]

Copy image to a usb drive:
[bash]chroot$ cros flash –board=${BOARD} usb://[/bash]
or copy to file:
[bash]chroot$ cros flash –board=${BOARD} file://./[/bash]
or create a imgage for virtual machine
(default for kvm, for other vm you can pass parameters –format=vmware or –format=virtualbox):
[bash]chroot$ ~/trunk/src/scripts/image_to_vm.sh –board=${BOARD}[/bash]
(image will be here : ~/trunk/src/build/images/${BOARD}/latest/)

If you copy image to a file, you can use dd to write to a usb disk like this:
[bash]$ sudo dd if=./chromiumos_image.bin of=/dev/sde bs=4M[/bash]

And then you can boot a computer via this usb disk now.

If you got kernel panic, you may need to press Esc and try this command to boot
[bash]chromeos-usb.A boot=/dev/sdX3[/bash], X may be a~e

If you want to install Chromium OS to your hard disk, try this command when your usb disk boot up:
[bash]$ sudo /usr/sbin/chromeos-install[/bash], PS, it’ll wipe your disk!!!

Don’t know what’s the reason why it’ll keep getting deadly segment fault and hang, but it works on my acer Aspire one D150, a super old notebook, the performance is not so good, and I don’t know how to remap the keyboard on it(there are 3 broken keys orz …), so I just quit, ha!

Only 2 screenshots this time … took by my low-end phone.