Skip to content

yunkya2/wget-x68k

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wget for X680x0

概要

wget はネットワーク接続が可能な X680x0 上で動作する HTTPS/HTTP/FTP に対応したダウンロードツールです。

GNU Wget と同様のツールを X680x0 向けに新規に実装したものです。

参照: GNU Wget - Wikipedia https://ja.wikipedia.org/wiki/GNU_Wget

動作環境

X680x0 で、計測技研製 TCP/IP ドライバやその互換ドライバを用いたネットワーク接続が可能な環境が必要です。

TLS プロトコルは X680x0 にとって非常に重い処理なので、正常な動作のためには各種設定のチューニングが不可欠です。具体的には以下の設定を行ってください。

(※ 「イーサネットじょい君」を使用する場合はチューニングは不要です)

  • CONFIG.SYS
    • TCP/IPドライバを動かすために必要な PROCESS= 行を以下の設定にします
      PROCESS = 3 2 100
      
      • 最初の 3 は最大スレッド数の指定です。3 以上の値であればよいです
      • 2,3 番目の値 (メインスレッドの優先度とタイムスライス値) は計測技研製ドライバの設定例では 10 10 になっていますが、この値では TLS 処理のための CPU 時間が不足するため、変更の必要があります
  • TCP/IP ドライバ
    • 計測技研製ドライバより高速な hinetd.x (K.Shirakata さん作) を使用してください
    • hinetd.x 起動時のパラメータは以下の設定にします
      hinetd -w512 -n15
      
      高速化係数(-n)を最大に設定した上で、TCP のウィンドウサイズ(-w)を 512 バイトに設定します
    • 実行中にドライバのメモリ不足が発生する場合があるため、メモリに余裕のある環境では更に -+-h:524288 -+-s:262144 のオプションを追加してヒープサイズとスタックサイズを増やしておくとよいです

使い方

コマンドラインから以下のように起動します。

wget [<オプション>] <URL>

オプション

<オプション> は以下の通りです。

  • -O FILE : 出力ファイルを指定します。省略した場合は URL のファイル名が使用されます
  • -P DIR : 保存ディレクトリを指定します
  • -q : 進捗状況の表示を抑制します
  • -c : ダウンロード途中のファイルが存在した場合に続きから再開します
  • -t N : 最大リダイレクト回数を指定します(デフォルト: 5)

URL の形式

<URL> には接続したいサイトを記述します。以下のフォーマットで指定してください。

  • [<スキーム>://][<ユーザ名>:<パスワード>@]<ホスト名>[:<ポート番号>][/<パス>]
    • <スキーム> には httphttpsftp を指定します
    • <ユーザ名><パスワード> は FTP で認証が必要な場合に指定します
    • <ホスト名> にはドメイン名または IP アドレスを指定します
    • <ポート番号> は省略可能です。省略した場合はスキームに応じて 80 (http)、443 (https)、21 (ftp) が指定されたものとして扱います
    • <パス> は省略可能です

コマンドラインの例

wget http://example.com/file.zip
wget -O myfile.bin https://example.com/file.bin
wget ftp://user:pass@example.com/file.bin

制約事項

  • GNU Wget の一部の機能しか実装されていません。再帰的ダウンロードなど未サポートの機能が多々あります。
  • HTTPS 通信に使用している TLS の実装 (axTLS) に以下の制約事項があるため、サイトによって接続できない場合があります。
    • 対応するプロトコルに制約があります
      • 利用できる TLS バージョンは 1.2 のみです
      • 鍵交換で利用できる暗号は RSA のみです。DH や ECDHE などその他の方式には対応していません
    • 接続時にサーバ証明書の確認を行いません(axTLS に機能はありますが、使用していません)
    • 接続先によっては接続時の TLS ハンドシェイクのタイムアウトが短めに設定されていて、これに間に合わないとサーバ側から接続が切断されることがあります
      • 特に 10MHz 機の場合にはぎりぎりで、通信状態によってはタイムアウトしてしまう可能性があります。XVI や X68030 などの高速な機種や、PhantomX などのアクセラレータがある環境が望ましいです

ビルド方法

elf2x68k の 20250907 版以降が必要です。

git clone --recursive https://github.com/yunkya2/wget-x68k.git

で、サブモジュール込みで clone した後、以下のコマンドでビルドします。

make

make linux でデバッグ用の Linux 版のバイナリをビルドすることもできます。

ライセンス

Copyright (c) 2026 Yuichi Nakamura (@yunkya2)

wget は MIT ライセンスで配布されます。 内部で用いられている axTLS は BSD ライセンスで配布されています。

About

Wget command for X680x0

Topics

Resources

Stars

Watchers

Forks

Contributors