Recycler

Opera - より高速で安全なウェブブラウザ

各都道府県所在地から東京駅への終電

@m61k って、ごめん。。。知りたかったのは東京駅着の方。。。 Twitter / @haruka_yj: @m61k って、ごめん。。。知りたかったのは東京駅 ...

はいはい調べましたよ. ルールはさっきのと同じ.

高知17:44
山口18:39
鳥取18:40
大分18:42
鹿児島18:48
松山18:49
金沢18:54
徳島18:54
長崎19:06
秋田19:07
高松19:10
青森19:22
松江19:22
宮崎19:25
富山19:34
福井19:41
佐賀19:54
広島19:57
熊本19:58
県庁前 (那覇)20:15
奈良20:22
和歌山20:30
岡山20:33
札幌20:34
神戸20:39
山形20:40
盛岡20:41
博多20:58
21:01
大阪21:10
大津21:12
新潟21:32
京都21:34
岐阜21:36
長野21:46
仙台21:48
甲府22:07
福島22:10
名古屋22:10
前橋22:14
静岡22:24
水戸22:40
宇都宮22:54
千葉23:56
大宮23:58
横浜24:18
新宿24:40

東京駅から各県庁所在地への終電

これの終電版を見たい。oshiete.goo.ne.jp/qa/5970060.html Twitter / @haruka_yj: これの終電版を見たい。http://t.co/5Rc ...

適当に調べてみた.

条件

  • 4月27日金曜日の最終経路を Yahoo!ロコ で検索している.
  • 起点は東京駅で, 原則都道府県所在地名を冠する駅を終点としている. 例外は大宮駅, 新宿駅, 博多駅, 県庁前駅である.
  • 航空機の利用を含める.
  • 急行 きたぐに の利用は除く.
宮崎18:00
高知18:12
山口18:27
鹿児島18:33
鳥取18:37
松山18:47
県庁前 (那覇)18:59
松江19:05
博多19:05
佐賀19:05
長崎19:05
熊本19:05
大分19:05
徳島19:13
広島19:50
札幌19:51
青森20:04
秋田20:04
盛岡20:16
金沢20:30
福井20:30
和歌山20:30
岡山20:30
高松20:30
山形20:44
富山20:52
21:20
大津21:20
京都21:20
大阪21:20
神戸21:20
奈良21:20
新潟21:40
福島21:44
岐阜22:00
名古屋22:00
長野22:04
仙台22:08
静岡22:47
前橋23:00
宇都宮23:25
甲府23:31
水戸23:54
大宮24:23
千葉24:23
横浜24:27
新宿24:35

b-mobile で Opera Turbo が使えない件

ここ最近ずっと, b-mobile 1 GB 定額 経由だと, Opera for Desktop, Opera Mobile 関係なく, Opera Turbo のサーバーにつながらない. 今まではずっと Opera 側の問題だと思っていたけれども, 今日偶々複数のネットワーク環境から Opera Turbo を同時に使う機会があったときに, 何故か b-mobile 経由からだけがつながらないのに気付き, b-mobile 側が何かしらの理由で Opera Turbo を拒否しているという疑念が生まれた. まあ実際には Opera Turbo を限定的に標的にしている訳ではなかったが, b-mobile の仕様で Opera Turbo が使えなくなっていることが確認できた.

まず前提として, Opera Turbo は opera10beta-turbo.opera-mini.net:http に URL をリクエストする, というのが基本の仕組みになっていることを押さえておいてほしい. (これはパケットキャプチャリングすると割とすぐに分かる.) 尚, opera10beta-turbo.opera-mini.net は (正しく) 解決すると 141.0.11.252 になる. (下記も参照.)

$ nslookup opera10beta-turbo.opera-mini.net
Server:		210.130.0.1
Address:	210.130.0.1#53

Non-authoritative answer:
opera10beta-turbo.opera-mini.net	canonical name = global-turbo-1.opera-mini.net.
Name:	global-turbo-1.opera-mini.net
Address: 141.0.11.252

それと, 家の LAN が 192.168.1.0/24 であるということ, b-mobile に接続して (動的に) 割り当てられた IP アドレスが 10.201.9.40 であるということも合わせて言及しておく.

さて, Opera さんが Opera Turbo のサーバーに繋がらないと言うからには, 本当に繋がらないのだろう. ということは, そもそも疎通していない可能性が考えられる. しかし, ping を通してみると, ちゃんと通じていることが分かった.

$ ifconfig ppp0 && ping -I ppp0 -c 3 opera10beta-turbo.opera-mini.net
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.201.9.40  P-t-P:10.6.6.6  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:97 errors:0 dropped:0 overruns:0 frame:0
          TX packets:138 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:8404 (8.2 KiB)  TX bytes:23295 (22.7 KiB)

