Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

オレトラストネットワークでちゃっちゃとファイル共有

家にファイルサーバーってあります?動かしたいけどねえ・・って事無いですか??

  • 電気代とか置き場所とかの理由で外付けUSB使ってる
  • SaaSのファイルサービスはどうしても容量課金や通信パケ代が気になる

本来、ファイルサーバーで最重要であるべきセキュリティ要件よりも、
もっと他の理由で使ってなかったりしませんか?
でも家庭ネットは信頼してますよね?だから、もっとこう、サクっと共有してえなあ。

<!-- じゃファイル共有すりゃ良い? -->

そういう人向けにAirDopあるやん

はい。でもあれってベンダーロックされてる感がないすか?
対応してないマイコンだの機器があるとやっぱファイルサーバーあればなーって思う。
OSSが頑張って実装してる例もあるけど対応機器がどんどん増えてく気はしないし。

我々は殆どの機器がしゃべれるプロトコルを知ってるはず、そうHTTP!

有線、無線関係なく、IPがあれば準備OK。それがHTTPの破壊力のスゴさ。
HTTPベースで超簡単にファイル共有!
車輪の再発明感ありますが、UXサイドに倒した実装を念頭に作ってみました。

/* ここにいるよ! */

このツールはこんな機能があります。

  • Windows、Linux、有線ディスクトップ、無線ノート、ラズパイなど他機種対応
  • Go言語なのでバイナリいっこ置けば準備OK
  • 二重同期しないようファイルのハッシュ値を参照して同じファイルは同期除外にします
  • IPとか調べないでも同期してくれる自動同期モードを付けました

autosync.gif

詳しくはリポジトリ見てくださいな。

=begin こんな使い方もアリ! =end

単純なHTTPのクラサバ構成なので柔軟性がとても高いです。こんな使い方もできるぞ。

パーティ転送モード

メールとかSlackで
「会議の資料は以下です。各自入手してください。
 \fileserver\会議20200715\dookie.pptx

あら、面倒!?

  • 会議始まったらツールを自動サーバモードで起動
  • 会議に来た人にトークンを教えて自動クライアントで起動
  • 多人数にどんどこ転送開始!

よし、拡散!

party.gif

バケツリレー転送

A、B、Cサーバにhostsとか同じデータを配布したい。
でもA→B→Cでセグメントが違うのでrsyncとかで一発で配布できない。

あら、面倒!?

  • C→B→Aの順にポート番号を変えてサーバモードとクライアントモードで2つ起動する。
  • Aにファイルを置くと順繰りでCまで転送されていきます。

よし、多重!

relay.gif

VPN踏み台転送

SSHで入る踏み台とデータ同期しておきたい。でもWinSCPとかツールインストールするの情シスの許可要るよなー

あら、面倒!?

  • 転送先でサーバモードで起動する。バイナリ一個置くだけ。
  • お手元の端末からSSHポートフォワードで転送先のサービスポートに接続
  • バイナリ消して証拠隠滅

よし、転送!

ssh.gif

=pod ということで =cut

HTTPつよいのは分かるけど、ファイアウォールが立ちはだかってるって?
大丈夫だよ、家庭内はなんだし、全開放しようぜ。w
というか家族が同居している場合は家庭内ネットワークはゼロトラストネットワーク

次号、スマホ用クライアント開発編に続く!

追伸

「Syncthingって知ってる?参考になると思うから使ってみたらどうだい?」
というアドバイスを頂きましたので調査中・・・
プロダクトとして一㍉も敵わないが何か実装できるとこないかなーって思ってるところ。

ykato
業務でコード書くのが叶わず、ど下手のままだけど、コード書きまくっていつか、みんなに喜ばれるようなツールを作りたい! 投稿内容の全ては個人の見解に基づくものであり、所属する組織の公式見解と正確な現在状況の調査結果を広報しているものではありません
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away