Skip to content

Instantly share code, notes, and snippets.

@Hayao0819
Last active October 21, 2023 11:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hayao0819/92efdedb1ec0d711835e3c14eb8e61a9 to your computer and use it in GitHub Desktop.
Save Hayao0819/92efdedb1ec0d711835e3c14eb8e61a9 to your computer and use it in GitHub Desktop.
日本学生ネットワークオペレータ連合 LT下書き

単体で動いて移植可能なCLIツールをさっと書いて効率化

自己紹介

  • 群馬大学情報学部 1年 山田ハヤオ/伊藤 駿
  • Fascode Network所属
  • フロントエンドからマイコンまで幅広く勉強中
  • よく書く言語はGolangとシェルスクリプト

Chrome拡張の基本

これだけのファイルが有れば十分作れる

  • manifest.json
  • background.js
  • popup.html
  • contents.js

使用技術

  • WebPack + TypeScript + PostCSS
  • ESLint + Prettier + StyleLint
  • React + TailwindCSS + daisyUI

(これ以下色々な設定ファイルを書く)

私の自宅ネットワークの構成と課題

自己紹介

  • 群馬大学情報学部 1年 山田ハヤオ/伊藤 駿
  • Fascode Network所属
  • フロントエンドからマイコンまで幅広く勉強中
  • よく書く言語はGolangとシェルスクリプト

自宅のネットワーク構成

  • ソフトバンク光でIPoE
  • ルーターはごにょごにょしてIX2215を使用(後述)
  • NASとしてSynology DS512+ 8TB HDD x2
  • 雑多鯖として自作PC Xeon E3-1220 RAM 16GB

ルーターについて

  • ソフトバンク光ではBBユニット(付属ルーター)が必須 → サブネットマスクも変更できない非常に機能の少ないルーター
  • ごにょごにょしてIX2215に通信を転送

雑多サーバーについて

  • Minecraftサーバー
  • リバースプロキシ
  • NASのバックアップ

ドメインとその運用

  • Cloudflare

問題点

  • Lets Encryptの自動更新がなぜか切れてて動いていない
  • CloudflareでProxyを有効化すると雑多鯖上のNginxのリバースプロキシが動かない
  • ローカルでhayao0819.comのサブドメインに対してローカルIPを返したい→IX2215のローカル名前解決がなぜか動かない
  • 雑多鯖のハードウェア監視をどのようにしようか悩み中

すべての人/OSでファイルを共有する

自己紹介

  • 群馬大学情報学部 1年 山田ハヤオ/伊藤 駿
  • Fascode Network所属
  • フロントエンドからマイコンまで幅広く勉強中
  • よく書く言語はGolangとシェルスクリプト

ファイルの共有

  • 自分の使っているOS
    • Windows 10,Windows 11
    • Arch Linux/Manjaro/Gentoo
    • macOS, iPadOS
    • Android 10~13
  • 自分の周辺の人のOS
    • Windows 8.1
    • iOS

→ 相手(自分のほかのデバイス)にどうやってファイルを送信したらいい?

手段

  • クラウドストレージを用いる
    • ウェブブラウザが必須→CLIしかないLinuxで面倒
    • サイズの制限が非常にシビア

→ 自前のNASにファイルをホストする

  • Sambaでローカル内共有
  • Synology DSMでグローバルに共有→SFTPに接続して...などの面倒な手順がいらない
  • 安全性やサーバーの維持が非常に面倒

単体で動いて移植可能なCLIツールをさっと書いて効率化

自己紹介

  • 群馬大学情報学部 1年 山田ハヤオ/伊藤 駿
  • Fascode Network所属
  • フロントエンドからマイコンまで幅広く勉強中
  • よく書く言語はGolangとシェルスクリプト

コマンドラインツール

自分だけが使う小さいものを作りたい

  • ファイル単体で動作し、移植可能なものがいい
  • 候補
    • Golang
    • Rust
    • シェルスクリプト

小さいことに対してGoやRustはでかすぎる→シェルスクリプトで解決できない??

シェルスクリプトは強い

  • curlでhttp/httpsを扱える
  • jqでjsonを操作できる
  • ファイルシステムやテキストデータの操作はお手の物
  • 並列処理も簡単

前提条件

今回は自分だけが使うものということで最新のBash 5上で動けばいいとする。

外部コマンドは著名なものは使う。(awkやcurl, jqなど)

シェルスクリプトの基本のき

  • スクリプト言語
  • コマンドの実行を繰り返す
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment