----- Tiny File Transmitter Ver 0.13 Copyright (C) 1999-2021 Tetsuo Handa ----- この度は、「Tiny File Transmitter Ver 0.13」をダウンロードしていただきまして 誠に有り難うございます。Tiny File Transmitter は、Windowsパソコン同士で ファイル転送を行うツールです。例えば、「LANには接続されているけどネットワーク ドライブで結ばれていないパソコン間でもファイルの送受信をしたい」という場合に使います。 特徴: 設定が簡単・・・ディレクトリを共有する場合のように面倒な設定が不要です。 操作が簡単・・・ファイルをドラッグ&ドロップするだけでOKです。 動作環境: OS :Windows XP以降(32ビットまたは64ビット) CPU:x86系またはx64系 その他:TCP/IPが利用できること。 保存先にフォルダを新規作成できること。 保存先のドライブに十分な空き容量があること。 インストール方法: TFT.EXE だけで実行できます。 ホストに接続すると TFT$HOST.TXT が作成されます。 TFT.EXE.asc と TFT.TXT.asc は、それぞれ TFT.EXE と TFT.TXT (このファイル)の 提供者を確認するための署名ファイルですので、実行には不要です。 アンインストール方法: TFT.EXE と TFT$HOST.TXT と TFT.TXT と TFT.EXE.asc と TFT.TXT.asc を削除してください。 操作方法: ホスト1とホスト2の両方で TFT.EXE を実行してください。 受信したファイルの保存先の設定は、「ファイル」メニューの中の「保存先の設定」で行えます。 ホスト1・・・「接続」メニューの中の「接続要求を待つ」を選んでください。 この操作は、ホスト2よりも先に行う必要があります。 ホスト2・・・「接続」メニューの中の「接続要求を送る」を選んでください。 すると接続先を入力するウィンドウが現れます。コンボボックスに送信先の アドレスを入力するか、選択肢の中から選んでください。 その後、「接続」ボタンを押すと、相手に接続されます。 受信したファイルは、ファイルにパス名が付いている場合は、パス名付きで保存されます。 ドライブ名は無視されます。 例えば、Win001 と Win002 が接続していて、Win001 の C:\Windows\Temp\README.DOC を Win002 へ送信する時、Win002 側の保存先が C:\Windows\Desktop と仮定すると、 Win002 側で受信したファイルは C:\Windows\Desktop\Win001\Windows\Temp\README.DOC として 保存されます。 接続に成功したら、送信したいファイルやフォルダをエクスプローラから ドラッグ&ドロップしてください。順番にファイルを送信していきます。 現在のバージョンでは、ネットワークコンピュータ上のファイルは送信できません。 操作方法がよく解らない場合は、同じPC上で TFT.EXE を2つ起動して、片方を 接続要求待ち状態にして、他方から接続先を localhost に設定して接続要求を 送ってください。 TFT.EXE について: TFT.EXE は、送信側と受信側の両方の機能を兼ねた実行ファイルです。 通信プロトコルはTCP/IPを使用しています。 受信側は 9999 番と 10000 番のポートを使用します。 TFT$HOST.TXT について: TFT$HOST.TXT は、接続したホストのアドレスの履歴です。TFT.EXE と同じ場所に置いて ください。このファイルは接続をする度に更新されます。テキストエディタを使って 編集しても構いません。セミコロン(;)以下はコメントと見なされます。 このファイルの内容は、コンボボックスの選択肢として選択できます。 レジューム機能について: 受信途中のファイルは、最終更新日時が「1980年1月1日 0時0分0秒」になっています。 送信側は、最終更新日時を見てレジューム可能かどうかを判断するので、受信側で最終 更新日時を変更しないようにしてください。エクスプローラ等において最終更新日時が 表示されない場合がありますが、異常ではありません。 また、レジューム開始前に、SHA-1を利用して送信側のファイルと受信側のファイルが 一致しているかどうかを確認します。これは、同じファイル名を持つ別のファイルを誤って 追記したり、あるいは前回送信中止後に変更されているのに気がつかずに追記することを 避けるためです。この確認作業はファイルサイズによっては時間がかかります。「今すぐ再開」 をクリックすることですぐにレジュームできますが、内容の同一性は保証されません。 注意事項: 接続中の間は、他のパソコンからの接続要求を受け入れることはできません。 FTPとは異なるので、TFT.EXE 同士でしか通信できません。 ホスト名を指定しても接続できない場合は、IPアドレスを指定してください。 サウンドについて: 以下のファイルが TFT.EXE と同じフォルダにあれば、イベント発生時に再生されます。 ファイル名は固定です。鳴らしたいものだけを Windows の Media フォルダなどから コピーして名前を変更してください。これらのファイルが無くても TFT.EXE の動作には 影響ありません。 Connect.wav 相手ホストと接続されたとき SendDone.wav ファイルの送信が完了したとき RecvDone.wav ファイルの受信が完了したとき Message.wav メッセージを受信したとき Error.wav エラーが発生したとき Warning.wav 警告が発生したとき その他: このソフトはフリーソフトです。本プログラムを使用することによって起きる 損害等について、作者は一切責任を負いませんのでご了承ください。 バグが残っているかもしれませんので、出来る限りバージョンアップの サポートをしたいと思います。 バグ報告等がございましたらメールにてお願いします。 Home Page にて最新版を公開したいと思います。 E-mail : penguin-kernel@I-love.SAKURA.ne.jp Home Page: http://hp.vector.co.jp/authors/VA022513/ 余談(このソフトが開発されたわけ): ある日、ある端末からダウンロードした大きなファイルを、他の端末に転送したいと 思ったのですが、フロッピーに分割して持って行くのは大変なので、なんとか簡単に ファイル転送するソフトは無いものだろうかと考えました。しかし、まわりを見ると FTPクライアントはたくさん存在するのですが、2台のPC間でのファイル転送に サーバーを立てるのは面倒です。かといって、電子メールの添付ファイルにする訳にも いきません。 そこで、サーバーとクライアントを一体化したファイル転送ツールを考えました。 それが、このTFTです。TFTは送信側の責任でファイルをアップロードするわけです。 セキュリティの問題から、ダウンロードはできないようになっています。 時々しか行わないファイル転送なら、この程度の機能で充分だと思います。 もっと頻繁にするのなら、それはネットワークドライブを利用した方が良いでしょう。 ちなみに、TFTという名前は、Thin Film Transistor(薄膜トランジスタ)と かけた洒落です。家にあるノート型パソコンはSTN液晶パネルなのですが、 TFT液晶のノート型パソコンが欲しいなぁとか考えているうちに、 Tiny File Transmitter という名前になったわけです。ちなみに、2001年7月に TFT液晶ディスプレイの付いたデスクトップ機を購入しました。 \(^o^)/ 「Thin」と「Tiny」,「Film」と「File」,「Transistor」と「Transmitter」, これって全然関係ないけど結構似てるかも?(笑) 余談2(今後の予定): そろそろ機能追加は終了したいと思っています。というのは、当初の予定ではこんなに 機能を盛り込む予定は無かったので、そろそろ互換性を捨てて1から作り直す時期だと 考えているからです。「Windows 環境があればすぐに使えること」と「レジストリを 使わないこと」と「できる限りシンプルであること」を目標に、開発を続けてきました。 数年後には新しい技術が普及して、もっと効率の良いファイル転送方法が現われることを 期待します。 余談3(ウィルスに注意): KLEZ ウィルスが猛威を振るっていますね。私のところにも届きましたが、驚いたのは この説明書(Ver. 0.10 用の TFT.TXT)が KLEZ によって私のところに流れ着いたことです。 珍しいこともあるもんだなぁ(笑)・・・って、笑い事じゃなくて、くれぐれもウィルスには ご注意ください。 余談4(今後の予定 その2): 今回のアップデートは、現在開発中の次期バージョンを公開できる目処が立たないため、 次期バージョンの開発中に習得した知識を旧バージョンに反映可能な範囲でフィードバックして 公開したものです。大きな変更点はありませんが、充分な動作テストは行っていません。 余談5(初版が開発されてから20年以上が経過して): 昔は Linux 環境で Windows 用プログラムを動かそうという話がありましたが、現在は Windows 環境で Linux 用プログラムを動かそうという話が出てくるくらいに、 Linux というものが普及 しました。そんな中、数十GBのファイルをファイアウォールを超えて転送してもらう必要がある 場面に遭遇しているので、サーバとして Linux 環境を使う代わりに、数TBのファイルでも扱える レジューム機能付き HTTP/HTTPS ファイルアップローダ/ダウンローダを開発しました。しかし、 ファイアウォールを超えられなくても、 Windows 環境でしか使えなくても、暗号化通信に対応して いなくても、4GBの制限を撤廃したバージョンの TFT.EXE が欲しいという要望がありましたので、 XP より古い Windows と Ver 0.10b より古い TFT.EXE への対応を捨てて、 Visual Studio 2019 で コンパイルできるように修正しました。 余談6( IPv6 対応について): 「接続要求を待つ」側が IPv4 アドレスの任意のポート番号を開放できないことが原因で、 「接続要求を送る」側から( IPv4 アドレスとしては到達可能な相手であるのにも関わらず) 接続できないという、 IPv6 MAP-E 環境での制約があることを教えてもらいました。 IPv4 アドレスのまま任意のポート番号を使えるようにすることを検討したのですが、 TFTでは2つのポート番号を必要としているため、 IPv4 アドレスとポート番号2個という 3つの項目を指定できるようにUI画面を改修するという方法だと、手順が増えてしまいます。 現在の Windows 環境では IPv4 アドレスと IPv6 アドレスの両方が割り当てられている ようですので、 IPv6 アドレスを指定すれば既に到達可能な状況になっていることを期待して、 IPv6 アドレスも指定できるように改修することを選びました。この方法であれば、ホスト名 または IPv4 アドレスまたは IPv6 アドレスの何れか1つの項目を指定してもらうだけなので、 手順を増やさずに済むだろうと考えました。 更新履歴: 1999/05/25 Ver 0.01f を公開しました。 1999/06/17 Ver 0.02 を公開しました。 送信側と受信側を別のウィンドウで実行するようにしました。 (注)Ver 0.01f との互換性はありません。 1999/07/30 Ver 0.03 を公開しました。 コマンドラインから起動する時、コメント中に @ が含まれていると 受信側として動作してしまうバグを修正しました。 受信側の保存場所を指定できるようにしました。 (注)以前のバージョンとの互換性はありません。 1999/08/10 Ver 0.03 を再公開しました。 ドキュメントの内容を一部修正しました。 プログラムに変更点はありません。 1999/08/17 Ver 0.03a を公開しました。 新しいDLLで再度コンパイルしました。 英語版の作成のためにプログラムの外見に少し変更を加えました。 Ver 0.03 と互換性があります。 1999/09/28 Ver 0.04 を公開しました。 制御用回線とデータ用回線を別々にして、ファイルの送受信中に エラーが発生した場合、途中で中止して次のファイルの送受信を 開始できるようにしました。 ディレクトリの属性もコピーするようにしました。 サブディレクトリが空であってもコピーするようにしました。 Windows が日本語版でも英語版でも動作するようにしました。 (注)以前のバージョンとの互換性はありません。 2000/03/15 Ver 0.05 を公開しました。 送信と受信を同一のウィンドウで実行するようにしました。 英語版用のメッセージを削除して、ファイルサイズを節約しました。 (注)以前のバージョンとの互換性はありません。 2000/05/20 Ver 0.06 を公開しました。 送受信するファイルの確認などに利用できるように、 メッセージを送受信できるようにしました。 ログ専用のウィンドウを追加しました。 Ver 0.05 と互換性があります。 2000/08/18 Ver 0.07 を公開しました。 受信側でファイルを作成できなかった時にもファイルを閉じようと していたバグを修正しました。 ディスクの空き容量を表示するようにしました。 各ファイルを受信する前に、ディスクの空き容量をチェックするように しました。 英語版用のメッセージを再び付けました。 Ver 0.06 と互換性があります。 2000/12/01 Ver 0.08 を公開しました。 Visual Basic 5.0 から Visual C++ 6.0 に移植しました。 Windows 2000 に対応しました。 細かいバグを修正しました。 Ver 0.07 と互換性があります。 2000/12/08 Ver 0.08a を公開しました。 Windows 95 OSR2 以前のPCで起動できないバグを修正しました。 Ver 0.08 と互換性があります。 2001/02/15 Ver 0.08a を再公開しました。 ホームページ移転のためにドキュメントの記述を一部変更しました。 2001/03/27 Ver 0.10 を公開しました。 レジューム機能を追加しました。 4GBまでのファイルを送受信できるようにしました。 Windows Me に対応しました。 細かいバグを修正しました。 Ver 0.08a と互換性があります。 ホームページ再移転のためにドキュメントの記述を一部変更しました。 2002/07/21 Ver 0.10a を公開しました。 プログレスバーと転送速度と残り時間の目安を表示しました。 メッセージ受信時などに音が鳴るようにしました。 Ver 0.08a と互換性があります。 2004/01/11 Ver 0.10b を公開しました。 高速回線を想定して、データの送信頻度を上げました。 クロスケーブルで2台を接続する場合を想定して、クライアントが 接続先を決定する以外の用途で名前解決を行わないようにしました。 そのため、接続先の表示が今までと異なる場合があります。 ディレクトリトラバーサル攻撃対策として / を含むファイル名を 拒否するようにしました。 Windows XP に対応しました。 Ver 0.10a と互換性があります。 2020/11/22 Ver 0.11 を公開しました。 送受信可能なファイルサイズの上限を撤廃しました。 2020/12/15 Ver 0.12 を公開しました。 Ver 0.11 において、ソースコード修正中の見落としにより、自動的に リモートホスト名のフォルダが作成されない状態になっていたのを 修正しました。 ウィルス対策ソフトのリアルタイムスキャンと競合すると日付情報の 設定に失敗することがあったため、日付情報を設定するタイミングを 変更しました。 2021/08/08 Ver 0.13 を公開しました。 IPv6 に対応しました。 「接続要求を送る」側の参考にしてもらえるように、「接続要求を 待つ」側から見た IPv4 アドレスおよび IPv6 アドレスをタイトル バーとログ領域に表示するようにしました。なお、リンクローカル IPv6 アドレスで接続する場合には、 % 以降の数値(スコープID) 部分を「接続要求を送る」側で使用されている数値に合わせて 読み替える必要がありますのでご注意ください。