{"id":19520510,"url":"https://github.com/casl0/simple_app_blocker","last_synced_at":"2025-04-26T08:30:48.382Z","repository":{"id":58018045,"uuid":"477068442","full_name":"CASL0/simple_app_blocker","owner":"CASL0","description":null,"archived":false,"fork":false,"pushed_at":"2024-09-08T04:47:53.000Z","size":26066,"stargazers_count":7,"open_issues_count":2,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-09-08T05:39:10.037Z","etag":null,"topics":["android","firewall","jetpack-compose","jni","kotlin","pcapplusplus","vpnservice"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CASL0.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-02T13:51:04.000Z","updated_at":"2024-09-08T04:47:56.000Z","dependencies_parsed_at":"2024-07-20T08:43:31.860Z","dependency_job_id":null,"html_url":"https://github.com/CASL0/simple_app_blocker","commit_stats":null,"previous_names":[],"tags_count":16,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CASL0%2Fsimple_app_blocker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CASL0%2Fsimple_app_blocker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CASL0%2Fsimple_app_blocker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CASL0%2Fsimple_app_blocker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CASL0","download_url":"https://codeload.github.com/CASL0/simple_app_blocker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224030561,"owners_count":17244127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","firewall","jetpack-compose","jni","kotlin","pcapplusplus","vpnservice"],"created_at":"2024-11-11T00:25:55.199Z","updated_at":"2024-11-11T00:25:56.135Z","avatar_url":"https://github.com/CASL0.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Simple App Blocker\n\n[![Weekly Build](https://github.com/CASL0/simple_app_blocker/actions/workflows/weekly_build.yml/badge.svg)](https://github.com/CASL0/simple_app_blocker/actions/workflows/weekly_build.yml)\n[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![API](https://img.shields.io/badge/API-29%2B-brightgreen.svg?style=flat)](https://android-arsenal.com/api?level=29)\n[![codecov](https://codecov.io/github/CASL0/simple_app_blocker/graph/badge.svg?token=0RFQSCROZT)](https://app.codecov.io/github/CASL0/simple_app_blocker)\n\n[VpnService](https://developer.android.com/reference/android/net/VpnService)を利用し、指定のアプリ以外の通信をブロックするシンプルなユーティリティツールです。\n\n対象 OS：Android10+\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=jp.co.casl0.android.simpleappblocker\u0026pcampaignid=pcampaignidMKT-Other-global-all-co-prtnr-py-PartBadge-Mar2515-1\"\u003e\u003cimg height=\"80\" alt=\"Google Play で手に入れよう\" src=\"https://play.google.com/intl/en_us/badges/static/images/badges/ja_badge_web_generic.png\"/\u003e\u003c/a\u003e\n\n## 機能\n\n- ブロックした通信をリアルタイムで表示\n- アプリ指定で通信許可\n- IPv4/IPv6 対応\n\n## 開発\n\n### 開発環境\n\nAndroid Studio (Electric Eel 以降) をインストールしてください。\n\n- Kotlin 2.0.20\n- Android Gradle Plugin 8.3.2\n- Gradle 8.9\n- JDK 17+\n- NDK 27.0.12077973\n\n以下のコマンドを実行し、JNI から使用しているネイティブライブラリ（Pcap++）をセットアップしてください。\n\n```bash\n./gradlew setup\n```\n\n### モジュール\n\n![モジュール構成](https://user-images.githubusercontent.com/28913760/227686241-7f6462cb-08fe-4759-8bf1-efaa0b5957a3.svg)\n\n## PlayConsole へのアップロード\n\nfastlane を使用しアップロードしています。\n\n### 準備\n\nPlayConsole へアップロード用の Service Account を作成し、リポジトリルートに Json を配置してください。\n\n### アップロード\n\n次のコマンドでアップロードしてください。\n\n```shell\nbundle config --local path vendor/bundle\nbundle install\nbundle exec fastlane android deploy\n```\n\n## ドキュメント\n\n- [docs](/docs)\n- [変更履歴](CHANGELOG.md)\n\n※ Android Studio の[Markdown](https://pleiades.io/help/idea/markdown.html)プラグインでプレビューするには、JRE を JCEF に切り替えてください。\nまた、PlantUML ダイアグラムを有効にするために`Settings` \u003e `Languages \u0026 Frameworks` \u003e\n`Markdown`から PlantUML 拡張を有効にしてください。\n\n## ライセンス\n\n```\nCopyright 2022 CASL0\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasl0%2Fsimple_app_blocker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcasl0%2Fsimple_app_blocker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcasl0%2Fsimple_app_blocker/lists"}