Warning: cannot bind to specified iface, falling back: Operation not permitted
PING global-turbo-1.opera-mini.net (141.0.11.252) from 10.201.9.40 ppp0: 56(84) bytes of data.
64 bytes from global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252): icmp_req=1 ttl=49 time=659 ms
64 bytes from global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252): icmp_req=2 ttl=49 time=420 ms
64 bytes from global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252): icmp_req=3 ttl=49 time=399 ms

--- global-turbo-1.opera-mini.net ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2000ms
rtt min/avg/max/mdev = 399.488/493.160/659.743/118.098 ms

本当にそれらしいところに繋がっているのか, 確認したところ, 確かにそれらしいところに ping は飛んでいるみたいである.

$ su -c 'ifconfig ppp0 && traceroute -i ppp0 opera10beta-turbo.opera-mini.net'
Password: 
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.201.9.40  P-t-P:10.6.6.6  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:283 errors:0 dropped:0 overruns:0 frame:0
          TX packets:355 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:28494 (27.8 KiB)  TX bytes:46330 (45.2 KiB)

traceroute to opera10beta-turbo.opera-mini.net (141.0.11.252), 30 hops max, 60 byte packets
 1  10.50.0.162 (10.50.0.162)  219.786 ms  219.885 ms  259.166 ms
 2  10.50.0.164 (10.50.0.164)  298.608 ms  339.350 ms  339.508 ms
 3  g1-223-25-128-18.bmobile.ne.jp (223.25.128.18)  378.786 ms  398.609 ms  418.390 ms
 4  g1-223-25-128-6.bmobile.ne.jp (223.25.128.6)  458.487 ms  498.169 ms  498.150 ms
 5  202.232.12.241 (202.232.12.241)  517.732 ms  537.603 ms  557.891 ms
 6  tky006bb01.IIJ.Net (58.138.120.37)  577.637 ms  399.019 ms  239.521 ms
 7  tky001bf01.IIJ.Net (58.138.82.53)  258.947 ms  278.843 ms  298.710 ms
 8  tky008bf00.IIJ.Net (58.138.80.33)  338.888 ms tky001bf01.IIJ.Net (58.138.80.29)  338.876 ms tky001bf00.IIJ.Net (58.138.80.25)  378.173 ms
 9  sjc002bf00.IIJ.net (216.98.96.182)  458.208 ms sjc002bf01.IIJ.net (216.98.96.62)  478.718 ms  497.848 ms
10  sjc002bb10.IIJ.net (206.132.169.6)  517.653 ms sjc002bb10.IIJ.net (206.132.169.10)  537.530 ms  638.348 ms
11  ge-3-2-4.sjc10.ip4.tinet.net (213.200.66.229)  638.254 ms  657.768 ms  677.129 ms
12  xe-1-2-0.sea20.ip4.tinet.net (89.149.187.113)  459.077 ms  359.971 ms  359.741 ms
13  opera-gw.ip4.tinet.net (173.241.130.110)  418.503 ms  479.001 ms  518.187 ms
14  global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252)  538.197 ms  557.605 ms  578.128 ms

因みに, 宅内 LAN 経由だとこうなった.

$ su -c 'ifconfig p1p2 && traceroute -i p1p2 opera10beta-turbo.opera-mini.net'
Password: 
p1p2      Link encap:Ethernet  HWaddr A4:BA:DB:B2:7E:27  
          inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a6ba:dbff:feb2:7e27/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:231165 errors:0 dropped:1 overruns:0 frame:0
          TX packets:183900 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:206259448 (196.7 MiB)  TX bytes:62691482 (59.7 MiB)
          Interrupt:46 Base address:0xa000 

traceroute to opera10beta-turbo.opera-mini.net (141.0.11.252), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  0.289 ms  0.199 ms  0.157 ms
 2  125.206.156.14 (125.206.156.14)  9.417 ms  9.270 ms  9.299 ms
 3  125.206.156.1 (125.206.156.1)  9.418 ms  9.436 ms  9.684 ms
 4  118.23.130.13 (118.23.130.13)  8.901 ms  8.856 ms  8.965 ms
 5  118.23.85.21 (118.23.85.21)  10.220 ms  11.758 ms  13.621 ms
 6  211.129.29.29 (211.129.29.29)  8.563 ms  8.287 ms  8.242 ms
 7  61.207.14.221 (61.207.14.221)  8.511 ms  8.613 ms  8.339 ms
 8  61.207.4.71 (61.207.4.71)  8.770 ms  8.889 ms  8.641 ms
 9  ae-1.r21.osakjp01.jp.bb.gin.ntt.net (129.250.12.33)  17.290 ms  17.611 ms  17.467 ms
