The telnet URI Scheme

The telnet URI Scheme

[3] telnet: URLTelnet プロトコルによる対話サービスを表します >>1

仕様書

意味

[6] 他の多くの URL とは異なり、プロトコルを使ってアクセスできる資源ではなく、 Telnet による対話セッション自体を表しています。

[7] Telnet プロトコルにはいろいろな拡張が定義されていて、実装によってはそのような拡張を有効にします。 >>1 拡張の有無によって scheme を変えたり、拡張を URL の一部として記述したりすることはできません。

構文

[4] RFC 4248 では構文が次のように規定されています >>1

   telnet://<user>:<password>@<host>:<port>/
[5] 以前の RFC には ABNF 構文もありましたが、 RFC 4248 にはなぜかありません。

[16] path は省略可能です >>1

userinfo

[18] userinfo で指定される利用者名合言葉は実際にはヒント的なもので、 接続時に利用者に確認が入るのが普通です。 >>1

port

[22] 既定のポート番号23 です >>1

[25] XユーザーのDaiyuu Nobori (登 大遊)さん: 「最近の法務局登記官のインターネット・リテラシは、極めて高くなってきたようだ。インターネットにおける Telnet の歴史的重要性を、理解されている。大変に素晴らしいことなのである。 https://t.co/WUN4nC48oZ」 / X, , https://twitter.com/dnobori/status/1698619977950212362

[26] >>25 登記簿に書かれた telnet: URL の事例.

関連

[8] 類似した URL scheme として tn3270:rlogin: があります。

歴史

RFC 1630

[12] RFC 1630 の構文の定義では path は認められていませんでした。

RFC 1738

[17] path は省略可能となっています。

RFC 4248 (2004-2005)

[20] RFC 4248 (>>1) は RFC 1738廃止し、 RFC 3986 世代の telnet: URL の仕様書として (ようやく) 出版されました。 ただし内容はほとんど RFC 1738 と変わっていません。 ABNF 定義はなぜか削除されています。

実装

[19] URL Schemes Supported in Lynx ( 版) http://lynx.isc.org/lynx2.8.5/lynx2-8-5/lynx_help/lynx_url_support.html#telnet_url

[21] Netscape Navigator も昔から対応していて、 OS 附属の telnet クライアントを起動していました。

メモ

[2] telnet は古い友達 | | プログラマ2.0日報 | あすなろBLOG ( 版) http://blog.pasonatech.co.jp/sugiura/9234.html

そういえば、ASCII アニメ(エスケープシーケンスで動かす奴)を見せる用途で、

<a href="telnet:user@host.domain">ASCIIアニメ見る?</a>

と telnet プロトコルのアンカーを HTML に埋め込んでたURLがありましたが、今でも

  • スターウォーズ(telnet://towel.blinkenlights.nl/ HP) そういえばコレ昔からあったもの。懐かしい...
  • サッカーワールドカップ 2006(telnet://ascii-wm.net:2006/ HP) こっちはイマドキなもので、精度が凄いです。リアルでびっくり。

とかあるようです。そういう使い方もないわけじゃないですね(苦笑)。何かヘンなサービスをさせるのに、意外な使い方があるかもしれないですよ...

[24] VLC command-line help - VideoLAN Wiki (, ) https://wiki.videolan.org/VLC_command-line_help

--cli-host=<string> CLI input

Accept commands from this source. The CLI defaults to stdin

("*console"), but can also bind to a plain TCP socket

("localhost:4212") or use the telnet protocol

("telnet://0.0.0.0:4212")