osad-sakana
← Works

SafeStreamBrowser

safe-stream-browser

配信のための安全ブラウザ(余計なものを写さないためのブラウザ)

GitHub ↗Mac

SafeStream Browser

配信者のための安全なブラウザです。Rust + OS標準のWebView(macOSではWebKit)で作られています。

配信中に「戻る」「進む」の誤操作で意図しないサイトに飛んでしまう事故を防ぐため、戻る/進む機能そのものを持たせていません。別のサイトへ移動したいときは、専用のポップアップウィンドウにURLを手打ちします。

特徴

動作環境

使い方

開発中に実行する

cargo run

テスト・静的解析

cargo test
cargo clippy

アプリとしてインストールする

cargo run はターミナルから直接バイナリを起動するだけなので、Dockアイコンやアプリ名は反映されません。.app バンドルとして使うには以下を実行します。

chmod +x scripts/bundle_mac.sh   # 初回のみ
./scripts/bundle_mac.sh

target/release/bundle/SafeStream Browser.app が生成されます。/Applications にコピーすればLaunchpadやSpotlightからも起動できます。

cp -R "target/release/bundle/SafeStream Browser.app" "/Applications/SafeStream Browser.app"

プロジェクト構成

ファイル 役割
src/main.rs イベントループ本体
src/browser.rs メインウィンドウ・WebViewの生成、履歴操作の無効化、ナビゲーション制御
src/menu.rs macOSメニューバー(「移動」→「URLを開く…」、標準の編集メニュー)の構築
src/url_popup.rs URL手打ち用ポップアップウィンドウ
src/url_input.rs URL文字列の正規化・検証(スキーム制限など)
src/event.rs イベントループ内で扱うアプリケーション独自イベント
assets/ アプリアイコン(icon.svg / AppIcon.icns)
scripts/bundle_mac.sh .app バンドルを組み立てるビルドスクリプト