gitextract_rsn9ha2i/ ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug-report-en.md │ │ ├── bug-report-zh_cn.md │ │ ├── feature_request-en.md │ │ └── feature_request-zh_cn.md │ └── workflows/ │ ├── preview.yml │ └── release.yml ├── .gitignore ├── AUTHORS ├── LICENSE ├── README.md ├── app/ │ ├── .gitignore │ ├── build.gradle.kts │ ├── executableSo/ │ │ └── .gitignore │ ├── proguard-rules.pro │ ├── schemas/ │ │ ├── io.nekohasekai.sagernet.database.SagerDatabase/ │ │ │ ├── 1.json │ │ │ ├── 2.json │ │ │ ├── 3.json │ │ │ ├── 4.json │ │ │ ├── 5.json │ │ │ └── 6.json │ │ ├── io.nekohasekai.sagernet.database.preference.PublicDatabase/ │ │ │ └── 1.json │ │ └── moe.matsuri.nb4a.TempDatabase/ │ │ └── 1.json │ └── src/ │ └── main/ │ ├── AndroidManifest.xml │ ├── aidl/ │ │ └── io/ │ │ └── nekohasekai/ │ │ └── sagernet/ │ │ └── aidl/ │ │ ├── ISagerNetService.aidl │ │ ├── ISagerNetServiceCallback.aidl │ │ ├── SpeedDisplayData.aidl │ │ └── TrafficData.aidl │ ├── assets/ │ │ ├── LICENSE │ │ ├── proxy_packagename.txt │ │ └── yacd.version.txt │ ├── java/ │ │ ├── com/ │ │ │ └── github/ │ │ │ └── shadowsocks/ │ │ │ └── plugin/ │ │ │ ├── Utils.kt │ │ │ └── fragment/ │ │ │ └── AlertDialogFragment.kt │ │ ├── io/ │ │ │ └── nekohasekai/ │ │ │ └── sagernet/ │ │ │ ├── BootReceiver.kt │ │ │ ├── Constants.kt │ │ │ ├── QuickToggleShortcut.kt │ │ │ ├── SagerNet.kt │ │ │ ├── aidl/ │ │ │ │ ├── SpeedDisplayData.kt │ │ │ │ └── TrafficData.kt │ │ │ ├── bg/ │ │ │ │ ├── AbstractInstance.kt │ │ │ │ ├── BaseService.kt │ │ │ │ ├── Executable.kt │ │ │ │ ├── GuardedProcessPool.kt │ │ │ │ ├── ProxyService.kt │ │ │ │ ├── SagerConnection.kt │ │ │ │ ├── ServiceNotification.kt │ │ │ │ ├── SubscriptionUpdater.kt │ │ │ │ ├── TileService.kt │ │ │ │ ├── VpnService.kt │ │ │ │ └── proto/ │ │ │ │ ├── BoxInstance.kt │ │ │ │ ├── ProxyInstance.kt │ │ │ │ ├── TestInstance.kt │ │ │ │ ├── TrafficLooper.kt │ │ │ │ ├── TrafficUpdater.kt │ │ │ │ └── UrlTest.kt │ │ │ ├── database/ │ │ │ │ ├── DataStore.kt │ │ │ │ ├── GroupManager.kt │ │ │ │ ├── ParcelizeBridge.java │ │ │ │ ├── ProfileManager.kt │ │ │ │ ├── ProxyEntity.kt │ │ │ │ ├── ProxyGroup.kt │ │ │ │ ├── RuleEntity.kt │ │ │ │ ├── SagerDatabase.kt │ │ │ │ ├── StringCollectionConverter.kt │ │ │ │ ├── SubscriptionBean.java │ │ │ │ └── preference/ │ │ │ │ ├── EditTextPreferenceModifiers.kt │ │ │ │ ├── KeyValuePair.kt │ │ │ │ ├── OnPreferenceDataStoreChangeListener.kt │ │ │ │ ├── PublicDatabase.kt │ │ │ │ └── RoomPreferenceDataStore.kt │ │ │ ├── fmt/ │ │ │ │ ├── AbstractBean.java │ │ │ │ ├── ConfigBuilder.kt │ │ │ │ ├── KryoConverters.java │ │ │ │ ├── PluginEntry.kt │ │ │ │ ├── Serializable.kt │ │ │ │ ├── TypeMap.kt │ │ │ │ ├── UniversalFmt.kt │ │ │ │ ├── gson/ │ │ │ │ │ └── GsonConverters.java │ │ │ │ ├── http/ │ │ │ │ │ ├── HttpBean.java │ │ │ │ │ └── HttpFmt.kt │ │ │ │ ├── hysteria/ │ │ │ │ │ ├── HysteriaBean.java │ │ │ │ │ └── HysteriaFmt.kt │ │ │ │ ├── internal/ │ │ │ │ │ ├── ChainBean.java │ │ │ │ │ └── InternalBean.java │ │ │ │ ├── mieru/ │ │ │ │ │ ├── MieruBean.java │ │ │ │ │ └── MieruFmt.kt │ │ │ │ ├── naive/ │ │ │ │ │ ├── NaiveBean.java │ │ │ │ │ └── NaiveFmt.kt │ │ │ │ ├── shadowsocks/ │ │ │ │ │ ├── ShadowsocksBean.java │ │ │ │ │ └── ShadowsocksFmt.kt │ │ │ │ ├── socks/ │ │ │ │ │ ├── SOCKSBean.java │ │ │ │ │ └── SOCKSFmt.kt │ │ │ │ ├── ssh/ │ │ │ │ │ ├── SSHBean.java │ │ │ │ │ └── SSHFmt.kt │ │ │ │ ├── trojan/ │ │ │ │ │ ├── TrojanBean.java │ │ │ │ │ └── TrojanFmt.kt │ │ │ │ ├── trojan_go/ │ │ │ │ │ ├── TrojanGoBean.java │ │ │ │ │ └── TrojanGoFmt.kt │ │ │ │ ├── tuic/ │ │ │ │ │ ├── TuicBean.java │ │ │ │ │ └── TuicFmt.kt │ │ │ │ ├── v2ray/ │ │ │ │ │ ├── StandardV2RayBean.java │ │ │ │ │ ├── V2RayFmt.kt │ │ │ │ │ └── VMessBean.java │ │ │ │ └── wireguard/ │ │ │ │ ├── WireGuardBean.java │ │ │ │ └── WireGuardFmt.kt │ │ │ ├── group/ │ │ │ │ ├── GroupInterfaceAdapter.kt │ │ │ │ ├── GroupUpdater.kt │ │ │ │ └── RawUpdater.kt │ │ │ ├── ktx/ │ │ │ │ ├── Asyncs.kt │ │ │ │ ├── Browsers.kt │ │ │ │ ├── Dialogs.kt │ │ │ │ ├── Dimens.kt │ │ │ │ ├── Formats.kt │ │ │ │ ├── Kryos.kt │ │ │ │ ├── Layouts.kt │ │ │ │ ├── Logs.kt │ │ │ │ ├── Nets.kt │ │ │ │ ├── Preferences.kt │ │ │ │ └── Utils.kt │ │ │ ├── plugin/ │ │ │ │ └── PluginManager.kt │ │ │ ├── ui/ │ │ │ │ ├── AboutFragment.kt │ │ │ │ ├── AppListActivity.kt │ │ │ │ ├── AppManagerActivity.kt │ │ │ │ ├── AssetsActivity.kt │ │ │ │ ├── BackupFragment.kt │ │ │ │ ├── BlankActivity.kt │ │ │ │ ├── ConfigurationFragment.kt │ │ │ │ ├── GroupFragment.kt │ │ │ │ ├── GroupSettingsActivity.kt │ │ │ │ ├── LogcatFragment.kt │ │ │ │ ├── MainActivity.kt │ │ │ │ ├── NamedFragment.kt │ │ │ │ ├── NetworkFragment.kt │ │ │ │ ├── ProfileSelectActivity.kt │ │ │ │ ├── QuickDisableShortcut.kt │ │ │ │ ├── QuickEnableShortcut.kt │ │ │ │ ├── RouteFragment.kt │ │ │ │ ├── RouteSettingsActivity.kt │ │ │ │ ├── ScannerActivity.kt │ │ │ │ ├── SettingsFragment.kt │ │ │ │ ├── SettingsPreferenceFragment.kt │ │ │ │ ├── StunActivity.kt │ │ │ │ ├── SwitchActivity.kt │ │ │ │ ├── ThemedActivity.kt │ │ │ │ ├── ToolbarFragment.kt │ │ │ │ ├── ToolsFragment.kt │ │ │ │ ├── VpnRequestActivity.kt │ │ │ │ ├── WebviewFragment.kt │ │ │ │ └── profile/ │ │ │ │ ├── ChainSettingsActivity.kt │ │ │ │ ├── ConfigEditActivity.kt │ │ │ │ ├── HttpSettingsActivity.kt │ │ │ │ ├── HysteriaSettingsActivity.kt │ │ │ │ ├── MieruSettingsActivity.kt │ │ │ │ ├── NaiveSettingsActivity.kt │ │ │ │ ├── ProfileSettingsActivity.kt │ │ │ │ ├── SSHSettingsActivity.kt │ │ │ │ ├── ShadowsocksSettingsActivity.kt │ │ │ │ ├── SocksSettingsActivity.kt │ │ │ │ ├── StandardV2RaySettingsActivity.kt │ │ │ │ ├── TrojanGoSettingsActivity.kt │ │ │ │ ├── TrojanSettingsActivity.kt │ │ │ │ ├── TuicSettingsActivity.kt │ │ │ │ ├── VMessSettingsActivity.kt │ │ │ │ └── WireGuardSettingsActivity.kt │ │ │ ├── utils/ │ │ │ │ ├── Commandline.kt │ │ │ │ ├── CrashHandler.kt │ │ │ │ ├── DefaultNetworkListener.kt │ │ │ │ ├── PackageCache.kt │ │ │ │ ├── Subnet.kt │ │ │ │ └── Theme.kt │ │ │ └── widget/ │ │ │ ├── AppListPreference.kt │ │ │ ├── AutoCollapseTextView.kt │ │ │ ├── FabProgressBehavior.kt │ │ │ ├── GroupPreference.kt │ │ │ ├── LinkOrContentPreference.kt │ │ │ ├── OutboundPreference.kt │ │ │ ├── QRCodeDialog.kt │ │ │ ├── ServiceButton.kt │ │ │ ├── StatsBar.kt │ │ │ ├── UndoSnackbarManager.kt │ │ │ ├── UserAgentPreference.kt │ │ │ └── WindowInsetsListeners.kt │ │ └── moe/ │ │ └── matsuri/ │ │ └── nb4a/ │ │ ├── NativeInterface.kt │ │ ├── Protocols.kt │ │ ├── SingBoxOptions.java │ │ ├── SingBoxOptionsUtil.kt │ │ ├── TempDatabase.kt │ │ ├── net/ │ │ │ └── LocalResolverImpl.kt │ │ ├── plugin/ │ │ │ └── Plugins.kt │ │ ├── proxy/ │ │ │ ├── PreferenceBinding.kt │ │ │ ├── PreferenceBindingManager.kt │ │ │ ├── anytls/ │ │ │ │ ├── AnyTLSBean.java │ │ │ │ ├── AnyTLSFmt.kt │ │ │ │ └── AnyTLSSettingsActivity.kt │ │ │ ├── config/ │ │ │ │ ├── ConfigBean.java │ │ │ │ └── ConfigSettingActivity.kt │ │ │ ├── neko/ │ │ │ │ └── NekoBean.java │ │ │ └── shadowtls/ │ │ │ ├── ShadowTLSBean.java │ │ │ ├── ShadowTLSFmt.kt │ │ │ └── ShadowTLSSettingsActivity.kt │ │ ├── ui/ │ │ │ ├── ColorPickerPreference.kt │ │ │ ├── ConnectionTestNotification.kt │ │ │ ├── Dialogs.kt │ │ │ ├── EditConfigPreference.kt │ │ │ ├── ExtendedKeyboard.kt │ │ │ ├── LongClickListPreference.kt │ │ │ ├── LongClickMenuPreference.kt │ │ │ ├── LongClickSwitchPreference.kt │ │ │ ├── MTUPreference.kt │ │ │ ├── SimpleMenuPreference.kt │ │ │ └── UrlTestPreference.kt │ │ └── utils/ │ │ ├── JavaUtil.java │ │ ├── KotlinUtil.kt │ │ ├── NGUtil.kt │ │ ├── SendLog.kt │ │ ├── Util.kt │ │ └── WebViewUtil.kt │ └── res/ │ ├── color/ │ │ ├── chip_background.xml │ │ ├── chip_ripple_color.xml │ │ ├── chip_text_color.xml │ │ ├── navigation_icon.xml │ │ └── navigation_item.xml │ ├── drawable/ │ │ ├── baseline_arrow_back_24.xml │ │ ├── baseline_construction_24.xml │ │ ├── baseline_delete_sweep_24.xml │ │ ├── baseline_developer_board_24.xml │ │ ├── baseline_flight_takeoff_24.xml │ │ ├── baseline_keyboard_tab_24.xml │ │ ├── baseline_public_24.xml │ │ ├── baseline_redo_24.xml │ │ ├── baseline_save_24.xml │ │ ├── baseline_send_24.xml │ │ ├── baseline_translate_24.xml │ │ ├── baseline_undo_24.xml │ │ ├── baseline_widgets_24.xml │ │ ├── baseline_wrap_text_24.xml │ │ ├── ic_action_copyright.xml │ │ ├── ic_action_delete.xml │ │ ├── ic_action_description.xml │ │ ├── ic_action_dns.xml │ │ ├── ic_action_done.xml │ │ ├── ic_action_lock.xml │ │ ├── ic_action_lock_open.xml │ │ ├── ic_action_note_add.xml │ │ ├── ic_action_settings.xml │ │ ├── ic_app_shortcut_background.xml │ │ ├── ic_av_playlist_add.xml │ │ ├── ic_baseline_add_road_24.xml │ │ ├── ic_baseline_airplanemode_active_24.xml │ │ ├── ic_baseline_android_24.xml │ │ ├── ic_baseline_bug_report_24.xml │ │ ├── ic_baseline_camera_24.xml │ │ ├── ic_baseline_card_giftcard_24.xml │ │ ├── ic_baseline_cast_connected_24.xml │ │ ├── ic_baseline_center_focus_weak_24.xml │ │ ├── ic_baseline_color_lens_24.xml │ │ ├── ic_baseline_compare_arrows_24.xml │ │ ├── ic_baseline_domain_24.xml │ │ ├── ic_baseline_download_24.xml │ │ ├── ic_baseline_emoji_emotions_24.xml │ │ ├── ic_baseline_fast_forward_24.xml │ │ ├── ic_baseline_fiber_manual_record_24.xml │ │ ├── ic_baseline_fingerprint_24.xml │ │ ├── ic_baseline_flip_camera_android_24.xml │ │ ├── ic_baseline_format_align_left_24.xml │ │ ├── ic_baseline_grid_3x3_24.xml │ │ ├── ic_baseline_home_24.xml │ │ ├── ic_baseline_http_24.xml │ │ ├── ic_baseline_https_24.xml │ │ ├── ic_baseline_import_contacts_24.xml │ │ ├── ic_baseline_info_24.xml │ │ ├── ic_baseline_layers_24.xml │ │ ├── ic_baseline_legend_toggle_24.xml │ │ ├── ic_baseline_link_24.xml │ │ ├── ic_baseline_local_bar_24.xml │ │ ├── ic_baseline_location_on_24.xml │ │ ├── ic_baseline_lock_24.xml │ │ ├── ic_baseline_low_priority_24.xml │ │ ├── ic_baseline_manage_search_24.xml │ │ ├── ic_baseline_more_vert_24.xml │ │ ├── ic_baseline_multiline_chart_24.xml │ │ ├── ic_baseline_multiple_stop_24.xml │ │ ├── ic_baseline_nat_24.xml │ │ ├── ic_baseline_nfc_24.xml │ │ ├── ic_baseline_no_encryption_gmailerrorred_24.xml │ │ ├── ic_baseline_person_24.xml │ │ ├── ic_baseline_push_pin_24.xml │ │ ├── ic_baseline_refresh_24.xml │ │ ├── ic_baseline_rule_folder_24.xml │ │ ├── ic_baseline_running_with_errors_24.xml │ │ ├── ic_baseline_sanitizer_24.xml │ │ ├── ic_baseline_security_24.xml │ │ ├── ic_baseline_shuffle_24.xml │ │ ├── ic_baseline_shutter_speed_24.xml │ │ ├── ic_baseline_speed_24.xml │ │ ├── ic_baseline_stream_24.xml │ │ ├── ic_baseline_texture_24.xml │ │ ├── ic_baseline_timelapse_24.xml │ │ ├── ic_baseline_transform_24.xml │ │ ├── ic_baseline_transgender_24.xml │ │ ├── ic_baseline_update_24.xml │ │ ├── ic_baseline_view_list_24.xml │ │ ├── ic_baseline_vpn_key_24.xml │ │ ├── ic_baseline_warning_24.xml │ │ ├── ic_baseline_wb_sunny_24.xml │ │ ├── ic_communication_phonelink_ring.xml │ │ ├── ic_device_data_usage.xml │ │ ├── ic_device_developer_mode.xml │ │ ├── ic_file_cloud_queue.xml │ │ ├── ic_file_file_upload.xml │ │ ├── ic_hardware_router.xml │ │ ├── ic_image_camera_alt.xml │ │ ├── ic_image_edit.xml │ │ ├── ic_image_looks_6.xml │ │ ├── ic_image_photo.xml │ │ ├── ic_maps_360.xml │ │ ├── ic_maps_directions.xml │ │ ├── ic_maps_directions_boat.xml │ │ ├── ic_navigation_apps.xml │ │ ├── ic_navigation_close.xml │ │ ├── ic_navigation_menu.xml │ │ ├── ic_notification_enhanced_encryption.xml │ │ ├── ic_qu_camera_launcher.xml │ │ ├── ic_qu_shadowsocks_foreground.xml │ │ ├── ic_qu_shadowsocks_launcher.xml │ │ ├── ic_service_active.xml │ │ ├── ic_service_busy.xml │ │ ├── ic_service_connected.xml │ │ ├── ic_service_connecting.xml │ │ ├── ic_service_idle.xml │ │ ├── ic_service_stopped.xml │ │ ├── ic_service_stopping.xml │ │ ├── ic_settings_password.xml │ │ ├── ic_social_emoji_symbols.xml │ │ ├── ic_social_share.xml │ │ └── terminal_scroll_shape.xml │ ├── drawable-v26/ │ │ ├── ic_qu_camera_launcher.xml │ │ └── ic_qu_shadowsocks_launcher.xml │ ├── layout/ │ │ ├── item_keyboard_key.xml │ │ ├── layout_about.xml │ │ ├── layout_add_entity.xml │ │ ├── layout_app_list.xml │ │ ├── layout_app_placeholder.xml │ │ ├── layout_appbar.xml │ │ ├── layout_apps.xml │ │ ├── layout_apps_item.xml │ │ ├── layout_asset_item.xml │ │ ├── layout_assets.xml │ │ ├── layout_backup.xml │ │ ├── layout_chain_settings.xml │ │ ├── layout_config_settings.xml │ │ ├── layout_debug.xml │ │ ├── layout_edit_config.xml │ │ ├── layout_edit_group.xml │ │ ├── layout_empty.xml │ │ ├── layout_empty_route.xml │ │ ├── layout_group.xml │ │ ├── layout_group_item.xml │ │ ├── layout_group_list.xml │ │ ├── layout_icon_list_item_2.xml │ │ ├── layout_import.xml │ │ ├── layout_loading.xml │ │ ├── layout_logcat.xml │ │ ├── layout_loglevel_help.xml │ │ ├── layout_main.xml │ │ ├── layout_mtu_help.xml │ │ ├── layout_network.xml │ │ ├── layout_password_dialog.xml │ │ ├── layout_profile.xml │ │ ├── layout_profile_list.xml │ │ ├── layout_progress.xml │ │ ├── layout_progress_list.xml │ │ ├── layout_route.xml │ │ ├── layout_route_item.xml │ │ ├── layout_scanner.xml │ │ ├── layout_settings_activity.xml │ │ ├── layout_stun.xml │ │ ├── layout_tools.xml │ │ ├── layout_urltest_preference_dialog.xml │ │ ├── layout_webview.xml │ │ └── simple_menu_dropdown_item.xml │ ├── menu/ │ │ ├── add_group_menu.xml │ │ ├── add_profile_menu.xml │ │ ├── add_route_menu.xml │ │ ├── app_list_menu.xml │ │ ├── group_action_menu.xml │ │ ├── import_asset_menu.xml │ │ ├── logcat_menu.xml │ │ ├── main_drawer_menu.xml │ │ ├── per_app_proxy_menu.xml │ │ ├── profile_apply_menu.xml │ │ ├── profile_config_menu.xml │ │ ├── profile_share_menu.xml │ │ ├── scanner_menu.xml │ │ ├── traffic_item_menu.xml │ │ ├── traffic_menu.xml │ │ └── yacd_menu.xml │ ├── mipmap-anydpi-v26/ │ │ └── ic_launcher.xml │ ├── raw/ │ │ ├── insecure.txt │ │ ├── not_encrypted.txt │ │ ├── shadowsocks_stream_cipher.txt │ │ └── vmess_md5_auth.txt │ ├── raw-zh-rCN/ │ │ ├── insecure.txt │ │ ├── not_encrypted.txt │ │ ├── shadowsocks_stream_cipher.txt │ │ └── vmess_md5_auth.txt │ ├── resources.properties │ ├── values/ │ │ ├── arrays.xml │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ic_launcher_background.xml │ │ ├── strings.xml │ │ └── themes.xml │ ├── values-ar/ │ │ └── strings.xml │ ├── values-be/ │ │ └── strings.xml │ ├── values-de/ │ │ └── strings.xml │ ├── values-es/ │ │ └── strings.xml │ ├── values-fa/ │ │ └── strings.xml │ ├── values-fr/ │ │ └── strings.xml │ ├── values-in/ │ │ └── strings.xml │ ├── values-it/ │ │ └── strings.xml │ ├── values-ja/ │ │ └── strings.xml │ ├── values-ko/ │ │ └── strings.xml │ ├── values-nb-rNO/ │ │ └── strings.xml │ ├── values-night/ │ │ └── colors.xml │ ├── values-nl/ │ │ └── strings.xml │ ├── values-pt-rBR/ │ │ └── strings.xml │ ├── values-ru/ │ │ └── strings.xml │ ├── values-tr/ │ │ └── strings.xml │ ├── values-uk/ │ │ └── strings.xml │ ├── values-zh-rCN/ │ │ └── strings.xml │ ├── values-zh-rHK/ │ │ └── strings.xml │ ├── values-zh-rTW/ │ │ └── strings.xml │ └── xml/ │ ├── anytls_preferences.xml │ ├── backup_descriptor.xml │ ├── backup_rules.xml │ ├── balancer_preferences.xml │ ├── cache_paths.xml │ ├── config_preferences.xml │ ├── global_preferences.xml │ ├── group_preferences.xml │ ├── hysteria_preferences.xml │ ├── mieru_preferences.xml │ ├── naive_preferences.xml │ ├── name_preferences.xml │ ├── neko_preferences.xml │ ├── network_security_config.xml │ ├── route_preferences.xml │ ├── shadowsocks_preferences.xml │ ├── shadowtls_preferences.xml │ ├── shortcuts.xml │ ├── socks_preferences.xml │ ├── ssh_preferences.xml │ ├── standard_v2ray_preferences.xml │ ├── trojan_go_preferences.xml │ ├── tuic_preferences.xml │ └── wireguard_preferences.xml ├── build.gradle.kts ├── buildScript/ │ ├── copyLocal.sh │ ├── fdroid/ │ │ └── prebuild.sh │ ├── init/ │ │ ├── action/ │ │ │ └── gradle.sh │ │ ├── env.sh │ │ └── env_ndk.sh │ └── lib/ │ ├── assets.sh │ ├── core/ │ │ ├── build.sh │ │ ├── get_source.sh │ │ ├── get_source_env.sh │ │ └── init.sh │ └── core.sh ├── buildSrc/ │ ├── build.gradle.kts │ └── src/ │ └── main/ │ └── kotlin/ │ └── Helpers.kt ├── gradle/ │ └── wrapper/ │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradle.properties ├── gradlew ├── gradlew.bat ├── libcore/ │ ├── .gitignore │ ├── LICENSE │ ├── assets.go │ ├── assets_android.go │ ├── assets_other.go │ ├── box.go │ ├── box_include.go │ ├── build.sh │ ├── certs.go │ ├── crypto.go │ ├── device/ │ │ ├── debug.go │ │ └── device.go │ ├── dns_android.go │ ├── dns_box.go │ ├── ech/ │ │ └── ech.go │ ├── fix.go │ ├── geoip.go │ ├── geosite.go │ ├── go.mod │ ├── go.sum │ ├── http.go │ ├── init.sh │ ├── interface_monitor.go │ ├── io.go │ ├── nb4a.go │ ├── platform_box.go │ ├── platform_java.go │ ├── procfs/ │ │ └── procfs.go │ ├── stun/ │ │ ├── README │ │ ├── attribute.go │ │ ├── client.go │ │ ├── const.go │ │ ├── discover.go │ │ ├── doc.go │ │ ├── host.go │ │ ├── log.go │ │ ├── net.go │ │ ├── packet.go │ │ ├── response.go │ │ ├── tests.go │ │ └── utils.go │ └── stun.go ├── lint.xml ├── nb4a.properties ├── release.keystore ├── repositories.gradle.kts ├── run └── settings.gradle.kts