10  as-1.r21.snjsca04.us.bb.gin.ntt.net (129.250.3.197)  121.541 ms  155.028 ms  119.103 ms
11  equinix-sjc.ip.tiscali.net (206.223.116.19)  122.101 ms  122.782 ms  121.891 ms
12  xe-4-1-0.sea20.ip4.tinet.net (89.149.181.218)  160.108 ms  160.010 ms xe-3-0-0.sea20.ip4.tinet.net (89.149.181.222)  142.175 ms
13  opera-gw.ip4.tinet.net (173.241.130.110)  163.687 ms  157.895 ms  155.007 ms
14  global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252)  148.011 ms  148.362 ms  150.609 ms

一体どういうことだ, と頭を抱えていたのだけれど, 何を考えたか, Opera で直接 opera10beta-turbo.opera-mini.net にアクセスしたところ, なんとこんな画面が現れた.

Error message by JCI

著作権表記に Japan Communications Inc. と書いてある!?

もしや, と思い, traceroute を TCP/80 限定で仕掛けたところ, 大当たりだった.

$ su -c 'ifconfig ppp0 && traceroute -i ppp0 -T opera10beta-turbo.opera-mini.net'
Password: 
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.201.9.40  P-t-P:10.6.6.6  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:592 errors:0 dropped:0 overruns:0 frame:0
          TX packets:748 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:77372 (75.5 KiB)  TX bytes:74976 (73.2 KiB)

traceroute to opera10beta-turbo.opera-mini.net (141.0.11.252), 30 hops max, 60 byte packets
 1  10.50.0.162 (10.50.0.162)  218.591 ms  238.372 ms  257.876 ms
 2  10.50.0.164 (10.50.0.164)  278.395 ms  278.295 ms  278.183 ms
 3  10.10.150.29 (10.10.150.29)  297.312 ms  318.068 ms  337.339 ms
 4  global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252)  357.032 ms  356.840 ms  376.719 ms

勿論宅内 LAN 経由だとこのような変化は起きなかった.

$ su -c 'ifconfig p1p2 && traceroute -i p1p2 -T opera10beta-turbo.opera-mini.net'
Password: 
p1p2      Link encap:Ethernet  HWaddr A4:BA:DB:B2:7E:27  
          inet addr:192.168.1.116  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a6ba:dbff:feb2:7e27/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:231227 errors:0 dropped:1 overruns:0 frame:0
          TX packets:183969 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:206266761 (196.7 MiB)  TX bytes:62696804 (59.7 MiB)
          Interrupt:46 Base address:0xa000 

traceroute to opera10beta-turbo.opera-mini.net (141.0.11.252), 30 hops max, 60 byte packets
 1  192.168.1.1 (192.168.1.1)  0.309 ms  0.217 ms  0.175 ms
 2  125.206.156.14 (125.206.156.14)  9.261 ms  9.086 ms  9.061 ms
 3  125.206.156.1 (125.206.156.1)  9.146 ms  9.365 ms  9.376 ms
 4  118.23.130.13 (118.23.130.13)  8.723 ms  8.732 ms  8.580 ms
 5  118.23.85.21 (118.23.85.21)  10.190 ms  12.137 ms  13.927 ms
 6  211.129.29.29 (211.129.29.29)  8.384 ms  8.339 ms  8.314 ms
 7  61.207.14.221 (61.207.14.221)  10.291 ms  8.862 ms  8.676 ms
 8  61.207.4.71 (61.207.4.71)  8.710 ms  8.835 ms  8.780 ms
 9  ae-1.r21.osakjp01.jp.bb.gin.ntt.net (129.250.12.33)  17.878 ms  16.385 ms  16.330 ms
10  as-1.r21.snjsca04.us.bb.gin.ntt.net (129.250.3.197)  121.425 ms  121.634 ms  125.328 ms
11  equinix-sjc.ip.tiscali.net (206.223.116.19)  117.166 ms  117.563 ms  116.869 ms
12  xe-4-1-0.sea20.ip4.tinet.net (89.149.181.218)  155.476 ms  155.267 ms xe-1-2-0.sea20.ip4.tinet.net (89.149.187.113)  140.489 ms
13  opera-gw.ip4.tinet.net (173.241.130.110)  156.783 ms  148.754 ms  148.712 ms
14  global-turbo-1-lvs-colossus.opera-mini.net (141.0.11.252)  150.436 ms  148.359 ms  158.112 ms

ところで, これは他のサイトへのアクセスではどうなっているか試してみたところ, どうやらどのホストに対しても似たようなルーティングが適用されるということが分かった.

$ su -c 'ifconfig ppp0 && traceroute -i ppp0 -T example.com'
Password: 
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.201.9.40  P-t-P:10.6.6.6  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:2284 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2590 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:275215 (268.7 KiB)  TX bytes:222752 (217.5 KiB)

