Implement
This commit is contained in:
38
AGENTS.md
Normal file
38
AGENTS.md
Normal file
@@ -0,0 +1,38 @@
|
||||
# 概要
|
||||
アプリ名: DummyVPN
|
||||
ターゲットAPIレベル: 33 (Android 13)
|
||||
言語: Kotlin
|
||||
UIフレームワーク: Jetpack Compose
|
||||
|
||||
DummyVPNは、実際にリモートのVPNサーバーと接続するのではなく、アプリで受けたパケットをただインターネットに中継するVPNアプリである。
|
||||
そのためWi-Fiやモバイルネットワークへのパケット転送のみを行う。
|
||||
|
||||
# 画面一覧
|
||||
## メイン画面
|
||||
シンプルかつモダンなデザインにする。まぶしい色は使わない(白は例外)。
|
||||
|
||||
### VPNのオンオフボタン
|
||||
ボタンのサイズはなるべく大きく分かりやすいようにする。
|
||||
VPNが有効の場合は「ON」、無効の場合は「OFF」と表示する。
|
||||
ONの場合はボタンの色を変えて、視覚的に分かりやすくする。
|
||||
|
||||
# 機能一覧
|
||||
## VPN機能
|
||||
メインの機能。概要の通り、すべてのパケットを通常のネットワークに転送する。何も制御しない。
|
||||
VPNはすべてのアプリに適用する。
|
||||
|
||||
## 通知での操作機能
|
||||
VPNが有効の場合は、OSに通知を表示して動作している旨を表示する。
|
||||
また、「停止」ボタンを設け、通知から本アプリのVPN機能を停止できるようにする。
|
||||
|
||||
# 動作
|
||||
バックグラウンドサービスを使用して、アプリを離れても動作できるようにする。
|
||||
|
||||
# コーディングの注意事項
|
||||
- 権限が必要な機能は、requestPermissionを使用してアプリの起動時にユーザーに権限付与のリクエストをする。
|
||||
- テストは作成しない。
|
||||
|
||||
# 技術的な事項
|
||||
- パケットのパススルーはtun2socksを使用する。
|
||||
そのためローカルにSocksプロキシを作成する。
|
||||
VPN開始時にSocksプロキシも起動し、停止時にプロキシも停止する。
|
||||
Reference in New Issue
Block a user