2026年8月17日(月)掲載 3,609本日 0
HN20071

【脱・権限の暴走】パーミッション要求ゼロのAndroid用ファイルビューア「Gander」を開発しました

Show HN: Gander, an Android file viewer that asks for no permissions

mokshablr17日前

議論

11
0mokshablrスレ主20017日前

皆さん、こんにちは!今回、PDF、Word、Excel、PowerPoint、画像、動画、音声、Markdown、そしてコードファイルまで対応した、Android用のファイルビューア「Gander」を開発しました。最大の特徴は、パーミッション(権限)を一切要求しないことです。今まで、他人から送られてきたファイルを開く際に、ずっとモヤモヤを感じていました。Androidの場合、400MBものオフィススイートをインストールしてログインさせられるか、あるいは無料のビューアを導入するとストレージへのアクセス権を求められ、最終的にはレンダリングのためにファイルをサーバーへアップロードされる、といった状況がほとんどですよね。フォーマットごとに別々のアプリを入れる手間も本当にストレスでした。Ganderは権限を一切持たず、インターネット接続権限すらないため、OSレベルでファイルが端末の外へ流出しないことが保証されています。PDFにはPdfiumを、メディアにはMedia3を採用しており、Office系フォーマットはWebView内でJSライブラリを使ってローカルでレンダリングするため、サーバーへの通信は一切発生しません。あくまで「閲覧専用」のツールです。複雑なPowerPointのスライドは完全に再現できないこともありますし、スプレッドシートのグラフ描画や、古いバイナリ形式の.doc/.pptには非対応ですが、今後フィードバックを受けて改善していく予定です。サイズはわずか14MB、MITライセンスでGitHub Releasesから公開しています。ぜひ使ってみてください!レンダリングが崩れるファイルや、新たに対応してほしい形式など、皆さんからのフィードバックをお待ちしています。

1Mobeen011917日前

全部オフラインで動くとなると、レンダリングの再現性を保ちつつ対応するのが一番大変だったフォーマットって何?

2TekMol17日前

これ面白いね。Androidってアプリにネットアクセス権限を与えないことって避けて通れないと思ってた。ネット権限を要求しないアプリなら、外部と通信できないことが本当に保証されてるの?それとも、ブラウザを開いたり、カスタムURLを使うような他の手段があったりする?追記:Geminiに聞いてみたけど、結果はあんまり良くないみたい。INTERNET権限がないAndroidアプリでも、外部から完全に隔離されてるとは限らないんだって。アプリ自体は直接ネット接続できなくても、データを外部に送信する手段がいくつかあるみたい。Intentベースの通信(ブラウザ経由)とかで、ネット権限がある他のアプリにデータを渡せちゃう。つまり、送信したいデータを含めたURLを使ってシステムブラウザを開いたり、UIタスク内でChrome Custom Tabを読み込んでURL文字列にデータを詰め込んだりできるってこと。あとはプロセス間通信(IPC)だね。同じ開発者のアプリ同士でUser IDを共有(sharedUserId)してれば、同じプロセスで動くからネットアクセス含め全権限が共有されちゃう。さらにContent Providerっていうのもある。これを使えばアプリ間でデータを共有できるから、オフラインアプリが共有データベースや公開されているContent Providerにデータを書き込んで、ネット接続できる別のアプリがそれを読み取ってアップロードするなんてことも可能なんだって。

3sgc17日前

odtとかods形式のサポートって追加できる?今はLibreOffice Viewerを使ってるんだけど、端末内のアプリ数を減らしたいから対応してくれたら嬉しい。

4dheerajvs17日前

試してみたけどすごくいいね。グッジョブ!F-Droidで公開する予定はある?

6adamddev117日前

素晴らしいね。これが革新的でユニークな製品として扱われる現状って、冷静に考えるとかなりおかしいよね。

7nextaccountic16日前

ストアで公開することはできる?Google PlayでもF-Droidでもいいからさ。

8aand1616日前

READMEに署名を追加してくれると嬉しい。Obtainiumとかでインストールする前にユーザーが検証できるからさ。例:5B:5C:F6:4A:94:23:7C:D5:F0:E0:85:76:00:38:BC:1C:EB:DF:18:DA:BA:5C:B3:EA:CA:7C:15:9F:22:A7:E2:4B

9atmanactive16日前

シェアしてくれてありがとう。ドキュメント用にオプションで強制ダークモードを追加することって可能?機能リストにはダークモードってあったけど、あれってアプリのUI用だよね。本当にすごいのはドキュメントの色を反転させて、ドキュメント自体をダークモードで表示できる機能だと思うんだ。お願いできるかな。

10nubinetwork16日前

これどういう仕組み?新しいAndroid SDKのバージョンだとファイルシステムへのアクセスには権限が必要なはずだけど…。古いSDKを使ってるんだとしたら、1年以上アプリが動くとは思えないんだけどなあ。