traceroute to example.com (192.0.43.10), 30 hops max, 60 byte packets
 1  10.50.0.162 (10.50.0.162)  219.488 ms  219.368 ms  238.850 ms
 2  10.50.0.164 (10.50.0.164)  258.676 ms  278.474 ms  298.118 ms
 3  10.10.150.29 (10.10.150.29)  338.984 ms  338.873 ms  357.510 ms
 4  43-10.any.icann.org (192.0.43.10)  377.398 ms  398.143 ms  398.009 ms

つまり b-mobile ではデフォルトで HTTP のリクエストをプロクシに通しているということのようですな. 一応, アドレス上は Opera Turbo に接続したことにして, HTTP リクエストの中身は http://example.com/ へのクエリということにしたところ, Opera Turbo 関係なく example.com のレスポンスが降ってきた.

$ ifconfig ppp0 && telnet opera10beta-turbo.opera-mini.net 80
ppp0      Link encap:Point-to-Point Protocol  
          inet addr:10.201.9.40  P-t-P:10.6.6.6  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:1968 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2246 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3 
          RX bytes:229897 (224.5 KiB)  TX bytes:197255 (192.6 KiB)

Trying 141.0.11.252...
Connected to opera10beta-turbo.opera-mini.net.
Escape character is '^]'.
GET / HTTP/1.1
Host: example.com

HTTP/1.0 302 Moved Temporarily
Location: http://www.iana.org/domains/example/
Server: BigIP
Content-Length: 0
X-Cache: MISS from inkf13
X-Cache-Lookup: MISS from inkf13:32080
Connection: close

Connection closed by foreign host.

ここまでの情報を整理し考察すると,

  • 日本通信は b-mobile に対してレイヤ4ルーティングを噛ましている.
  • TCP/80 へのリクエストだけは別のサーバー (10.10.150.29 に繋がっている) を経由するようにしている.
  • この別サーバーは事実上プロクシとして機能している. "プロクシ" は, HTTP リクエスト内の Host ヘッダからリクエストの最終目的地を決定し, 必要であればクエリを整形してインターネットに流す. それらしいレスポンスが得られなかった場合は, サーバー内のエラーページを返す.
  • この仕様によって, Opera は Opera Turbo と直接やりとりすることができない.

ということである.

多分この仕様によって本当に困る人は限られているのだろう. ただ, この "プロクシ" はオプトアウトできないので, 実際には意図しないサーバーと HTTP のインタラクションを強制されていることになる. それって決して気分のよいものではないよねと.

"WebKit さん, お久しぶりです. ところで,"

我が親愛なる学友の報告を見かけて, 久しぶりに WebKit で遊んだ訳ですけれども.

いろいろ弄った挙句, 書いたコードがこれ. ケース内にも書いたが, ページをズームアウトしていくと, 突然背景画像が伸張される. この挙動が例の Wikipedia での問題を生んでいるのは確定. (Wikipedia の CSS には 1 x 1 の PNG を背景画像に指定している部分が存在する.)

最初は, 背景画像のサイズの計算で使う変数の型の取扱いに関するバグなのかな, とか思って調べていたのだけれど, その過程でもしかしてこれは意図された仕様ではないか, という疑念が出てきた. というのは, まず現象のスレッショルドが背景画像の表示サイズが 1 px を切るか切らないかにあって, 更に伸張が要素の高さにピッタリ合うサイズにされているみたいだからだ.

あ, それくらいはコード見たりディスカッションを探したりすれば分かるよね, という指摘は聞かないぞ.

まあでも, WebKit はかなり初期から (IE とは違う意味での) 常識外れのレンダリング仕様があるので, 今回はそれに付け足しただけなのかなって思うことにした. 確かにそうすることで, 背景画像がつぶれて見えないという現象は起きなくなる. でもこれ, アホみたいにデカい要素に指定された極小の背景画像がズームアウト時に無闇矢鱈に伸張されるという現象をワザと引き起こすことになる訳で, それってセンスとしてどうなんだろうって思う. それに比べてみれば, Wikipedia が真っ青になるなんてまだ可愛い方なのではないかと.

何にせよ, 僕からすれば, ページの拡大縮小は元来 Opera のお家芸なのだから, 他の有象無象がどんなおへちゃな実装をしていようとどうでもよい訳ですよ. 一応ズームできるだけマシなんじゃないんですか. (酷

追伸: この問題を WebKit 開発関連のどこかしらで議論したいということでしたら, どうぞ上記のファイルを使ってやってください.

Firefox 的正義

Mozilla のコミュニティ曰く, こういう悪戯を止める対話的手段は存在しない方がいいらしいです.

因みに, Opera の "スクリプトの実行を止める" は prompt をキャンセルしたときにも効きます.

(注: かなりぶっきらぼうに書いたけれども, 別に悪意はない.)

Opera, the fastest and most secure web browser