From 66f4940e21d3881ae3f42d5e74d407f328a013e7 Mon Sep 17 00:00:00 2001 From: xavierchanth Date: Thu, 4 Jan 2024 14:32:20 +0800 Subject: [PATCH 1/6] chore: move sshnoports sdk python to examples/automations --- examples/.gitignore | 1 + examples/automations/python/README.md | 10 ++++++++++ .../automations/python}/pyproject.toml | 4 ++-- .../automations/python}/requirements.txt | 0 .../sshnoports_automation_python}/package_source.py | 0 .../sshnoports_automation_python}/sshnp_client.py | 0 .../python/sshnoports_automation_python}/util.py | 0 packages/python/sshnoports_sdk/README.md | 9 --------- .../sshnoports_sdk/sshnoports_sdk_python/__init__.py | 2 -- 9 files changed, 13 insertions(+), 13 deletions(-) create mode 100644 examples/.gitignore create mode 100644 examples/automations/python/README.md rename {packages/python/sshnoports_sdk => examples/automations/python}/pyproject.toml (74%) rename {packages/python/sshnoports_sdk => examples/automations/python}/requirements.txt (100%) rename {packages/python/sshnoports_sdk/sshnoports_sdk_python => examples/automations/python/sshnoports_automation_python}/package_source.py (100%) rename {packages/python/sshnoports_sdk/sshnoports_sdk_python => examples/automations/python/sshnoports_automation_python}/sshnp_client.py (100%) rename {packages/python/sshnoports_sdk/sshnoports_sdk_python => examples/automations/python/sshnoports_automation_python}/util.py (100%) delete mode 100644 packages/python/sshnoports_sdk/README.md delete mode 100644 packages/python/sshnoports_sdk/sshnoports_sdk_python/__init__.py diff --git a/examples/.gitignore b/examples/.gitignore new file mode 100644 index 000000000..620ead438 --- /dev/null +++ b/examples/.gitignore @@ -0,0 +1 @@ +webserver/ diff --git a/examples/automations/python/README.md b/examples/automations/python/README.md new file mode 100644 index 000000000..8995457cc --- /dev/null +++ b/examples/automations/python/README.md @@ -0,0 +1,10 @@ +# sshnoports sdk python + +This "sdk" serves as an example for how to wrap and use an sshnp client in +python scripts for automation purposes. + +## Experimental Status + +These scripts were written as an example for how to build your own automations. +They are incomplete and untested, reference for your own material. +Use at your own risk. diff --git a/packages/python/sshnoports_sdk/pyproject.toml b/examples/automations/python/pyproject.toml similarity index 74% rename from packages/python/sshnoports_sdk/pyproject.toml rename to examples/automations/python/pyproject.toml index d717c5cb2..5f2f5d612 100644 --- a/packages/python/sshnoports_sdk/pyproject.toml +++ b/examples/automations/python/pyproject.toml @@ -1,7 +1,7 @@ [tool.poetry] -name = "sshnoports_sdk_python" +name = "sshnoports_automation_python" version = "0.0.1" -description = "A simple python SDK which allows you to create scripts for common administrative patterns via SSH No Ports" +description = "Some python recipes which allows you to create scripts for common administrative patterns via SSH No Ports" authors = ["Chris Swan <@cpswan>"] readme = "README.md" diff --git a/packages/python/sshnoports_sdk/requirements.txt b/examples/automations/python/requirements.txt similarity index 100% rename from packages/python/sshnoports_sdk/requirements.txt rename to examples/automations/python/requirements.txt diff --git a/packages/python/sshnoports_sdk/sshnoports_sdk_python/package_source.py b/examples/automations/python/sshnoports_automation_python/package_source.py similarity index 100% rename from packages/python/sshnoports_sdk/sshnoports_sdk_python/package_source.py rename to examples/automations/python/sshnoports_automation_python/package_source.py diff --git a/packages/python/sshnoports_sdk/sshnoports_sdk_python/sshnp_client.py b/examples/automations/python/sshnoports_automation_python/sshnp_client.py similarity index 100% rename from packages/python/sshnoports_sdk/sshnoports_sdk_python/sshnp_client.py rename to examples/automations/python/sshnoports_automation_python/sshnp_client.py diff --git a/packages/python/sshnoports_sdk/sshnoports_sdk_python/util.py b/examples/automations/python/sshnoports_automation_python/util.py similarity index 100% rename from packages/python/sshnoports_sdk/sshnoports_sdk_python/util.py rename to examples/automations/python/sshnoports_automation_python/util.py diff --git a/packages/python/sshnoports_sdk/README.md b/packages/python/sshnoports_sdk/README.md deleted file mode 100644 index 0b5ff2192..000000000 --- a/packages/python/sshnoports_sdk/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# No Ports SDK Python - -This is a simple python SDK which allows you to create scripts for common -administrative patterns via [SSH No Ports](https://noports.com). - -## This SDK is EXPERIMENTAL - -This SDK is still in the experimental phase, it is currently being used to help -develop and test sshnoports. Use with caution. diff --git a/packages/python/sshnoports_sdk/sshnoports_sdk_python/__init__.py b/packages/python/sshnoports_sdk/sshnoports_sdk_python/__init__.py deleted file mode 100644 index a5bc9dec8..000000000 --- a/packages/python/sshnoports_sdk/sshnoports_sdk_python/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -from .package_source import PackageSource, LocalPackageSource, GitPackageSource, ReleasePackageSource, ArchivePackageSource -from .sshnp_client import SSHNPClient, SFTPClient, SSHClient From 5a43f86f5eebbcce52c737eff143a8a6ee987e9f Mon Sep 17 00:00:00 2001 From: xavierchanth Date: Thu, 4 Jan 2024 14:32:55 +0800 Subject: [PATCH 2/6] chore: move dart packages into packages/dart --- packages/{ => dart}/noports_core/.gitignore | 0 packages/{ => dart}/noports_core/CHANGELOG.md | 0 packages/{ => dart}/noports_core/LICENSE | 0 packages/{ => dart}/noports_core/README.md | 0 .../{ => dart}/noports_core/analysis_options.yaml | 0 .../src/common/at_ssh_key_util/at_ssh_key_util.dart | 0 .../common/at_ssh_key_util/dart_ssh_key_util.dart | 0 .../common/at_ssh_key_util/local_ssh_key_util.dart | 0 .../noports_core/lib/src/common/default_args.dart | 0 .../lib/src/common/file_system_utils.dart | 0 .../noports_core/lib/src/common/io_types.dart | 0 .../lib/src/common/mixins/async_completion.dart | 0 .../lib/src/common/mixins/async_initialization.dart | 0 .../lib/src/common/mixins/at_client_bindings.dart | 0 .../lib/src/common/openssh_binary_path.dart | 0 .../noports_core/lib/src/common/types.dart | 0 .../lib/src/common/validation_utils.dart | 0 .../lib/src/sshnp/impl/sshnp_dart_pure_impl.dart | 0 .../src/sshnp/impl/sshnp_openssh_local_impl.dart | 0 .../lib/src/sshnp/impl/sshnp_unsigned_impl.dart | 0 .../src/sshnp/models/config_file_repository.dart | 0 .../lib/src/sshnp/models/config_key_repository.dart | 0 .../lib/src/sshnp/models/sshnp_arg.dart | 0 .../lib/src/sshnp/models/sshnp_device_list.dart | 0 .../lib/src/sshnp/models/sshnp_params.dart | 0 .../lib/src/sshnp/models/sshnp_result.dart | 0 .../noports_core/lib/src/sshnp/sshnp.dart | 0 .../noports_core/lib/src/sshnp/sshnp_core.dart | 0 .../dart_ssh_session_handler.dart | 0 .../openssh_ssh_session_handler.dart | 0 .../ssh_session_handler/ssh_session_handler.dart | 0 .../sshnp_dart_ssh_key_handler.dart | 0 .../sshnp_local_ssh_key_handler.dart | 0 .../sshnp_ssh_key_handler.dart | 0 .../sshnp/util/sshnpd_channel/sshnpd_channel.dart | 0 .../util/sshnpd_channel/sshnpd_default_channel.dart | 0 .../sshnpd_channel/sshnpd_unsigned_channel.dart | 0 .../sshnp/util/sshrvd_channel/sshrvd_channel.dart | 0 .../util/sshrvd_channel/sshrvd_dart_channel.dart | 0 .../util/sshrvd_channel/sshrvd_exec_channel.dart | 0 .../noports_core/lib/src/sshnpd/sshnpd.dart | 0 .../noports_core/lib/src/sshnpd/sshnpd_impl.dart | 0 .../noports_core/lib/src/sshnpd/sshnpd_params.dart | 0 .../noports_core/lib/src/sshrv/sshrv.dart | 0 .../noports_core/lib/src/sshrv/sshrv_impl.dart | 0 .../noports_core/lib/src/sshrvd/build_env.dart | 0 .../lib/src/sshrvd/socket_connector.dart | 0 .../noports_core/lib/src/sshrvd/sshrvd.dart | 0 .../noports_core/lib/src/sshrvd/sshrvd_impl.dart | 0 .../noports_core/lib/src/sshrvd/sshrvd_params.dart | 0 .../{ => dart}/noports_core/lib/src/version.dart | 0 packages/{ => dart}/noports_core/lib/sshnp.dart | 0 .../noports_core/lib/sshnp_foundation.dart | 0 .../{ => dart}/noports_core/lib/sshnp_params.dart | 0 packages/{ => dart}/noports_core/lib/sshnpd.dart | 0 packages/{ => dart}/noports_core/lib/sshrv.dart | 0 packages/{ => dart}/noports_core/lib/sshrvd.dart | 0 packages/{ => dart}/noports_core/lib/utils.dart | 0 packages/{ => dart}/noports_core/pubspec.yaml | 0 .../sshnp/models/config_file_repository_test.dart | 0 .../sshnp/models/config_key_repository_test.dart | 0 .../test/sshnp/models/sshnp_arg_test.dart | 0 .../test/sshnp/models/sshnp_device_list_test.dart | 0 .../test/sshnp/models/sshnp_params_test.dart | 0 .../test/sshnp/models/sshnp_result_test.dart | 0 .../test/sshnp/sshnp_core_constants.dart | 0 .../noports_core/test/sshnp/sshnp_core_mocks.dart | 0 .../noports_core/test/sshnp/sshnp_core_test.dart | 0 .../noports_core/test/sshnp/sshnp_mocks.dart | 0 .../noports_core/test/sshnp/sshnp_test.dart | 0 .../openssh_ssh_session_handler_mocks.dart | 0 .../openssh_ssh_session_handler_test.dart | 0 .../ssh_session_handler_test.dart | 0 .../sshnp_dart_ssh_key_handler_test.dart | 0 .../sshnp_local_ssh_key_handler_test.dart | 0 .../sshnp_ssh_key_handler_mocks.dart | 0 .../sshnp_ssh_key_handler_test.dart | 0 .../util/sshnpd_channel/sshnpd_channel_mocks.dart | 0 .../util/sshnpd_channel/sshnpd_channel_test.dart | 0 .../sshnpd_channel/sshnpd_default_channel_test.dart | 0 .../sshnpd_unsigned_channel_test.dart | 0 .../util/sshrvd_channel/sshrvd_channel_mocks.dart | 0 .../util/sshrvd_channel/sshrvd_channel_test.dart | 0 .../sshrvd_channel/sshrvd_dart_channel_test.dart | 0 .../sshrvd_channel/ssrhvd_exec_channel_test.dart | 0 .../{ => dart}/noports_core/test/version_test.dart | 0 packages/{ => dart}/sshnoports/LICENSE | 0 packages/{ => dart}/sshnoports/README.md | 0 .../{ => dart}/sshnoports/analysis_options.yaml | 0 .../{ => dart}/sshnoports/bin/activate_cli.dart | 0 packages/{ => dart}/sshnoports/bin/sshnp.dart | 0 packages/{ => dart}/sshnoports/bin/sshnpd.dart | 0 packages/{ => dart}/sshnoports/bin/sshrv.dart | 0 packages/{ => dart}/sshnoports/bin/sshrvd.dart | 0 .../bundles/core/config/sshnp-config-template.env | 0 .../sshnoports/bundles/core/docker/.env.template | 0 .../sshnoports/bundles/core/docker/.startup.sh | 0 .../bundles/core/docker/docker-compose.yaml | 0 .../{ => dart}/sshnoports/bundles/shell/README.md | 0 .../sshnoports/bundles/shell/headless/README.md | 0 .../sshnoports/bundles/shell/headless/sshnpd.sh | 0 .../sshnoports/bundles/shell/headless/sshrvd.sh | 0 .../{ => dart}/sshnoports/bundles/shell/install.sh | 0 .../sshnoports/bundles/shell/systemd/README.md | 0 .../sshnoports/bundles/shell/systemd/sshnpd.service | 0 .../sshnoports/bundles/shell/systemd/sshrvd.service | 0 .../{ => dart}/sshnoports/bundles/windows/README.md | 0 .../sshnoports/lib/src/create_at_client_cli.dart | 0 .../{ => dart}/sshnoports/lib/src/create_sshnp.dart | 0 .../sshnoports/lib/src/extended_arg_parser.dart | 0 .../sshnoports/lib/src/print_devices.dart | 0 .../sshnoports/lib/src/print_version.dart | 0 .../sshnoports/lib/src/service_factories.dart | 0 packages/{ => dart}/sshnoports/lib/src/version.dart | 0 packages/{ => dart}/sshnoports/pubspec.lock | 0 packages/{ => dart}/sshnoports/pubspec.yaml | 0 packages/{ => dart}/sshnoports/tools/.gitignore | 0 packages/{ => dart}/sshnoports/tools/Dockerfile | 0 .../{ => dart}/sshnoports/tools/Dockerfile.activate | 0 .../{ => dart}/sshnoports/tools/Dockerfile.package | 0 .../sshnoports/tools/docker-compose.local.yaml | 0 packages/{ => dart}/sshnp_gui/.gitignore | 0 packages/{ => dart}/sshnp_gui/.metadata | 0 packages/{ => dart}/sshnp_gui/README.md | 0 packages/{ => dart}/sshnp_gui/analysis_options.yaml | 0 packages/{ => dart}/sshnp_gui/android/.gitignore | 0 .../{ => dart}/sshnp_gui/android/app/build.gradle | 0 .../android/app/src/debug/AndroidManifest.xml | 0 .../android/app/src/main/AndroidManifest.xml | 0 .../kotlin/com/example/sshnp_gui/MainActivity.kt | 0 .../src/main/res/drawable-v21/launch_background.xml | 0 .../app/src/main/res/drawable/launch_background.xml | 0 .../app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin .../app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | Bin .../app/src/main/res/values-night/styles.xml | 0 .../android/app/src/main/res/values/styles.xml | 0 .../android/app/src/profile/AndroidManifest.xml | 0 packages/{ => dart}/sshnp_gui/android/build.gradle | 0 .../{ => dart}/sshnp_gui/android/gradle.properties | 0 .../gradle/wrapper/gradle-wrapper.properties | 0 .../{ => dart}/sshnp_gui/android/settings.gradle | 0 .../assets/images/nav_icons/home_selected.svg | 0 .../assets/images/nav_icons/home_unselected.svg | 0 .../assets/images/nav_icons/new_selected.svg | 0 .../assets/images/nav_icons/new_unselected.svg | 0 .../assets/images/nav_icons/pican_selected.svg | 0 .../assets/images/nav_icons/pican_unselected.svg | 0 .../assets/images/nav_icons/settings_selected.svg | 0 .../assets/images/nav_icons/settings_unselected.svg | 0 .../sshnp_gui/assets/images/noports_dark.svg | 0 .../sshnp_gui/assets/images/noports_light.svg | 0 packages/{ => dart}/sshnp_gui/ios/.gitignore | 0 .../sshnp_gui/ios/Flutter/AppFrameworkInfo.plist | 0 .../{ => dart}/sshnp_gui/ios/Flutter/Debug.xcconfig | 0 .../sshnp_gui/ios/Flutter/Release.xcconfig | 0 packages/{ => dart}/sshnp_gui/ios/Podfile | 0 packages/{ => dart}/sshnp_gui/ios/Podfile.lock | 0 .../sshnp_gui/ios/Runner.xcodeproj/project.pbxproj | 0 .../project.xcworkspace/contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../ios/Runner.xcworkspace/contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 0 .../sshnp_gui/ios/Runner/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/Icon-App-1024x1024@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@1x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@2x.png | Bin .../AppIcon.appiconset/Icon-App-20x20@3x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@1x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@2x.png | Bin .../AppIcon.appiconset/Icon-App-29x29@3x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@1x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@2x.png | Bin .../AppIcon.appiconset/Icon-App-40x40@3x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@2x.png | Bin .../AppIcon.appiconset/Icon-App-60x60@3x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@1x.png | Bin .../AppIcon.appiconset/Icon-App-76x76@2x.png | Bin .../AppIcon.appiconset/Icon-App-83.5x83.5@2x.png | Bin .../LaunchImage.imageset/Contents.json | 0 .../LaunchImage.imageset/LaunchImage.png | Bin .../LaunchImage.imageset/LaunchImage@2x.png | Bin .../LaunchImage.imageset/LaunchImage@3x.png | Bin .../Assets.xcassets/LaunchImage.imageset/README.md | 0 .../ios/Runner/Base.lproj/LaunchScreen.storyboard | 0 .../sshnp_gui/ios/Runner/Base.lproj/Main.storyboard | 0 packages/{ => dart}/sshnp_gui/ios/Runner/Info.plist | 0 .../sshnp_gui/ios/Runner/Runner-Bridging-Header.h | 0 .../sshnp_gui/ios/RunnerTests/RunnerTests.swift | 0 packages/{ => dart}/sshnp_gui/l10n.yaml | 0 packages/{ => dart}/sshnp_gui/lib/l10n/app_en.arb | 0 packages/{ => dart}/sshnp_gui/lib/main.dart | 0 .../src/controllers/authentication_controller.dart | 0 .../controllers/background_session_controller.dart | 0 .../lib/src/controllers/config_controller.dart | 0 .../lib/src/controllers/navigation_controller.dart | 0 .../src/controllers/navigation_rail_controller.dart | 0 .../controllers/terminal_session_controller.dart | 0 .../lib/src/presentation/screens/home_screen.dart | 0 .../src/presentation/screens/onboarding_screen.dart | 0 .../presentation/screens/profile_editor_screen.dart | 0 .../src/presentation/screens/settings_screen.dart | 0 .../src/presentation/screens/terminal_screen.dart | 0 .../home_screen_action_callbacks.dart | 0 .../home_screen_actions/home_screen_actions.dart | 0 .../home_screen_import_dialog.dart | 0 .../home_screen_menu_button.dart | 0 .../home_screen_actions/new_profile_action.dart | 0 .../widgets/navigation/app_navigation_rail.dart | 0 .../profile_actions/profile_action_button.dart | 0 .../profile_actions/profile_action_callbacks.dart | 0 .../widgets/profile_actions/profile_actions.dart | 0 .../profile_actions/profile_delete_action.dart | 0 .../profile_actions/profile_delete_dialog.dart | 0 .../profile_actions/profile_menu_button.dart | 0 .../widgets/profile_actions/profile_run_action.dart | 0 .../profile_actions/profile_terminal_action.dart | 0 .../widgets/profile_bar/profile_bar.dart | 0 .../widgets/profile_bar/profile_bar_actions.dart | 0 .../widgets/profile_bar/profile_bar_stats.dart | 0 .../profile_form/custom_text_form_field.dart | 0 .../widgets/profile_form/profile_form.dart | 0 .../settings_actions/settings_action_button.dart | 0 .../widgets/settings_actions/settings_actions.dart | 0 .../settings_backup_keys_action.dart | 0 .../settings_actions/settings_contact_action.dart | 0 .../settings_actions/settings_faq_action.dart | 0 .../settings_privacy_policy_action.dart | 0 .../settings_actions/settings_reset_app_action.dart | 0 .../settings_switch_atsign_action.dart | 0 .../widgets/utility/at_error_dialog.dart | 0 .../widgets/utility/custom_snack_bar.dart | 0 .../src/repository/authentication_repository.dart | 0 .../lib/src/repository/navigation_repository.dart | 0 .../sshnp_gui/lib/src/utility/app_theme.dart | 0 .../sshnp_gui/lib/src/utility/constants.dart | 0 .../sshnp_gui/lib/src/utility/form_validator.dart | 0 .../platform_utility/default_platform_utility.dart | 0 .../src/utility/platform_utility/macos_utility.dart | 0 .../utility/platform_utility/platform_utililty.dart | 0 .../{ => dart}/sshnp_gui/lib/src/utility/sizes.dart | 0 packages/{ => dart}/sshnp_gui/linux/.gitignore | 0 packages/{ => dart}/sshnp_gui/linux/CMakeLists.txt | 0 .../sshnp_gui/linux/flutter/CMakeLists.txt | 0 .../linux/flutter/generated_plugin_registrant.cc | 0 .../linux/flutter/generated_plugin_registrant.h | 0 .../sshnp_gui/linux/flutter/generated_plugins.cmake | 0 packages/{ => dart}/sshnp_gui/linux/main.cc | 0 .../{ => dart}/sshnp_gui/linux/my_application.cc | 0 .../{ => dart}/sshnp_gui/linux/my_application.h | 0 packages/{ => dart}/sshnp_gui/macos/.gitignore | 0 .../sshnp_gui/macos/Flutter/Flutter-Debug.xcconfig | 0 .../macos/Flutter/Flutter-Release.xcconfig | 0 .../macos/Flutter/GeneratedPluginRegistrant.swift | 0 packages/{ => dart}/sshnp_gui/macos/Podfile | 0 packages/{ => dart}/sshnp_gui/macos/Podfile.lock | 0 .../macos/Runner.xcodeproj/project.pbxproj | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/xcschemes/Runner.xcscheme | 0 .../Runner.xcworkspace/contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../sshnp_gui/macos/Runner/AppDelegate.swift | 0 .../AppIcon.appiconset/Contents.json | 0 .../AppIcon.appiconset/app_icon_1024.png | Bin .../AppIcon.appiconset/app_icon_128.png | Bin .../AppIcon.appiconset/app_icon_16.png | Bin .../AppIcon.appiconset/app_icon_256.png | Bin .../AppIcon.appiconset/app_icon_32.png | Bin .../AppIcon.appiconset/app_icon_512.png | Bin .../AppIcon.appiconset/app_icon_64.png | Bin .../sshnp_gui/macos/Runner/Base.lproj/MainMenu.xib | 0 .../sshnp_gui/macos/Runner/Configs/AppInfo.xcconfig | 0 .../sshnp_gui/macos/Runner/Configs/Debug.xcconfig | 0 .../sshnp_gui/macos/Runner/Configs/Release.xcconfig | 0 .../macos/Runner/Configs/Warnings.xcconfig | 0 .../macos/Runner/DebugProfile.entitlements | 0 .../{ => dart}/sshnp_gui/macos/Runner/Info.plist | 0 .../sshnp_gui/macos/Runner/MainFlutterWindow.swift | 0 .../sshnp_gui/macos/Runner/Release.entitlements | 0 .../sshnp_gui/macos/RunnerTests/RunnerTests.swift | 0 packages/{ => dart}/sshnp_gui/pubspec.lock | 0 packages/{ => dart}/sshnp_gui/pubspec.yaml | 0 packages/{ => dart}/sshnp_gui/test/widget_test.dart | 0 packages/{ => dart}/sshnp_gui/windows/.gitignore | 0 .../{ => dart}/sshnp_gui/windows/CMakeLists.txt | 0 .../sshnp_gui/windows/flutter/CMakeLists.txt | 0 .../windows/flutter/generated_plugin_registrant.cc | 0 .../windows/flutter/generated_plugin_registrant.h | 0 .../windows/flutter/generated_plugins.cmake | 0 .../sshnp_gui/windows/runner/CMakeLists.txt | 0 .../{ => dart}/sshnp_gui/windows/runner/Runner.rc | 0 .../sshnp_gui/windows/runner/flutter_window.cpp | 0 .../sshnp_gui/windows/runner/flutter_window.h | 0 .../{ => dart}/sshnp_gui/windows/runner/main.cpp | 0 .../{ => dart}/sshnp_gui/windows/runner/resource.h | 0 .../sshnp_gui/windows/runner/resources/app_icon.ico | Bin .../sshnp_gui/windows/runner/runner.exe.manifest | 0 .../{ => dart}/sshnp_gui/windows/runner/utils.cpp | 0 .../{ => dart}/sshnp_gui/windows/runner/utils.h | 0 .../sshnp_gui/windows/runner/win32_window.cpp | 0 .../sshnp_gui/windows/runner/win32_window.h | 0 packages/sshnp_gui/.env | 0 308 files changed, 0 insertions(+), 0 deletions(-) rename packages/{ => dart}/noports_core/.gitignore (100%) rename packages/{ => dart}/noports_core/CHANGELOG.md (100%) rename packages/{ => dart}/noports_core/LICENSE (100%) rename packages/{ => dart}/noports_core/README.md (100%) rename packages/{ => dart}/noports_core/analysis_options.yaml (100%) rename packages/{ => dart}/noports_core/lib/src/common/at_ssh_key_util/at_ssh_key_util.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/at_ssh_key_util/dart_ssh_key_util.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/at_ssh_key_util/local_ssh_key_util.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/default_args.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/file_system_utils.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/io_types.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/mixins/async_completion.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/mixins/async_initialization.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/mixins/at_client_bindings.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/openssh_binary_path.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/types.dart (100%) rename packages/{ => dart}/noports_core/lib/src/common/validation_utils.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/impl/sshnp_dart_pure_impl.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/impl/sshnp_openssh_local_impl.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/impl/sshnp_unsigned_impl.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/models/config_file_repository.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/models/config_key_repository.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/models/sshnp_arg.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/models/sshnp_device_list.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/models/sshnp_params.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/models/sshnp_result.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/sshnp.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/sshnp_core.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/ssh_session_handler/dart_ssh_session_handler.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/ssh_session_handler/openssh_ssh_session_handler.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/ssh_session_handler/ssh_session_handler.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_channel.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_default_channel.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_channel.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_dart_channel.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_exec_channel.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnpd/sshnpd.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnpd/sshnpd_impl.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshnpd/sshnpd_params.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrv/sshrv.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrv/sshrv_impl.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrvd/build_env.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrvd/socket_connector.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrvd/sshrvd.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrvd/sshrvd_impl.dart (100%) rename packages/{ => dart}/noports_core/lib/src/sshrvd/sshrvd_params.dart (100%) rename packages/{ => dart}/noports_core/lib/src/version.dart (100%) rename packages/{ => dart}/noports_core/lib/sshnp.dart (100%) rename packages/{ => dart}/noports_core/lib/sshnp_foundation.dart (100%) rename packages/{ => dart}/noports_core/lib/sshnp_params.dart (100%) rename packages/{ => dart}/noports_core/lib/sshnpd.dart (100%) rename packages/{ => dart}/noports_core/lib/sshrv.dart (100%) rename packages/{ => dart}/noports_core/lib/sshrvd.dart (100%) rename packages/{ => dart}/noports_core/lib/utils.dart (100%) rename packages/{ => dart}/noports_core/pubspec.yaml (100%) rename packages/{ => dart}/noports_core/test/sshnp/models/config_file_repository_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/models/config_key_repository_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/models/sshnp_arg_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/models/sshnp_device_list_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/models/sshnp_params_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/models/sshnp_result_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/sshnp_core_constants.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/sshnp_core_mocks.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/sshnp_core_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/sshnp_mocks.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/sshnp_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_mocks.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/ssh_session_handler/ssh_session_handler_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_mocks.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_mocks.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_default_channel_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_mocks.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_dart_channel_test.dart (100%) rename packages/{ => dart}/noports_core/test/sshnp/util/sshrvd_channel/ssrhvd_exec_channel_test.dart (100%) rename packages/{ => dart}/noports_core/test/version_test.dart (100%) rename packages/{ => dart}/sshnoports/LICENSE (100%) rename packages/{ => dart}/sshnoports/README.md (100%) rename packages/{ => dart}/sshnoports/analysis_options.yaml (100%) rename packages/{ => dart}/sshnoports/bin/activate_cli.dart (100%) rename packages/{ => dart}/sshnoports/bin/sshnp.dart (100%) rename packages/{ => dart}/sshnoports/bin/sshnpd.dart (100%) rename packages/{ => dart}/sshnoports/bin/sshrv.dart (100%) rename packages/{ => dart}/sshnoports/bin/sshrvd.dart (100%) rename packages/{ => dart}/sshnoports/bundles/core/config/sshnp-config-template.env (100%) rename packages/{ => dart}/sshnoports/bundles/core/docker/.env.template (100%) rename packages/{ => dart}/sshnoports/bundles/core/docker/.startup.sh (100%) rename packages/{ => dart}/sshnoports/bundles/core/docker/docker-compose.yaml (100%) rename packages/{ => dart}/sshnoports/bundles/shell/README.md (100%) rename packages/{ => dart}/sshnoports/bundles/shell/headless/README.md (100%) rename packages/{ => dart}/sshnoports/bundles/shell/headless/sshnpd.sh (100%) rename packages/{ => dart}/sshnoports/bundles/shell/headless/sshrvd.sh (100%) rename packages/{ => dart}/sshnoports/bundles/shell/install.sh (100%) rename packages/{ => dart}/sshnoports/bundles/shell/systemd/README.md (100%) rename packages/{ => dart}/sshnoports/bundles/shell/systemd/sshnpd.service (100%) rename packages/{ => dart}/sshnoports/bundles/shell/systemd/sshrvd.service (100%) rename packages/{ => dart}/sshnoports/bundles/windows/README.md (100%) rename packages/{ => dart}/sshnoports/lib/src/create_at_client_cli.dart (100%) rename packages/{ => dart}/sshnoports/lib/src/create_sshnp.dart (100%) rename packages/{ => dart}/sshnoports/lib/src/extended_arg_parser.dart (100%) rename packages/{ => dart}/sshnoports/lib/src/print_devices.dart (100%) rename packages/{ => dart}/sshnoports/lib/src/print_version.dart (100%) rename packages/{ => dart}/sshnoports/lib/src/service_factories.dart (100%) rename packages/{ => dart}/sshnoports/lib/src/version.dart (100%) rename packages/{ => dart}/sshnoports/pubspec.lock (100%) rename packages/{ => dart}/sshnoports/pubspec.yaml (100%) rename packages/{ => dart}/sshnoports/tools/.gitignore (100%) rename packages/{ => dart}/sshnoports/tools/Dockerfile (100%) rename packages/{ => dart}/sshnoports/tools/Dockerfile.activate (100%) rename packages/{ => dart}/sshnoports/tools/Dockerfile.package (100%) rename packages/{ => dart}/sshnoports/tools/docker-compose.local.yaml (100%) rename packages/{ => dart}/sshnp_gui/.gitignore (100%) rename packages/{ => dart}/sshnp_gui/.metadata (100%) rename packages/{ => dart}/sshnp_gui/README.md (100%) rename packages/{ => dart}/sshnp_gui/analysis_options.yaml (100%) rename packages/{ => dart}/sshnp_gui/android/.gitignore (100%) rename packages/{ => dart}/sshnp_gui/android/app/build.gradle (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/debug/AndroidManifest.xml (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/AndroidManifest.xml (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/kotlin/com/example/sshnp_gui/MainActivity.kt (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/drawable-v21/launch_background.xml (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/drawable/launch_background.xml (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/values-night/styles.xml (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/main/res/values/styles.xml (100%) rename packages/{ => dart}/sshnp_gui/android/app/src/profile/AndroidManifest.xml (100%) rename packages/{ => dart}/sshnp_gui/android/build.gradle (100%) rename packages/{ => dart}/sshnp_gui/android/gradle.properties (100%) rename packages/{ => dart}/sshnp_gui/android/gradle/wrapper/gradle-wrapper.properties (100%) rename packages/{ => dart}/sshnp_gui/android/settings.gradle (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/home_selected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/home_unselected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/new_selected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/new_unselected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/pican_selected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/pican_unselected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/settings_selected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/nav_icons/settings_unselected.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/noports_dark.svg (100%) rename packages/{ => dart}/sshnp_gui/assets/images/noports_light.svg (100%) rename packages/{ => dart}/sshnp_gui/ios/.gitignore (100%) rename packages/{ => dart}/sshnp_gui/ios/Flutter/AppFrameworkInfo.plist (100%) rename packages/{ => dart}/sshnp_gui/ios/Flutter/Debug.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/ios/Flutter/Release.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/ios/Podfile (100%) rename packages/{ => dart}/sshnp_gui/ios/Podfile.lock (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcodeproj/project.pbxproj (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcworkspace/contents.xcworkspacedata (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/AppDelegate.swift (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Base.lproj/LaunchScreen.storyboard (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Base.lproj/Main.storyboard (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Info.plist (100%) rename packages/{ => dart}/sshnp_gui/ios/Runner/Runner-Bridging-Header.h (100%) rename packages/{ => dart}/sshnp_gui/ios/RunnerTests/RunnerTests.swift (100%) rename packages/{ => dart}/sshnp_gui/l10n.yaml (100%) rename packages/{ => dart}/sshnp_gui/lib/l10n/app_en.arb (100%) rename packages/{ => dart}/sshnp_gui/lib/main.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/controllers/authentication_controller.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/controllers/background_session_controller.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/controllers/config_controller.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/controllers/navigation_controller.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/controllers/navigation_rail_controller.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/controllers/terminal_session_controller.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/screens/home_screen.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/screens/onboarding_screen.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/screens/profile_editor_screen.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/screens/settings_screen.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/screens/terminal_screen.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_action_callbacks.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_actions.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_import_dialog.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_menu_button.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/new_profile_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/navigation/app_navigation_rail.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_button.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_callbacks.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_actions.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_dialog.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_menu_button.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_run_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_terminal_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_actions.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_stats.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_form/custom_text_form_field.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/profile_form/profile_form.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_action_button.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_actions.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_backup_keys_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_contact_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_faq_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_privacy_policy_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_reset_app_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_switch_atsign_action.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/utility/at_error_dialog.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/presentation/widgets/utility/custom_snack_bar.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/repository/authentication_repository.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/repository/navigation_repository.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/app_theme.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/constants.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/form_validator.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/platform_utility/default_platform_utility.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/platform_utility/macos_utility.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/platform_utility/platform_utililty.dart (100%) rename packages/{ => dart}/sshnp_gui/lib/src/utility/sizes.dart (100%) rename packages/{ => dart}/sshnp_gui/linux/.gitignore (100%) rename packages/{ => dart}/sshnp_gui/linux/CMakeLists.txt (100%) rename packages/{ => dart}/sshnp_gui/linux/flutter/CMakeLists.txt (100%) rename packages/{ => dart}/sshnp_gui/linux/flutter/generated_plugin_registrant.cc (100%) rename packages/{ => dart}/sshnp_gui/linux/flutter/generated_plugin_registrant.h (100%) rename packages/{ => dart}/sshnp_gui/linux/flutter/generated_plugins.cmake (100%) rename packages/{ => dart}/sshnp_gui/linux/main.cc (100%) rename packages/{ => dart}/sshnp_gui/linux/my_application.cc (100%) rename packages/{ => dart}/sshnp_gui/linux/my_application.h (100%) rename packages/{ => dart}/sshnp_gui/macos/.gitignore (100%) rename packages/{ => dart}/sshnp_gui/macos/Flutter/Flutter-Debug.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/macos/Flutter/Flutter-Release.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/macos/Flutter/GeneratedPluginRegistrant.swift (100%) rename packages/{ => dart}/sshnp_gui/macos/Podfile (100%) rename packages/{ => dart}/sshnp_gui/macos/Podfile.lock (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner.xcodeproj/project.pbxproj (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner.xcworkspace/contents.xcworkspacedata (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/AppDelegate.swift (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Base.lproj/MainMenu.xib (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Configs/AppInfo.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Configs/Debug.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Configs/Release.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Configs/Warnings.xcconfig (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/DebugProfile.entitlements (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Info.plist (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/MainFlutterWindow.swift (100%) rename packages/{ => dart}/sshnp_gui/macos/Runner/Release.entitlements (100%) rename packages/{ => dart}/sshnp_gui/macos/RunnerTests/RunnerTests.swift (100%) rename packages/{ => dart}/sshnp_gui/pubspec.lock (100%) rename packages/{ => dart}/sshnp_gui/pubspec.yaml (100%) rename packages/{ => dart}/sshnp_gui/test/widget_test.dart (100%) rename packages/{ => dart}/sshnp_gui/windows/.gitignore (100%) rename packages/{ => dart}/sshnp_gui/windows/CMakeLists.txt (100%) rename packages/{ => dart}/sshnp_gui/windows/flutter/CMakeLists.txt (100%) rename packages/{ => dart}/sshnp_gui/windows/flutter/generated_plugin_registrant.cc (100%) rename packages/{ => dart}/sshnp_gui/windows/flutter/generated_plugin_registrant.h (100%) rename packages/{ => dart}/sshnp_gui/windows/flutter/generated_plugins.cmake (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/CMakeLists.txt (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/Runner.rc (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/flutter_window.cpp (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/flutter_window.h (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/main.cpp (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/resource.h (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/resources/app_icon.ico (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/runner.exe.manifest (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/utils.cpp (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/utils.h (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/win32_window.cpp (100%) rename packages/{ => dart}/sshnp_gui/windows/runner/win32_window.h (100%) delete mode 100644 packages/sshnp_gui/.env diff --git a/packages/noports_core/.gitignore b/packages/dart/noports_core/.gitignore similarity index 100% rename from packages/noports_core/.gitignore rename to packages/dart/noports_core/.gitignore diff --git a/packages/noports_core/CHANGELOG.md b/packages/dart/noports_core/CHANGELOG.md similarity index 100% rename from packages/noports_core/CHANGELOG.md rename to packages/dart/noports_core/CHANGELOG.md diff --git a/packages/noports_core/LICENSE b/packages/dart/noports_core/LICENSE similarity index 100% rename from packages/noports_core/LICENSE rename to packages/dart/noports_core/LICENSE diff --git a/packages/noports_core/README.md b/packages/dart/noports_core/README.md similarity index 100% rename from packages/noports_core/README.md rename to packages/dart/noports_core/README.md diff --git a/packages/noports_core/analysis_options.yaml b/packages/dart/noports_core/analysis_options.yaml similarity index 100% rename from packages/noports_core/analysis_options.yaml rename to packages/dart/noports_core/analysis_options.yaml diff --git a/packages/noports_core/lib/src/common/at_ssh_key_util/at_ssh_key_util.dart b/packages/dart/noports_core/lib/src/common/at_ssh_key_util/at_ssh_key_util.dart similarity index 100% rename from packages/noports_core/lib/src/common/at_ssh_key_util/at_ssh_key_util.dart rename to packages/dart/noports_core/lib/src/common/at_ssh_key_util/at_ssh_key_util.dart diff --git a/packages/noports_core/lib/src/common/at_ssh_key_util/dart_ssh_key_util.dart b/packages/dart/noports_core/lib/src/common/at_ssh_key_util/dart_ssh_key_util.dart similarity index 100% rename from packages/noports_core/lib/src/common/at_ssh_key_util/dart_ssh_key_util.dart rename to packages/dart/noports_core/lib/src/common/at_ssh_key_util/dart_ssh_key_util.dart diff --git a/packages/noports_core/lib/src/common/at_ssh_key_util/local_ssh_key_util.dart b/packages/dart/noports_core/lib/src/common/at_ssh_key_util/local_ssh_key_util.dart similarity index 100% rename from packages/noports_core/lib/src/common/at_ssh_key_util/local_ssh_key_util.dart rename to packages/dart/noports_core/lib/src/common/at_ssh_key_util/local_ssh_key_util.dart diff --git a/packages/noports_core/lib/src/common/default_args.dart b/packages/dart/noports_core/lib/src/common/default_args.dart similarity index 100% rename from packages/noports_core/lib/src/common/default_args.dart rename to packages/dart/noports_core/lib/src/common/default_args.dart diff --git a/packages/noports_core/lib/src/common/file_system_utils.dart b/packages/dart/noports_core/lib/src/common/file_system_utils.dart similarity index 100% rename from packages/noports_core/lib/src/common/file_system_utils.dart rename to packages/dart/noports_core/lib/src/common/file_system_utils.dart diff --git a/packages/noports_core/lib/src/common/io_types.dart b/packages/dart/noports_core/lib/src/common/io_types.dart similarity index 100% rename from packages/noports_core/lib/src/common/io_types.dart rename to packages/dart/noports_core/lib/src/common/io_types.dart diff --git a/packages/noports_core/lib/src/common/mixins/async_completion.dart b/packages/dart/noports_core/lib/src/common/mixins/async_completion.dart similarity index 100% rename from packages/noports_core/lib/src/common/mixins/async_completion.dart rename to packages/dart/noports_core/lib/src/common/mixins/async_completion.dart diff --git a/packages/noports_core/lib/src/common/mixins/async_initialization.dart b/packages/dart/noports_core/lib/src/common/mixins/async_initialization.dart similarity index 100% rename from packages/noports_core/lib/src/common/mixins/async_initialization.dart rename to packages/dart/noports_core/lib/src/common/mixins/async_initialization.dart diff --git a/packages/noports_core/lib/src/common/mixins/at_client_bindings.dart b/packages/dart/noports_core/lib/src/common/mixins/at_client_bindings.dart similarity index 100% rename from packages/noports_core/lib/src/common/mixins/at_client_bindings.dart rename to packages/dart/noports_core/lib/src/common/mixins/at_client_bindings.dart diff --git a/packages/noports_core/lib/src/common/openssh_binary_path.dart b/packages/dart/noports_core/lib/src/common/openssh_binary_path.dart similarity index 100% rename from packages/noports_core/lib/src/common/openssh_binary_path.dart rename to packages/dart/noports_core/lib/src/common/openssh_binary_path.dart diff --git a/packages/noports_core/lib/src/common/types.dart b/packages/dart/noports_core/lib/src/common/types.dart similarity index 100% rename from packages/noports_core/lib/src/common/types.dart rename to packages/dart/noports_core/lib/src/common/types.dart diff --git a/packages/noports_core/lib/src/common/validation_utils.dart b/packages/dart/noports_core/lib/src/common/validation_utils.dart similarity index 100% rename from packages/noports_core/lib/src/common/validation_utils.dart rename to packages/dart/noports_core/lib/src/common/validation_utils.dart diff --git a/packages/noports_core/lib/src/sshnp/impl/sshnp_dart_pure_impl.dart b/packages/dart/noports_core/lib/src/sshnp/impl/sshnp_dart_pure_impl.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/impl/sshnp_dart_pure_impl.dart rename to packages/dart/noports_core/lib/src/sshnp/impl/sshnp_dart_pure_impl.dart diff --git a/packages/noports_core/lib/src/sshnp/impl/sshnp_openssh_local_impl.dart b/packages/dart/noports_core/lib/src/sshnp/impl/sshnp_openssh_local_impl.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/impl/sshnp_openssh_local_impl.dart rename to packages/dart/noports_core/lib/src/sshnp/impl/sshnp_openssh_local_impl.dart diff --git a/packages/noports_core/lib/src/sshnp/impl/sshnp_unsigned_impl.dart b/packages/dart/noports_core/lib/src/sshnp/impl/sshnp_unsigned_impl.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/impl/sshnp_unsigned_impl.dart rename to packages/dart/noports_core/lib/src/sshnp/impl/sshnp_unsigned_impl.dart diff --git a/packages/noports_core/lib/src/sshnp/models/config_file_repository.dart b/packages/dart/noports_core/lib/src/sshnp/models/config_file_repository.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/models/config_file_repository.dart rename to packages/dart/noports_core/lib/src/sshnp/models/config_file_repository.dart diff --git a/packages/noports_core/lib/src/sshnp/models/config_key_repository.dart b/packages/dart/noports_core/lib/src/sshnp/models/config_key_repository.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/models/config_key_repository.dart rename to packages/dart/noports_core/lib/src/sshnp/models/config_key_repository.dart diff --git a/packages/noports_core/lib/src/sshnp/models/sshnp_arg.dart b/packages/dart/noports_core/lib/src/sshnp/models/sshnp_arg.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/models/sshnp_arg.dart rename to packages/dart/noports_core/lib/src/sshnp/models/sshnp_arg.dart diff --git a/packages/noports_core/lib/src/sshnp/models/sshnp_device_list.dart b/packages/dart/noports_core/lib/src/sshnp/models/sshnp_device_list.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/models/sshnp_device_list.dart rename to packages/dart/noports_core/lib/src/sshnp/models/sshnp_device_list.dart diff --git a/packages/noports_core/lib/src/sshnp/models/sshnp_params.dart b/packages/dart/noports_core/lib/src/sshnp/models/sshnp_params.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/models/sshnp_params.dart rename to packages/dart/noports_core/lib/src/sshnp/models/sshnp_params.dart diff --git a/packages/noports_core/lib/src/sshnp/models/sshnp_result.dart b/packages/dart/noports_core/lib/src/sshnp/models/sshnp_result.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/models/sshnp_result.dart rename to packages/dart/noports_core/lib/src/sshnp/models/sshnp_result.dart diff --git a/packages/noports_core/lib/src/sshnp/sshnp.dart b/packages/dart/noports_core/lib/src/sshnp/sshnp.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/sshnp.dart rename to packages/dart/noports_core/lib/src/sshnp/sshnp.dart diff --git a/packages/noports_core/lib/src/sshnp/sshnp_core.dart b/packages/dart/noports_core/lib/src/sshnp/sshnp_core.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/sshnp_core.dart rename to packages/dart/noports_core/lib/src/sshnp/sshnp_core.dart diff --git a/packages/noports_core/lib/src/sshnp/util/ssh_session_handler/dart_ssh_session_handler.dart b/packages/dart/noports_core/lib/src/sshnp/util/ssh_session_handler/dart_ssh_session_handler.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/ssh_session_handler/dart_ssh_session_handler.dart rename to packages/dart/noports_core/lib/src/sshnp/util/ssh_session_handler/dart_ssh_session_handler.dart diff --git a/packages/noports_core/lib/src/sshnp/util/ssh_session_handler/openssh_ssh_session_handler.dart b/packages/dart/noports_core/lib/src/sshnp/util/ssh_session_handler/openssh_ssh_session_handler.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/ssh_session_handler/openssh_ssh_session_handler.dart rename to packages/dart/noports_core/lib/src/sshnp/util/ssh_session_handler/openssh_ssh_session_handler.dart diff --git a/packages/noports_core/lib/src/sshnp/util/ssh_session_handler/ssh_session_handler.dart b/packages/dart/noports_core/lib/src/sshnp/util/ssh_session_handler/ssh_session_handler.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/ssh_session_handler/ssh_session_handler.dart rename to packages/dart/noports_core/lib/src/sshnp/util/ssh_session_handler/ssh_session_handler.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_channel.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_channel.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_channel.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_channel.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_default_channel.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_default_channel.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_default_channel.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_default_channel.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_channel.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_channel.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_channel.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_channel.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_dart_channel.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_dart_channel.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_dart_channel.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_dart_channel.dart diff --git a/packages/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_exec_channel.dart b/packages/dart/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_exec_channel.dart similarity index 100% rename from packages/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_exec_channel.dart rename to packages/dart/noports_core/lib/src/sshnp/util/sshrvd_channel/sshrvd_exec_channel.dart diff --git a/packages/noports_core/lib/src/sshnpd/sshnpd.dart b/packages/dart/noports_core/lib/src/sshnpd/sshnpd.dart similarity index 100% rename from packages/noports_core/lib/src/sshnpd/sshnpd.dart rename to packages/dart/noports_core/lib/src/sshnpd/sshnpd.dart diff --git a/packages/noports_core/lib/src/sshnpd/sshnpd_impl.dart b/packages/dart/noports_core/lib/src/sshnpd/sshnpd_impl.dart similarity index 100% rename from packages/noports_core/lib/src/sshnpd/sshnpd_impl.dart rename to packages/dart/noports_core/lib/src/sshnpd/sshnpd_impl.dart diff --git a/packages/noports_core/lib/src/sshnpd/sshnpd_params.dart b/packages/dart/noports_core/lib/src/sshnpd/sshnpd_params.dart similarity index 100% rename from packages/noports_core/lib/src/sshnpd/sshnpd_params.dart rename to packages/dart/noports_core/lib/src/sshnpd/sshnpd_params.dart diff --git a/packages/noports_core/lib/src/sshrv/sshrv.dart b/packages/dart/noports_core/lib/src/sshrv/sshrv.dart similarity index 100% rename from packages/noports_core/lib/src/sshrv/sshrv.dart rename to packages/dart/noports_core/lib/src/sshrv/sshrv.dart diff --git a/packages/noports_core/lib/src/sshrv/sshrv_impl.dart b/packages/dart/noports_core/lib/src/sshrv/sshrv_impl.dart similarity index 100% rename from packages/noports_core/lib/src/sshrv/sshrv_impl.dart rename to packages/dart/noports_core/lib/src/sshrv/sshrv_impl.dart diff --git a/packages/noports_core/lib/src/sshrvd/build_env.dart b/packages/dart/noports_core/lib/src/sshrvd/build_env.dart similarity index 100% rename from packages/noports_core/lib/src/sshrvd/build_env.dart rename to packages/dart/noports_core/lib/src/sshrvd/build_env.dart diff --git a/packages/noports_core/lib/src/sshrvd/socket_connector.dart b/packages/dart/noports_core/lib/src/sshrvd/socket_connector.dart similarity index 100% rename from packages/noports_core/lib/src/sshrvd/socket_connector.dart rename to packages/dart/noports_core/lib/src/sshrvd/socket_connector.dart diff --git a/packages/noports_core/lib/src/sshrvd/sshrvd.dart b/packages/dart/noports_core/lib/src/sshrvd/sshrvd.dart similarity index 100% rename from packages/noports_core/lib/src/sshrvd/sshrvd.dart rename to packages/dart/noports_core/lib/src/sshrvd/sshrvd.dart diff --git a/packages/noports_core/lib/src/sshrvd/sshrvd_impl.dart b/packages/dart/noports_core/lib/src/sshrvd/sshrvd_impl.dart similarity index 100% rename from packages/noports_core/lib/src/sshrvd/sshrvd_impl.dart rename to packages/dart/noports_core/lib/src/sshrvd/sshrvd_impl.dart diff --git a/packages/noports_core/lib/src/sshrvd/sshrvd_params.dart b/packages/dart/noports_core/lib/src/sshrvd/sshrvd_params.dart similarity index 100% rename from packages/noports_core/lib/src/sshrvd/sshrvd_params.dart rename to packages/dart/noports_core/lib/src/sshrvd/sshrvd_params.dart diff --git a/packages/noports_core/lib/src/version.dart b/packages/dart/noports_core/lib/src/version.dart similarity index 100% rename from packages/noports_core/lib/src/version.dart rename to packages/dart/noports_core/lib/src/version.dart diff --git a/packages/noports_core/lib/sshnp.dart b/packages/dart/noports_core/lib/sshnp.dart similarity index 100% rename from packages/noports_core/lib/sshnp.dart rename to packages/dart/noports_core/lib/sshnp.dart diff --git a/packages/noports_core/lib/sshnp_foundation.dart b/packages/dart/noports_core/lib/sshnp_foundation.dart similarity index 100% rename from packages/noports_core/lib/sshnp_foundation.dart rename to packages/dart/noports_core/lib/sshnp_foundation.dart diff --git a/packages/noports_core/lib/sshnp_params.dart b/packages/dart/noports_core/lib/sshnp_params.dart similarity index 100% rename from packages/noports_core/lib/sshnp_params.dart rename to packages/dart/noports_core/lib/sshnp_params.dart diff --git a/packages/noports_core/lib/sshnpd.dart b/packages/dart/noports_core/lib/sshnpd.dart similarity index 100% rename from packages/noports_core/lib/sshnpd.dart rename to packages/dart/noports_core/lib/sshnpd.dart diff --git a/packages/noports_core/lib/sshrv.dart b/packages/dart/noports_core/lib/sshrv.dart similarity index 100% rename from packages/noports_core/lib/sshrv.dart rename to packages/dart/noports_core/lib/sshrv.dart diff --git a/packages/noports_core/lib/sshrvd.dart b/packages/dart/noports_core/lib/sshrvd.dart similarity index 100% rename from packages/noports_core/lib/sshrvd.dart rename to packages/dart/noports_core/lib/sshrvd.dart diff --git a/packages/noports_core/lib/utils.dart b/packages/dart/noports_core/lib/utils.dart similarity index 100% rename from packages/noports_core/lib/utils.dart rename to packages/dart/noports_core/lib/utils.dart diff --git a/packages/noports_core/pubspec.yaml b/packages/dart/noports_core/pubspec.yaml similarity index 100% rename from packages/noports_core/pubspec.yaml rename to packages/dart/noports_core/pubspec.yaml diff --git a/packages/noports_core/test/sshnp/models/config_file_repository_test.dart b/packages/dart/noports_core/test/sshnp/models/config_file_repository_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/models/config_file_repository_test.dart rename to packages/dart/noports_core/test/sshnp/models/config_file_repository_test.dart diff --git a/packages/noports_core/test/sshnp/models/config_key_repository_test.dart b/packages/dart/noports_core/test/sshnp/models/config_key_repository_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/models/config_key_repository_test.dart rename to packages/dart/noports_core/test/sshnp/models/config_key_repository_test.dart diff --git a/packages/noports_core/test/sshnp/models/sshnp_arg_test.dart b/packages/dart/noports_core/test/sshnp/models/sshnp_arg_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/models/sshnp_arg_test.dart rename to packages/dart/noports_core/test/sshnp/models/sshnp_arg_test.dart diff --git a/packages/noports_core/test/sshnp/models/sshnp_device_list_test.dart b/packages/dart/noports_core/test/sshnp/models/sshnp_device_list_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/models/sshnp_device_list_test.dart rename to packages/dart/noports_core/test/sshnp/models/sshnp_device_list_test.dart diff --git a/packages/noports_core/test/sshnp/models/sshnp_params_test.dart b/packages/dart/noports_core/test/sshnp/models/sshnp_params_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/models/sshnp_params_test.dart rename to packages/dart/noports_core/test/sshnp/models/sshnp_params_test.dart diff --git a/packages/noports_core/test/sshnp/models/sshnp_result_test.dart b/packages/dart/noports_core/test/sshnp/models/sshnp_result_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/models/sshnp_result_test.dart rename to packages/dart/noports_core/test/sshnp/models/sshnp_result_test.dart diff --git a/packages/noports_core/test/sshnp/sshnp_core_constants.dart b/packages/dart/noports_core/test/sshnp/sshnp_core_constants.dart similarity index 100% rename from packages/noports_core/test/sshnp/sshnp_core_constants.dart rename to packages/dart/noports_core/test/sshnp/sshnp_core_constants.dart diff --git a/packages/noports_core/test/sshnp/sshnp_core_mocks.dart b/packages/dart/noports_core/test/sshnp/sshnp_core_mocks.dart similarity index 100% rename from packages/noports_core/test/sshnp/sshnp_core_mocks.dart rename to packages/dart/noports_core/test/sshnp/sshnp_core_mocks.dart diff --git a/packages/noports_core/test/sshnp/sshnp_core_test.dart b/packages/dart/noports_core/test/sshnp/sshnp_core_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/sshnp_core_test.dart rename to packages/dart/noports_core/test/sshnp/sshnp_core_test.dart diff --git a/packages/noports_core/test/sshnp/sshnp_mocks.dart b/packages/dart/noports_core/test/sshnp/sshnp_mocks.dart similarity index 100% rename from packages/noports_core/test/sshnp/sshnp_mocks.dart rename to packages/dart/noports_core/test/sshnp/sshnp_mocks.dart diff --git a/packages/noports_core/test/sshnp/sshnp_test.dart b/packages/dart/noports_core/test/sshnp/sshnp_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/sshnp_test.dart rename to packages/dart/noports_core/test/sshnp/sshnp_test.dart diff --git a/packages/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_mocks.dart b/packages/dart/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_mocks.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_mocks.dart rename to packages/dart/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_mocks.dart diff --git a/packages/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_test.dart b/packages/dart/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_test.dart rename to packages/dart/noports_core/test/sshnp/util/ssh_session_handler/openssh_ssh_session_handler_test.dart diff --git a/packages/noports_core/test/sshnp/util/ssh_session_handler/ssh_session_handler_test.dart b/packages/dart/noports_core/test/sshnp/util/ssh_session_handler/ssh_session_handler_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/ssh_session_handler/ssh_session_handler_test.dart rename to packages/dart/noports_core/test/sshnp/util/ssh_session_handler/ssh_session_handler_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler_test.dart b/packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_dart_ssh_key_handler_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler_test.dart b/packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_local_ssh_key_handler_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_mocks.dart b/packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_mocks.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_mocks.dart rename to packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_mocks.dart diff --git a/packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_test.dart b/packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshnp_ssh_key_handler/sshnp_ssh_key_handler_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_mocks.dart b/packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_mocks.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_mocks.dart rename to packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_mocks.dart diff --git a/packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_test.dart b/packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_channel_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_default_channel_test.dart b/packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_default_channel_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_default_channel_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_default_channel_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel_test.dart b/packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshnpd_channel/sshnpd_unsigned_channel_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_mocks.dart b/packages/dart/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_mocks.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_mocks.dart rename to packages/dart/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_mocks.dart diff --git a/packages/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_test.dart b/packages/dart/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_channel_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_dart_channel_test.dart b/packages/dart/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_dart_channel_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_dart_channel_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshrvd_channel/sshrvd_dart_channel_test.dart diff --git a/packages/noports_core/test/sshnp/util/sshrvd_channel/ssrhvd_exec_channel_test.dart b/packages/dart/noports_core/test/sshnp/util/sshrvd_channel/ssrhvd_exec_channel_test.dart similarity index 100% rename from packages/noports_core/test/sshnp/util/sshrvd_channel/ssrhvd_exec_channel_test.dart rename to packages/dart/noports_core/test/sshnp/util/sshrvd_channel/ssrhvd_exec_channel_test.dart diff --git a/packages/noports_core/test/version_test.dart b/packages/dart/noports_core/test/version_test.dart similarity index 100% rename from packages/noports_core/test/version_test.dart rename to packages/dart/noports_core/test/version_test.dart diff --git a/packages/sshnoports/LICENSE b/packages/dart/sshnoports/LICENSE similarity index 100% rename from packages/sshnoports/LICENSE rename to packages/dart/sshnoports/LICENSE diff --git a/packages/sshnoports/README.md b/packages/dart/sshnoports/README.md similarity index 100% rename from packages/sshnoports/README.md rename to packages/dart/sshnoports/README.md diff --git a/packages/sshnoports/analysis_options.yaml b/packages/dart/sshnoports/analysis_options.yaml similarity index 100% rename from packages/sshnoports/analysis_options.yaml rename to packages/dart/sshnoports/analysis_options.yaml diff --git a/packages/sshnoports/bin/activate_cli.dart b/packages/dart/sshnoports/bin/activate_cli.dart similarity index 100% rename from packages/sshnoports/bin/activate_cli.dart rename to packages/dart/sshnoports/bin/activate_cli.dart diff --git a/packages/sshnoports/bin/sshnp.dart b/packages/dart/sshnoports/bin/sshnp.dart similarity index 100% rename from packages/sshnoports/bin/sshnp.dart rename to packages/dart/sshnoports/bin/sshnp.dart diff --git a/packages/sshnoports/bin/sshnpd.dart b/packages/dart/sshnoports/bin/sshnpd.dart similarity index 100% rename from packages/sshnoports/bin/sshnpd.dart rename to packages/dart/sshnoports/bin/sshnpd.dart diff --git a/packages/sshnoports/bin/sshrv.dart b/packages/dart/sshnoports/bin/sshrv.dart similarity index 100% rename from packages/sshnoports/bin/sshrv.dart rename to packages/dart/sshnoports/bin/sshrv.dart diff --git a/packages/sshnoports/bin/sshrvd.dart b/packages/dart/sshnoports/bin/sshrvd.dart similarity index 100% rename from packages/sshnoports/bin/sshrvd.dart rename to packages/dart/sshnoports/bin/sshrvd.dart diff --git a/packages/sshnoports/bundles/core/config/sshnp-config-template.env b/packages/dart/sshnoports/bundles/core/config/sshnp-config-template.env similarity index 100% rename from packages/sshnoports/bundles/core/config/sshnp-config-template.env rename to packages/dart/sshnoports/bundles/core/config/sshnp-config-template.env diff --git a/packages/sshnoports/bundles/core/docker/.env.template b/packages/dart/sshnoports/bundles/core/docker/.env.template similarity index 100% rename from packages/sshnoports/bundles/core/docker/.env.template rename to packages/dart/sshnoports/bundles/core/docker/.env.template diff --git a/packages/sshnoports/bundles/core/docker/.startup.sh b/packages/dart/sshnoports/bundles/core/docker/.startup.sh similarity index 100% rename from packages/sshnoports/bundles/core/docker/.startup.sh rename to packages/dart/sshnoports/bundles/core/docker/.startup.sh diff --git a/packages/sshnoports/bundles/core/docker/docker-compose.yaml b/packages/dart/sshnoports/bundles/core/docker/docker-compose.yaml similarity index 100% rename from packages/sshnoports/bundles/core/docker/docker-compose.yaml rename to packages/dart/sshnoports/bundles/core/docker/docker-compose.yaml diff --git a/packages/sshnoports/bundles/shell/README.md b/packages/dart/sshnoports/bundles/shell/README.md similarity index 100% rename from packages/sshnoports/bundles/shell/README.md rename to packages/dart/sshnoports/bundles/shell/README.md diff --git a/packages/sshnoports/bundles/shell/headless/README.md b/packages/dart/sshnoports/bundles/shell/headless/README.md similarity index 100% rename from packages/sshnoports/bundles/shell/headless/README.md rename to packages/dart/sshnoports/bundles/shell/headless/README.md diff --git a/packages/sshnoports/bundles/shell/headless/sshnpd.sh b/packages/dart/sshnoports/bundles/shell/headless/sshnpd.sh similarity index 100% rename from packages/sshnoports/bundles/shell/headless/sshnpd.sh rename to packages/dart/sshnoports/bundles/shell/headless/sshnpd.sh diff --git a/packages/sshnoports/bundles/shell/headless/sshrvd.sh b/packages/dart/sshnoports/bundles/shell/headless/sshrvd.sh similarity index 100% rename from packages/sshnoports/bundles/shell/headless/sshrvd.sh rename to packages/dart/sshnoports/bundles/shell/headless/sshrvd.sh diff --git a/packages/sshnoports/bundles/shell/install.sh b/packages/dart/sshnoports/bundles/shell/install.sh similarity index 100% rename from packages/sshnoports/bundles/shell/install.sh rename to packages/dart/sshnoports/bundles/shell/install.sh diff --git a/packages/sshnoports/bundles/shell/systemd/README.md b/packages/dart/sshnoports/bundles/shell/systemd/README.md similarity index 100% rename from packages/sshnoports/bundles/shell/systemd/README.md rename to packages/dart/sshnoports/bundles/shell/systemd/README.md diff --git a/packages/sshnoports/bundles/shell/systemd/sshnpd.service b/packages/dart/sshnoports/bundles/shell/systemd/sshnpd.service similarity index 100% rename from packages/sshnoports/bundles/shell/systemd/sshnpd.service rename to packages/dart/sshnoports/bundles/shell/systemd/sshnpd.service diff --git a/packages/sshnoports/bundles/shell/systemd/sshrvd.service b/packages/dart/sshnoports/bundles/shell/systemd/sshrvd.service similarity index 100% rename from packages/sshnoports/bundles/shell/systemd/sshrvd.service rename to packages/dart/sshnoports/bundles/shell/systemd/sshrvd.service diff --git a/packages/sshnoports/bundles/windows/README.md b/packages/dart/sshnoports/bundles/windows/README.md similarity index 100% rename from packages/sshnoports/bundles/windows/README.md rename to packages/dart/sshnoports/bundles/windows/README.md diff --git a/packages/sshnoports/lib/src/create_at_client_cli.dart b/packages/dart/sshnoports/lib/src/create_at_client_cli.dart similarity index 100% rename from packages/sshnoports/lib/src/create_at_client_cli.dart rename to packages/dart/sshnoports/lib/src/create_at_client_cli.dart diff --git a/packages/sshnoports/lib/src/create_sshnp.dart b/packages/dart/sshnoports/lib/src/create_sshnp.dart similarity index 100% rename from packages/sshnoports/lib/src/create_sshnp.dart rename to packages/dart/sshnoports/lib/src/create_sshnp.dart diff --git a/packages/sshnoports/lib/src/extended_arg_parser.dart b/packages/dart/sshnoports/lib/src/extended_arg_parser.dart similarity index 100% rename from packages/sshnoports/lib/src/extended_arg_parser.dart rename to packages/dart/sshnoports/lib/src/extended_arg_parser.dart diff --git a/packages/sshnoports/lib/src/print_devices.dart b/packages/dart/sshnoports/lib/src/print_devices.dart similarity index 100% rename from packages/sshnoports/lib/src/print_devices.dart rename to packages/dart/sshnoports/lib/src/print_devices.dart diff --git a/packages/sshnoports/lib/src/print_version.dart b/packages/dart/sshnoports/lib/src/print_version.dart similarity index 100% rename from packages/sshnoports/lib/src/print_version.dart rename to packages/dart/sshnoports/lib/src/print_version.dart diff --git a/packages/sshnoports/lib/src/service_factories.dart b/packages/dart/sshnoports/lib/src/service_factories.dart similarity index 100% rename from packages/sshnoports/lib/src/service_factories.dart rename to packages/dart/sshnoports/lib/src/service_factories.dart diff --git a/packages/sshnoports/lib/src/version.dart b/packages/dart/sshnoports/lib/src/version.dart similarity index 100% rename from packages/sshnoports/lib/src/version.dart rename to packages/dart/sshnoports/lib/src/version.dart diff --git a/packages/sshnoports/pubspec.lock b/packages/dart/sshnoports/pubspec.lock similarity index 100% rename from packages/sshnoports/pubspec.lock rename to packages/dart/sshnoports/pubspec.lock diff --git a/packages/sshnoports/pubspec.yaml b/packages/dart/sshnoports/pubspec.yaml similarity index 100% rename from packages/sshnoports/pubspec.yaml rename to packages/dart/sshnoports/pubspec.yaml diff --git a/packages/sshnoports/tools/.gitignore b/packages/dart/sshnoports/tools/.gitignore similarity index 100% rename from packages/sshnoports/tools/.gitignore rename to packages/dart/sshnoports/tools/.gitignore diff --git a/packages/sshnoports/tools/Dockerfile b/packages/dart/sshnoports/tools/Dockerfile similarity index 100% rename from packages/sshnoports/tools/Dockerfile rename to packages/dart/sshnoports/tools/Dockerfile diff --git a/packages/sshnoports/tools/Dockerfile.activate b/packages/dart/sshnoports/tools/Dockerfile.activate similarity index 100% rename from packages/sshnoports/tools/Dockerfile.activate rename to packages/dart/sshnoports/tools/Dockerfile.activate diff --git a/packages/sshnoports/tools/Dockerfile.package b/packages/dart/sshnoports/tools/Dockerfile.package similarity index 100% rename from packages/sshnoports/tools/Dockerfile.package rename to packages/dart/sshnoports/tools/Dockerfile.package diff --git a/packages/sshnoports/tools/docker-compose.local.yaml b/packages/dart/sshnoports/tools/docker-compose.local.yaml similarity index 100% rename from packages/sshnoports/tools/docker-compose.local.yaml rename to packages/dart/sshnoports/tools/docker-compose.local.yaml diff --git a/packages/sshnp_gui/.gitignore b/packages/dart/sshnp_gui/.gitignore similarity index 100% rename from packages/sshnp_gui/.gitignore rename to packages/dart/sshnp_gui/.gitignore diff --git a/packages/sshnp_gui/.metadata b/packages/dart/sshnp_gui/.metadata similarity index 100% rename from packages/sshnp_gui/.metadata rename to packages/dart/sshnp_gui/.metadata diff --git a/packages/sshnp_gui/README.md b/packages/dart/sshnp_gui/README.md similarity index 100% rename from packages/sshnp_gui/README.md rename to packages/dart/sshnp_gui/README.md diff --git a/packages/sshnp_gui/analysis_options.yaml b/packages/dart/sshnp_gui/analysis_options.yaml similarity index 100% rename from packages/sshnp_gui/analysis_options.yaml rename to packages/dart/sshnp_gui/analysis_options.yaml diff --git a/packages/sshnp_gui/android/.gitignore b/packages/dart/sshnp_gui/android/.gitignore similarity index 100% rename from packages/sshnp_gui/android/.gitignore rename to packages/dart/sshnp_gui/android/.gitignore diff --git a/packages/sshnp_gui/android/app/build.gradle b/packages/dart/sshnp_gui/android/app/build.gradle similarity index 100% rename from packages/sshnp_gui/android/app/build.gradle rename to packages/dart/sshnp_gui/android/app/build.gradle diff --git a/packages/sshnp_gui/android/app/src/debug/AndroidManifest.xml b/packages/dart/sshnp_gui/android/app/src/debug/AndroidManifest.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/debug/AndroidManifest.xml rename to packages/dart/sshnp_gui/android/app/src/debug/AndroidManifest.xml diff --git a/packages/sshnp_gui/android/app/src/main/AndroidManifest.xml b/packages/dart/sshnp_gui/android/app/src/main/AndroidManifest.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/main/AndroidManifest.xml rename to packages/dart/sshnp_gui/android/app/src/main/AndroidManifest.xml diff --git a/packages/sshnp_gui/android/app/src/main/kotlin/com/example/sshnp_gui/MainActivity.kt b/packages/dart/sshnp_gui/android/app/src/main/kotlin/com/example/sshnp_gui/MainActivity.kt similarity index 100% rename from packages/sshnp_gui/android/app/src/main/kotlin/com/example/sshnp_gui/MainActivity.kt rename to packages/dart/sshnp_gui/android/app/src/main/kotlin/com/example/sshnp_gui/MainActivity.kt diff --git a/packages/sshnp_gui/android/app/src/main/res/drawable-v21/launch_background.xml b/packages/dart/sshnp_gui/android/app/src/main/res/drawable-v21/launch_background.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/drawable-v21/launch_background.xml rename to packages/dart/sshnp_gui/android/app/src/main/res/drawable-v21/launch_background.xml diff --git a/packages/sshnp_gui/android/app/src/main/res/drawable/launch_background.xml b/packages/dart/sshnp_gui/android/app/src/main/res/drawable/launch_background.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/drawable/launch_background.xml rename to packages/dart/sshnp_gui/android/app/src/main/res/drawable/launch_background.xml diff --git a/packages/sshnp_gui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/packages/dart/sshnp_gui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png rename to packages/dart/sshnp_gui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png diff --git a/packages/sshnp_gui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/packages/dart/sshnp_gui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png rename to packages/dart/sshnp_gui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png diff --git a/packages/sshnp_gui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/packages/dart/sshnp_gui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png rename to packages/dart/sshnp_gui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png diff --git a/packages/sshnp_gui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/packages/dart/sshnp_gui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png rename to packages/dart/sshnp_gui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png diff --git a/packages/sshnp_gui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/packages/dart/sshnp_gui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png rename to packages/dart/sshnp_gui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png diff --git a/packages/sshnp_gui/android/app/src/main/res/values-night/styles.xml b/packages/dart/sshnp_gui/android/app/src/main/res/values-night/styles.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/values-night/styles.xml rename to packages/dart/sshnp_gui/android/app/src/main/res/values-night/styles.xml diff --git a/packages/sshnp_gui/android/app/src/main/res/values/styles.xml b/packages/dart/sshnp_gui/android/app/src/main/res/values/styles.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/main/res/values/styles.xml rename to packages/dart/sshnp_gui/android/app/src/main/res/values/styles.xml diff --git a/packages/sshnp_gui/android/app/src/profile/AndroidManifest.xml b/packages/dart/sshnp_gui/android/app/src/profile/AndroidManifest.xml similarity index 100% rename from packages/sshnp_gui/android/app/src/profile/AndroidManifest.xml rename to packages/dart/sshnp_gui/android/app/src/profile/AndroidManifest.xml diff --git a/packages/sshnp_gui/android/build.gradle b/packages/dart/sshnp_gui/android/build.gradle similarity index 100% rename from packages/sshnp_gui/android/build.gradle rename to packages/dart/sshnp_gui/android/build.gradle diff --git a/packages/sshnp_gui/android/gradle.properties b/packages/dart/sshnp_gui/android/gradle.properties similarity index 100% rename from packages/sshnp_gui/android/gradle.properties rename to packages/dart/sshnp_gui/android/gradle.properties diff --git a/packages/sshnp_gui/android/gradle/wrapper/gradle-wrapper.properties b/packages/dart/sshnp_gui/android/gradle/wrapper/gradle-wrapper.properties similarity index 100% rename from packages/sshnp_gui/android/gradle/wrapper/gradle-wrapper.properties rename to packages/dart/sshnp_gui/android/gradle/wrapper/gradle-wrapper.properties diff --git a/packages/sshnp_gui/android/settings.gradle b/packages/dart/sshnp_gui/android/settings.gradle similarity index 100% rename from packages/sshnp_gui/android/settings.gradle rename to packages/dart/sshnp_gui/android/settings.gradle diff --git a/packages/sshnp_gui/assets/images/nav_icons/home_selected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/home_selected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/home_selected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/home_selected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/home_unselected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/home_unselected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/home_unselected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/home_unselected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/new_selected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/new_selected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/new_selected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/new_selected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/new_unselected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/new_unselected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/new_unselected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/new_unselected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/pican_selected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/pican_selected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/pican_selected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/pican_selected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/pican_unselected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/pican_unselected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/pican_unselected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/pican_unselected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/settings_selected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/settings_selected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/settings_selected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/settings_selected.svg diff --git a/packages/sshnp_gui/assets/images/nav_icons/settings_unselected.svg b/packages/dart/sshnp_gui/assets/images/nav_icons/settings_unselected.svg similarity index 100% rename from packages/sshnp_gui/assets/images/nav_icons/settings_unselected.svg rename to packages/dart/sshnp_gui/assets/images/nav_icons/settings_unselected.svg diff --git a/packages/sshnp_gui/assets/images/noports_dark.svg b/packages/dart/sshnp_gui/assets/images/noports_dark.svg similarity index 100% rename from packages/sshnp_gui/assets/images/noports_dark.svg rename to packages/dart/sshnp_gui/assets/images/noports_dark.svg diff --git a/packages/sshnp_gui/assets/images/noports_light.svg b/packages/dart/sshnp_gui/assets/images/noports_light.svg similarity index 100% rename from packages/sshnp_gui/assets/images/noports_light.svg rename to packages/dart/sshnp_gui/assets/images/noports_light.svg diff --git a/packages/sshnp_gui/ios/.gitignore b/packages/dart/sshnp_gui/ios/.gitignore similarity index 100% rename from packages/sshnp_gui/ios/.gitignore rename to packages/dart/sshnp_gui/ios/.gitignore diff --git a/packages/sshnp_gui/ios/Flutter/AppFrameworkInfo.plist b/packages/dart/sshnp_gui/ios/Flutter/AppFrameworkInfo.plist similarity index 100% rename from packages/sshnp_gui/ios/Flutter/AppFrameworkInfo.plist rename to packages/dart/sshnp_gui/ios/Flutter/AppFrameworkInfo.plist diff --git a/packages/sshnp_gui/ios/Flutter/Debug.xcconfig b/packages/dart/sshnp_gui/ios/Flutter/Debug.xcconfig similarity index 100% rename from packages/sshnp_gui/ios/Flutter/Debug.xcconfig rename to packages/dart/sshnp_gui/ios/Flutter/Debug.xcconfig diff --git a/packages/sshnp_gui/ios/Flutter/Release.xcconfig b/packages/dart/sshnp_gui/ios/Flutter/Release.xcconfig similarity index 100% rename from packages/sshnp_gui/ios/Flutter/Release.xcconfig rename to packages/dart/sshnp_gui/ios/Flutter/Release.xcconfig diff --git a/packages/sshnp_gui/ios/Podfile b/packages/dart/sshnp_gui/ios/Podfile similarity index 100% rename from packages/sshnp_gui/ios/Podfile rename to packages/dart/sshnp_gui/ios/Podfile diff --git a/packages/sshnp_gui/ios/Podfile.lock b/packages/dart/sshnp_gui/ios/Podfile.lock similarity index 100% rename from packages/sshnp_gui/ios/Podfile.lock rename to packages/dart/sshnp_gui/ios/Podfile.lock diff --git a/packages/sshnp_gui/ios/Runner.xcodeproj/project.pbxproj b/packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.pbxproj similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcodeproj/project.pbxproj rename to packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.pbxproj diff --git a/packages/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/packages/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to packages/dart/sshnp_gui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/packages/sshnp_gui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/dart/sshnp_gui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/dart/sshnp_gui/ios/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/sshnp_gui/ios/Runner.xcworkspace/contents.xcworkspacedata b/packages/dart/sshnp_gui/ios/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcworkspace/contents.xcworkspacedata rename to packages/dart/sshnp_gui/ios/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/dart/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/dart/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/packages/dart/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings similarity index 100% rename from packages/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename to packages/dart/sshnp_gui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings diff --git a/packages/sshnp_gui/ios/Runner/AppDelegate.swift b/packages/dart/sshnp_gui/ios/Runner/AppDelegate.swift similarity index 100% rename from packages/sshnp_gui/ios/Runner/AppDelegate.swift rename to packages/dart/sshnp_gui/ios/Runner/AppDelegate.swift diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png diff --git a/packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md b/packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md similarity index 100% rename from packages/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md rename to packages/dart/sshnp_gui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md diff --git a/packages/sshnp_gui/ios/Runner/Base.lproj/LaunchScreen.storyboard b/packages/dart/sshnp_gui/ios/Runner/Base.lproj/LaunchScreen.storyboard similarity index 100% rename from packages/sshnp_gui/ios/Runner/Base.lproj/LaunchScreen.storyboard rename to packages/dart/sshnp_gui/ios/Runner/Base.lproj/LaunchScreen.storyboard diff --git a/packages/sshnp_gui/ios/Runner/Base.lproj/Main.storyboard b/packages/dart/sshnp_gui/ios/Runner/Base.lproj/Main.storyboard similarity index 100% rename from packages/sshnp_gui/ios/Runner/Base.lproj/Main.storyboard rename to packages/dart/sshnp_gui/ios/Runner/Base.lproj/Main.storyboard diff --git a/packages/sshnp_gui/ios/Runner/Info.plist b/packages/dart/sshnp_gui/ios/Runner/Info.plist similarity index 100% rename from packages/sshnp_gui/ios/Runner/Info.plist rename to packages/dart/sshnp_gui/ios/Runner/Info.plist diff --git a/packages/sshnp_gui/ios/Runner/Runner-Bridging-Header.h b/packages/dart/sshnp_gui/ios/Runner/Runner-Bridging-Header.h similarity index 100% rename from packages/sshnp_gui/ios/Runner/Runner-Bridging-Header.h rename to packages/dart/sshnp_gui/ios/Runner/Runner-Bridging-Header.h diff --git a/packages/sshnp_gui/ios/RunnerTests/RunnerTests.swift b/packages/dart/sshnp_gui/ios/RunnerTests/RunnerTests.swift similarity index 100% rename from packages/sshnp_gui/ios/RunnerTests/RunnerTests.swift rename to packages/dart/sshnp_gui/ios/RunnerTests/RunnerTests.swift diff --git a/packages/sshnp_gui/l10n.yaml b/packages/dart/sshnp_gui/l10n.yaml similarity index 100% rename from packages/sshnp_gui/l10n.yaml rename to packages/dart/sshnp_gui/l10n.yaml diff --git a/packages/sshnp_gui/lib/l10n/app_en.arb b/packages/dart/sshnp_gui/lib/l10n/app_en.arb similarity index 100% rename from packages/sshnp_gui/lib/l10n/app_en.arb rename to packages/dart/sshnp_gui/lib/l10n/app_en.arb diff --git a/packages/sshnp_gui/lib/main.dart b/packages/dart/sshnp_gui/lib/main.dart similarity index 100% rename from packages/sshnp_gui/lib/main.dart rename to packages/dart/sshnp_gui/lib/main.dart diff --git a/packages/sshnp_gui/lib/src/controllers/authentication_controller.dart b/packages/dart/sshnp_gui/lib/src/controllers/authentication_controller.dart similarity index 100% rename from packages/sshnp_gui/lib/src/controllers/authentication_controller.dart rename to packages/dart/sshnp_gui/lib/src/controllers/authentication_controller.dart diff --git a/packages/sshnp_gui/lib/src/controllers/background_session_controller.dart b/packages/dart/sshnp_gui/lib/src/controllers/background_session_controller.dart similarity index 100% rename from packages/sshnp_gui/lib/src/controllers/background_session_controller.dart rename to packages/dart/sshnp_gui/lib/src/controllers/background_session_controller.dart diff --git a/packages/sshnp_gui/lib/src/controllers/config_controller.dart b/packages/dart/sshnp_gui/lib/src/controllers/config_controller.dart similarity index 100% rename from packages/sshnp_gui/lib/src/controllers/config_controller.dart rename to packages/dart/sshnp_gui/lib/src/controllers/config_controller.dart diff --git a/packages/sshnp_gui/lib/src/controllers/navigation_controller.dart b/packages/dart/sshnp_gui/lib/src/controllers/navigation_controller.dart similarity index 100% rename from packages/sshnp_gui/lib/src/controllers/navigation_controller.dart rename to packages/dart/sshnp_gui/lib/src/controllers/navigation_controller.dart diff --git a/packages/sshnp_gui/lib/src/controllers/navigation_rail_controller.dart b/packages/dart/sshnp_gui/lib/src/controllers/navigation_rail_controller.dart similarity index 100% rename from packages/sshnp_gui/lib/src/controllers/navigation_rail_controller.dart rename to packages/dart/sshnp_gui/lib/src/controllers/navigation_rail_controller.dart diff --git a/packages/sshnp_gui/lib/src/controllers/terminal_session_controller.dart b/packages/dart/sshnp_gui/lib/src/controllers/terminal_session_controller.dart similarity index 100% rename from packages/sshnp_gui/lib/src/controllers/terminal_session_controller.dart rename to packages/dart/sshnp_gui/lib/src/controllers/terminal_session_controller.dart diff --git a/packages/sshnp_gui/lib/src/presentation/screens/home_screen.dart b/packages/dart/sshnp_gui/lib/src/presentation/screens/home_screen.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/screens/home_screen.dart rename to packages/dart/sshnp_gui/lib/src/presentation/screens/home_screen.dart diff --git a/packages/sshnp_gui/lib/src/presentation/screens/onboarding_screen.dart b/packages/dart/sshnp_gui/lib/src/presentation/screens/onboarding_screen.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/screens/onboarding_screen.dart rename to packages/dart/sshnp_gui/lib/src/presentation/screens/onboarding_screen.dart diff --git a/packages/sshnp_gui/lib/src/presentation/screens/profile_editor_screen.dart b/packages/dart/sshnp_gui/lib/src/presentation/screens/profile_editor_screen.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/screens/profile_editor_screen.dart rename to packages/dart/sshnp_gui/lib/src/presentation/screens/profile_editor_screen.dart diff --git a/packages/sshnp_gui/lib/src/presentation/screens/settings_screen.dart b/packages/dart/sshnp_gui/lib/src/presentation/screens/settings_screen.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/screens/settings_screen.dart rename to packages/dart/sshnp_gui/lib/src/presentation/screens/settings_screen.dart diff --git a/packages/sshnp_gui/lib/src/presentation/screens/terminal_screen.dart b/packages/dart/sshnp_gui/lib/src/presentation/screens/terminal_screen.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/screens/terminal_screen.dart rename to packages/dart/sshnp_gui/lib/src/presentation/screens/terminal_screen.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_action_callbacks.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_action_callbacks.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_action_callbacks.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_action_callbacks.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_actions.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_actions.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_actions.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_actions.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_import_dialog.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_import_dialog.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_import_dialog.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_import_dialog.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_menu_button.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_menu_button.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_menu_button.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/home_screen_menu_button.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/new_profile_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/new_profile_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/new_profile_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/home_screen_actions/new_profile_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/navigation/app_navigation_rail.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/navigation/app_navigation_rail.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/navigation/app_navigation_rail.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/navigation/app_navigation_rail.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_button.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_button.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_button.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_button.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_callbacks.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_callbacks.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_callbacks.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_action_callbacks.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_actions.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_actions.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_actions.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_actions.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_dialog.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_dialog.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_dialog.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_delete_dialog.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_menu_button.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_menu_button.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_menu_button.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_menu_button.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_run_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_run_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_run_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_run_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_terminal_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_terminal_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_terminal_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_actions/profile_terminal_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_actions.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_actions.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_actions.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_actions.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_stats.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_stats.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_stats.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_bar/profile_bar_stats.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_form/custom_text_form_field.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_form/custom_text_form_field.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_form/custom_text_form_field.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_form/custom_text_form_field.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/profile_form/profile_form.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_form/profile_form.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/profile_form/profile_form.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/profile_form/profile_form.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_action_button.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_action_button.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_action_button.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_action_button.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_actions.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_actions.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_actions.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_actions.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_backup_keys_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_backup_keys_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_backup_keys_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_backup_keys_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_contact_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_contact_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_contact_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_contact_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_faq_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_faq_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_faq_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_faq_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_privacy_policy_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_privacy_policy_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_privacy_policy_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_privacy_policy_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_reset_app_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_reset_app_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_reset_app_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_reset_app_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_switch_atsign_action.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_switch_atsign_action.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_switch_atsign_action.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/settings_actions/settings_switch_atsign_action.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/utility/at_error_dialog.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/utility/at_error_dialog.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/utility/at_error_dialog.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/utility/at_error_dialog.dart diff --git a/packages/sshnp_gui/lib/src/presentation/widgets/utility/custom_snack_bar.dart b/packages/dart/sshnp_gui/lib/src/presentation/widgets/utility/custom_snack_bar.dart similarity index 100% rename from packages/sshnp_gui/lib/src/presentation/widgets/utility/custom_snack_bar.dart rename to packages/dart/sshnp_gui/lib/src/presentation/widgets/utility/custom_snack_bar.dart diff --git a/packages/sshnp_gui/lib/src/repository/authentication_repository.dart b/packages/dart/sshnp_gui/lib/src/repository/authentication_repository.dart similarity index 100% rename from packages/sshnp_gui/lib/src/repository/authentication_repository.dart rename to packages/dart/sshnp_gui/lib/src/repository/authentication_repository.dart diff --git a/packages/sshnp_gui/lib/src/repository/navigation_repository.dart b/packages/dart/sshnp_gui/lib/src/repository/navigation_repository.dart similarity index 100% rename from packages/sshnp_gui/lib/src/repository/navigation_repository.dart rename to packages/dart/sshnp_gui/lib/src/repository/navigation_repository.dart diff --git a/packages/sshnp_gui/lib/src/utility/app_theme.dart b/packages/dart/sshnp_gui/lib/src/utility/app_theme.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/app_theme.dart rename to packages/dart/sshnp_gui/lib/src/utility/app_theme.dart diff --git a/packages/sshnp_gui/lib/src/utility/constants.dart b/packages/dart/sshnp_gui/lib/src/utility/constants.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/constants.dart rename to packages/dart/sshnp_gui/lib/src/utility/constants.dart diff --git a/packages/sshnp_gui/lib/src/utility/form_validator.dart b/packages/dart/sshnp_gui/lib/src/utility/form_validator.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/form_validator.dart rename to packages/dart/sshnp_gui/lib/src/utility/form_validator.dart diff --git a/packages/sshnp_gui/lib/src/utility/platform_utility/default_platform_utility.dart b/packages/dart/sshnp_gui/lib/src/utility/platform_utility/default_platform_utility.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/platform_utility/default_platform_utility.dart rename to packages/dart/sshnp_gui/lib/src/utility/platform_utility/default_platform_utility.dart diff --git a/packages/sshnp_gui/lib/src/utility/platform_utility/macos_utility.dart b/packages/dart/sshnp_gui/lib/src/utility/platform_utility/macos_utility.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/platform_utility/macos_utility.dart rename to packages/dart/sshnp_gui/lib/src/utility/platform_utility/macos_utility.dart diff --git a/packages/sshnp_gui/lib/src/utility/platform_utility/platform_utililty.dart b/packages/dart/sshnp_gui/lib/src/utility/platform_utility/platform_utililty.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/platform_utility/platform_utililty.dart rename to packages/dart/sshnp_gui/lib/src/utility/platform_utility/platform_utililty.dart diff --git a/packages/sshnp_gui/lib/src/utility/sizes.dart b/packages/dart/sshnp_gui/lib/src/utility/sizes.dart similarity index 100% rename from packages/sshnp_gui/lib/src/utility/sizes.dart rename to packages/dart/sshnp_gui/lib/src/utility/sizes.dart diff --git a/packages/sshnp_gui/linux/.gitignore b/packages/dart/sshnp_gui/linux/.gitignore similarity index 100% rename from packages/sshnp_gui/linux/.gitignore rename to packages/dart/sshnp_gui/linux/.gitignore diff --git a/packages/sshnp_gui/linux/CMakeLists.txt b/packages/dart/sshnp_gui/linux/CMakeLists.txt similarity index 100% rename from packages/sshnp_gui/linux/CMakeLists.txt rename to packages/dart/sshnp_gui/linux/CMakeLists.txt diff --git a/packages/sshnp_gui/linux/flutter/CMakeLists.txt b/packages/dart/sshnp_gui/linux/flutter/CMakeLists.txt similarity index 100% rename from packages/sshnp_gui/linux/flutter/CMakeLists.txt rename to packages/dart/sshnp_gui/linux/flutter/CMakeLists.txt diff --git a/packages/sshnp_gui/linux/flutter/generated_plugin_registrant.cc b/packages/dart/sshnp_gui/linux/flutter/generated_plugin_registrant.cc similarity index 100% rename from packages/sshnp_gui/linux/flutter/generated_plugin_registrant.cc rename to packages/dart/sshnp_gui/linux/flutter/generated_plugin_registrant.cc diff --git a/packages/sshnp_gui/linux/flutter/generated_plugin_registrant.h b/packages/dart/sshnp_gui/linux/flutter/generated_plugin_registrant.h similarity index 100% rename from packages/sshnp_gui/linux/flutter/generated_plugin_registrant.h rename to packages/dart/sshnp_gui/linux/flutter/generated_plugin_registrant.h diff --git a/packages/sshnp_gui/linux/flutter/generated_plugins.cmake b/packages/dart/sshnp_gui/linux/flutter/generated_plugins.cmake similarity index 100% rename from packages/sshnp_gui/linux/flutter/generated_plugins.cmake rename to packages/dart/sshnp_gui/linux/flutter/generated_plugins.cmake diff --git a/packages/sshnp_gui/linux/main.cc b/packages/dart/sshnp_gui/linux/main.cc similarity index 100% rename from packages/sshnp_gui/linux/main.cc rename to packages/dart/sshnp_gui/linux/main.cc diff --git a/packages/sshnp_gui/linux/my_application.cc b/packages/dart/sshnp_gui/linux/my_application.cc similarity index 100% rename from packages/sshnp_gui/linux/my_application.cc rename to packages/dart/sshnp_gui/linux/my_application.cc diff --git a/packages/sshnp_gui/linux/my_application.h b/packages/dart/sshnp_gui/linux/my_application.h similarity index 100% rename from packages/sshnp_gui/linux/my_application.h rename to packages/dart/sshnp_gui/linux/my_application.h diff --git a/packages/sshnp_gui/macos/.gitignore b/packages/dart/sshnp_gui/macos/.gitignore similarity index 100% rename from packages/sshnp_gui/macos/.gitignore rename to packages/dart/sshnp_gui/macos/.gitignore diff --git a/packages/sshnp_gui/macos/Flutter/Flutter-Debug.xcconfig b/packages/dart/sshnp_gui/macos/Flutter/Flutter-Debug.xcconfig similarity index 100% rename from packages/sshnp_gui/macos/Flutter/Flutter-Debug.xcconfig rename to packages/dart/sshnp_gui/macos/Flutter/Flutter-Debug.xcconfig diff --git a/packages/sshnp_gui/macos/Flutter/Flutter-Release.xcconfig b/packages/dart/sshnp_gui/macos/Flutter/Flutter-Release.xcconfig similarity index 100% rename from packages/sshnp_gui/macos/Flutter/Flutter-Release.xcconfig rename to packages/dart/sshnp_gui/macos/Flutter/Flutter-Release.xcconfig diff --git a/packages/sshnp_gui/macos/Flutter/GeneratedPluginRegistrant.swift b/packages/dart/sshnp_gui/macos/Flutter/GeneratedPluginRegistrant.swift similarity index 100% rename from packages/sshnp_gui/macos/Flutter/GeneratedPluginRegistrant.swift rename to packages/dart/sshnp_gui/macos/Flutter/GeneratedPluginRegistrant.swift diff --git a/packages/sshnp_gui/macos/Podfile b/packages/dart/sshnp_gui/macos/Podfile similarity index 100% rename from packages/sshnp_gui/macos/Podfile rename to packages/dart/sshnp_gui/macos/Podfile diff --git a/packages/sshnp_gui/macos/Podfile.lock b/packages/dart/sshnp_gui/macos/Podfile.lock similarity index 100% rename from packages/sshnp_gui/macos/Podfile.lock rename to packages/dart/sshnp_gui/macos/Podfile.lock diff --git a/packages/sshnp_gui/macos/Runner.xcodeproj/project.pbxproj b/packages/dart/sshnp_gui/macos/Runner.xcodeproj/project.pbxproj similarity index 100% rename from packages/sshnp_gui/macos/Runner.xcodeproj/project.pbxproj rename to packages/dart/sshnp_gui/macos/Runner.xcodeproj/project.pbxproj diff --git a/packages/sshnp_gui/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/dart/sshnp_gui/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/sshnp_gui/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/dart/sshnp_gui/macos/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/sshnp_gui/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme b/packages/dart/sshnp_gui/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme similarity index 100% rename from packages/sshnp_gui/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme rename to packages/dart/sshnp_gui/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme diff --git a/packages/sshnp_gui/macos/Runner.xcworkspace/contents.xcworkspacedata b/packages/dart/sshnp_gui/macos/Runner.xcworkspace/contents.xcworkspacedata similarity index 100% rename from packages/sshnp_gui/macos/Runner.xcworkspace/contents.xcworkspacedata rename to packages/dart/sshnp_gui/macos/Runner.xcworkspace/contents.xcworkspacedata diff --git a/packages/sshnp_gui/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/packages/dart/sshnp_gui/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from packages/sshnp_gui/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to packages/dart/sshnp_gui/macos/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/packages/sshnp_gui/macos/Runner/AppDelegate.swift b/packages/dart/sshnp_gui/macos/Runner/AppDelegate.swift similarity index 100% rename from packages/sshnp_gui/macos/Runner/AppDelegate.swift rename to packages/dart/sshnp_gui/macos/Runner/AppDelegate.swift diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/Contents.json diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_1024.png diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_128.png diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_16.png diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_256.png diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_32.png diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_512.png diff --git a/packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png b/packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png similarity index 100% rename from packages/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png rename to packages/dart/sshnp_gui/macos/Runner/Assets.xcassets/AppIcon.appiconset/app_icon_64.png diff --git a/packages/sshnp_gui/macos/Runner/Base.lproj/MainMenu.xib b/packages/dart/sshnp_gui/macos/Runner/Base.lproj/MainMenu.xib similarity index 100% rename from packages/sshnp_gui/macos/Runner/Base.lproj/MainMenu.xib rename to packages/dart/sshnp_gui/macos/Runner/Base.lproj/MainMenu.xib diff --git a/packages/sshnp_gui/macos/Runner/Configs/AppInfo.xcconfig b/packages/dart/sshnp_gui/macos/Runner/Configs/AppInfo.xcconfig similarity index 100% rename from packages/sshnp_gui/macos/Runner/Configs/AppInfo.xcconfig rename to packages/dart/sshnp_gui/macos/Runner/Configs/AppInfo.xcconfig diff --git a/packages/sshnp_gui/macos/Runner/Configs/Debug.xcconfig b/packages/dart/sshnp_gui/macos/Runner/Configs/Debug.xcconfig similarity index 100% rename from packages/sshnp_gui/macos/Runner/Configs/Debug.xcconfig rename to packages/dart/sshnp_gui/macos/Runner/Configs/Debug.xcconfig diff --git a/packages/sshnp_gui/macos/Runner/Configs/Release.xcconfig b/packages/dart/sshnp_gui/macos/Runner/Configs/Release.xcconfig similarity index 100% rename from packages/sshnp_gui/macos/Runner/Configs/Release.xcconfig rename to packages/dart/sshnp_gui/macos/Runner/Configs/Release.xcconfig diff --git a/packages/sshnp_gui/macos/Runner/Configs/Warnings.xcconfig b/packages/dart/sshnp_gui/macos/Runner/Configs/Warnings.xcconfig similarity index 100% rename from packages/sshnp_gui/macos/Runner/Configs/Warnings.xcconfig rename to packages/dart/sshnp_gui/macos/Runner/Configs/Warnings.xcconfig diff --git a/packages/sshnp_gui/macos/Runner/DebugProfile.entitlements b/packages/dart/sshnp_gui/macos/Runner/DebugProfile.entitlements similarity index 100% rename from packages/sshnp_gui/macos/Runner/DebugProfile.entitlements rename to packages/dart/sshnp_gui/macos/Runner/DebugProfile.entitlements diff --git a/packages/sshnp_gui/macos/Runner/Info.plist b/packages/dart/sshnp_gui/macos/Runner/Info.plist similarity index 100% rename from packages/sshnp_gui/macos/Runner/Info.plist rename to packages/dart/sshnp_gui/macos/Runner/Info.plist diff --git a/packages/sshnp_gui/macos/Runner/MainFlutterWindow.swift b/packages/dart/sshnp_gui/macos/Runner/MainFlutterWindow.swift similarity index 100% rename from packages/sshnp_gui/macos/Runner/MainFlutterWindow.swift rename to packages/dart/sshnp_gui/macos/Runner/MainFlutterWindow.swift diff --git a/packages/sshnp_gui/macos/Runner/Release.entitlements b/packages/dart/sshnp_gui/macos/Runner/Release.entitlements similarity index 100% rename from packages/sshnp_gui/macos/Runner/Release.entitlements rename to packages/dart/sshnp_gui/macos/Runner/Release.entitlements diff --git a/packages/sshnp_gui/macos/RunnerTests/RunnerTests.swift b/packages/dart/sshnp_gui/macos/RunnerTests/RunnerTests.swift similarity index 100% rename from packages/sshnp_gui/macos/RunnerTests/RunnerTests.swift rename to packages/dart/sshnp_gui/macos/RunnerTests/RunnerTests.swift diff --git a/packages/sshnp_gui/pubspec.lock b/packages/dart/sshnp_gui/pubspec.lock similarity index 100% rename from packages/sshnp_gui/pubspec.lock rename to packages/dart/sshnp_gui/pubspec.lock diff --git a/packages/sshnp_gui/pubspec.yaml b/packages/dart/sshnp_gui/pubspec.yaml similarity index 100% rename from packages/sshnp_gui/pubspec.yaml rename to packages/dart/sshnp_gui/pubspec.yaml diff --git a/packages/sshnp_gui/test/widget_test.dart b/packages/dart/sshnp_gui/test/widget_test.dart similarity index 100% rename from packages/sshnp_gui/test/widget_test.dart rename to packages/dart/sshnp_gui/test/widget_test.dart diff --git a/packages/sshnp_gui/windows/.gitignore b/packages/dart/sshnp_gui/windows/.gitignore similarity index 100% rename from packages/sshnp_gui/windows/.gitignore rename to packages/dart/sshnp_gui/windows/.gitignore diff --git a/packages/sshnp_gui/windows/CMakeLists.txt b/packages/dart/sshnp_gui/windows/CMakeLists.txt similarity index 100% rename from packages/sshnp_gui/windows/CMakeLists.txt rename to packages/dart/sshnp_gui/windows/CMakeLists.txt diff --git a/packages/sshnp_gui/windows/flutter/CMakeLists.txt b/packages/dart/sshnp_gui/windows/flutter/CMakeLists.txt similarity index 100% rename from packages/sshnp_gui/windows/flutter/CMakeLists.txt rename to packages/dart/sshnp_gui/windows/flutter/CMakeLists.txt diff --git a/packages/sshnp_gui/windows/flutter/generated_plugin_registrant.cc b/packages/dart/sshnp_gui/windows/flutter/generated_plugin_registrant.cc similarity index 100% rename from packages/sshnp_gui/windows/flutter/generated_plugin_registrant.cc rename to packages/dart/sshnp_gui/windows/flutter/generated_plugin_registrant.cc diff --git a/packages/sshnp_gui/windows/flutter/generated_plugin_registrant.h b/packages/dart/sshnp_gui/windows/flutter/generated_plugin_registrant.h similarity index 100% rename from packages/sshnp_gui/windows/flutter/generated_plugin_registrant.h rename to packages/dart/sshnp_gui/windows/flutter/generated_plugin_registrant.h diff --git a/packages/sshnp_gui/windows/flutter/generated_plugins.cmake b/packages/dart/sshnp_gui/windows/flutter/generated_plugins.cmake similarity index 100% rename from packages/sshnp_gui/windows/flutter/generated_plugins.cmake rename to packages/dart/sshnp_gui/windows/flutter/generated_plugins.cmake diff --git a/packages/sshnp_gui/windows/runner/CMakeLists.txt b/packages/dart/sshnp_gui/windows/runner/CMakeLists.txt similarity index 100% rename from packages/sshnp_gui/windows/runner/CMakeLists.txt rename to packages/dart/sshnp_gui/windows/runner/CMakeLists.txt diff --git a/packages/sshnp_gui/windows/runner/Runner.rc b/packages/dart/sshnp_gui/windows/runner/Runner.rc similarity index 100% rename from packages/sshnp_gui/windows/runner/Runner.rc rename to packages/dart/sshnp_gui/windows/runner/Runner.rc diff --git a/packages/sshnp_gui/windows/runner/flutter_window.cpp b/packages/dart/sshnp_gui/windows/runner/flutter_window.cpp similarity index 100% rename from packages/sshnp_gui/windows/runner/flutter_window.cpp rename to packages/dart/sshnp_gui/windows/runner/flutter_window.cpp diff --git a/packages/sshnp_gui/windows/runner/flutter_window.h b/packages/dart/sshnp_gui/windows/runner/flutter_window.h similarity index 100% rename from packages/sshnp_gui/windows/runner/flutter_window.h rename to packages/dart/sshnp_gui/windows/runner/flutter_window.h diff --git a/packages/sshnp_gui/windows/runner/main.cpp b/packages/dart/sshnp_gui/windows/runner/main.cpp similarity index 100% rename from packages/sshnp_gui/windows/runner/main.cpp rename to packages/dart/sshnp_gui/windows/runner/main.cpp diff --git a/packages/sshnp_gui/windows/runner/resource.h b/packages/dart/sshnp_gui/windows/runner/resource.h similarity index 100% rename from packages/sshnp_gui/windows/runner/resource.h rename to packages/dart/sshnp_gui/windows/runner/resource.h diff --git a/packages/sshnp_gui/windows/runner/resources/app_icon.ico b/packages/dart/sshnp_gui/windows/runner/resources/app_icon.ico similarity index 100% rename from packages/sshnp_gui/windows/runner/resources/app_icon.ico rename to packages/dart/sshnp_gui/windows/runner/resources/app_icon.ico diff --git a/packages/sshnp_gui/windows/runner/runner.exe.manifest b/packages/dart/sshnp_gui/windows/runner/runner.exe.manifest similarity index 100% rename from packages/sshnp_gui/windows/runner/runner.exe.manifest rename to packages/dart/sshnp_gui/windows/runner/runner.exe.manifest diff --git a/packages/sshnp_gui/windows/runner/utils.cpp b/packages/dart/sshnp_gui/windows/runner/utils.cpp similarity index 100% rename from packages/sshnp_gui/windows/runner/utils.cpp rename to packages/dart/sshnp_gui/windows/runner/utils.cpp diff --git a/packages/sshnp_gui/windows/runner/utils.h b/packages/dart/sshnp_gui/windows/runner/utils.h similarity index 100% rename from packages/sshnp_gui/windows/runner/utils.h rename to packages/dart/sshnp_gui/windows/runner/utils.h diff --git a/packages/sshnp_gui/windows/runner/win32_window.cpp b/packages/dart/sshnp_gui/windows/runner/win32_window.cpp similarity index 100% rename from packages/sshnp_gui/windows/runner/win32_window.cpp rename to packages/dart/sshnp_gui/windows/runner/win32_window.cpp diff --git a/packages/sshnp_gui/windows/runner/win32_window.h b/packages/dart/sshnp_gui/windows/runner/win32_window.h similarity index 100% rename from packages/sshnp_gui/windows/runner/win32_window.h rename to packages/dart/sshnp_gui/windows/runner/win32_window.h diff --git a/packages/sshnp_gui/.env b/packages/sshnp_gui/.env deleted file mode 100644 index e69de29bb..000000000 From 1e72455182bd532ef0cc5888b9ed40b73ef429ef Mon Sep 17 00:00:00 2001 From: xavierchanth Date: Thu, 4 Jan 2024 14:38:30 +0800 Subject: [PATCH 3/6] chore: rename all path references --- .github/composite/verify_cli_tags/action.yaml | 2 +- .github/dependabot.yml | 6 +++--- .github/workflows/dockerhub_sshnpd.yml | 4 ++-- .github/workflows/multibuild.yaml | 8 ++++---- .github/workflows/unit_tests.yaml | 6 +++--- .vscode/launch.json | 2 +- README.md | 2 +- melos.yaml | 6 +++--- packages/dart/noports_core/README.md | 4 ++-- packages/dart/sshnoports/tools/Dockerfile | 4 ++-- packages/dart/sshnoports/tools/Dockerfile.activate | 2 +- .../sshnoports/tools/docker-compose.local.yaml | 4 ++-- scripts/install_sshnp | 14 +++++++------- scripts/install_sshnpd | 14 +++++++------- tests/end2end_tests/image/Dockerfile | 4 ++-- tools/package-macos-arm64.sh | 2 +- 16 files changed, 42 insertions(+), 42 deletions(-) diff --git a/.github/composite/verify_cli_tags/action.yaml b/.github/composite/verify_cli_tags/action.yaml index cd68a4aed..6920fefed 100644 --- a/.github/composite/verify_cli_tags/action.yaml +++ b/.github/composite/verify_cli_tags/action.yaml @@ -8,7 +8,7 @@ runs: - name: Ensure pubspec.yaml matches git ref (if current git ref is a version tag) shell: bash if: startsWith(github.ref, 'refs/tags/v') - working-directory: ./packages/sshnoports + working-directory: ./packages/dart/sshnoports run: | REF=${{ github.ref }} TAG=${REF:10} diff --git a/.github/dependabot.yml b/.github/dependabot.yml index eb5e07246..ec56a1a0b 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -7,7 +7,7 @@ updates: schedule: interval: "daily" - package-ecosystem: "docker" - directory: "/packages/sshnoports/tools/" + directory: "/packages/dart/sshnoports/tools/" schedule: interval: "daily" - package-ecosystem: "docker" @@ -15,11 +15,11 @@ updates: schedule: interval: "daily" - package-ecosystem: "pub" - directory: "/packages/sshnoports/" + directory: "/packages/dart/sshnoports/" schedule: interval: "daily" - package-ecosystem: "pub" - directory: "/packages/sshnp_gui/" + directory: "/packages/dart/sshnp_gui/" schedule: interval: "daily" - package-ecosystem: "pip" diff --git a/.github/workflows/dockerhub_sshnpd.yml b/.github/workflows/dockerhub_sshnpd.yml index 90c32e247..da3a4f6cd 100644 --- a/.github/workflows/dockerhub_sshnpd.yml +++ b/.github/workflows/dockerhub_sshnpd.yml @@ -15,9 +15,9 @@ jobs: matrix: include: - name: sshnpd - dockerfile: ./packages/sshnoports/tools/Dockerfile + dockerfile: ./packages/dart/sshnoports/tools/Dockerfile - name: activate_sshnpd - dockerfile: ./packages/sshnoports/tools/Dockerfile.activate + dockerfile: ./packages/dart/sshnoports/tools/Dockerfile.activate runs-on: ubuntu-latest steps: - name: Checkout diff --git a/.github/workflows/multibuild.yaml b/.github/workflows/multibuild.yaml index bc66fe75d..084f58d28 100644 --- a/.github/workflows/multibuild.yaml +++ b/.github/workflows/multibuild.yaml @@ -23,7 +23,7 @@ jobs: runs-on: ${{ matrix.os }} defaults: run: - working-directory: ./packages/sshnoports + working-directory: ./packages/dart/sshnoports strategy: matrix: os: [ubuntu-latest, macOS-latest, windows-latest] @@ -67,7 +67,7 @@ jobs: - uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0 with: name: x64_binaries - path: ./packages/sshnoports/tarball/${{ matrix.output-name }}.tgz + path: ./packages/dart/sshnoports/tarball/${{ matrix.output-name }}.tgz if-no-files-found: error other_build: @@ -76,7 +76,7 @@ jobs: runs-on: ubuntu-latest defaults: run: - working-directory: ./packages/sshnoports + working-directory: ./packages/dart/sshnoports strategy: matrix: platform: [linux/arm/v7, linux/arm64, linux/riscv64] @@ -99,7 +99,7 @@ jobs: - uses: actions/upload-artifact@c7d193f32edcb7bfad88892161225aeda64e9392 # v4.0.0 with: name: other_binaries - path: ./packages/sshnoports/tarballs/${{ matrix.output-name }}.tgz + path: ./packages/dart/sshnoports/tarballs/${{ matrix.output-name }}.tgz if-no-files-found: error notify_on_completion: diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index adee3f249..ac60a1cf4 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -29,13 +29,13 @@ jobs: go-version: 'stable' cache-dependency-path: tools/osv-scanner/go.sum - name: dart pub get - working-directory: packages/noports_core + working-directory: packages/dart/noports_core run: dart pub get - name: dart analyze - working-directory: packages/noports_core + working-directory: packages/dart/noports_core run: dart analyze - name: dart test - working-directory: packages/noports_core + working-directory: packages/dart/noports_core run: dart test # Runs osv-scanner to find any vulnerable Dart dependencies # It needs to look at pubspec.lock files, which is why it's diff --git a/.vscode/launch.json b/.vscode/launch.json index 4048d5ac5..50f9c6764 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -18,7 +18,7 @@ "type": "python", "request": "launch", "cwd": "", - "program": "packages/sshnpdpy/sshnpd.py", + "program": "packages/python/sshnpdpy/sshnpd.py", "console": "integratedTerminal", "justMyCode": true, "envFile": "${workspaceFolder}/.env", diff --git a/README.md b/README.md index b888ca400..92435b3ea 100644 --- a/README.md +++ b/README.md @@ -7,5 +7,5 @@ # noports This repo contains the open source code of the Atsign's No Ports suite. Check out our product site at [noports.com](https://noports.com). -* [sshnoports](./packages/sshnoports) provides a way to ssh to a remote linux host/device without that +* [sshnoports](./packages/dart/sshnoports) provides a way to ssh to a remote linux host/device without that device or the client having any open ports (not even 22) on external interfaces. diff --git a/melos.yaml b/melos.yaml index 2edcc4923..ea126d10b 100644 --- a/melos.yaml +++ b/melos.yaml @@ -1,9 +1,9 @@ name: sshnoports packages: - - packages/noports_core - - packages/sshnoports - - packages/sshnp_gui + - packages/dart/noports_core + - packages/dart/sshnoports + - packages/dart/sshnp_gui command: bootstrap: diff --git a/packages/dart/noports_core/README.md b/packages/dart/noports_core/README.md index 04375e9d4..cac9be96a 100644 --- a/packages/dart/noports_core/README.md +++ b/packages/dart/noports_core/README.md @@ -11,11 +11,11 @@ No Ports Core is the underlying library used to enable sshnoports and the rest o ### CLI Example -See the [sshnoports](https://github.com/atsign-foundation/sshnoports/tree/trunk/packages/sshnoports) project. +See the [sshnoports](https://github.com/atsign-foundation/sshnoports/tree/trunk/packages/dart/sshnoports) project. ### Flutter Example -See the [sshnp_gui](https://github.com/atsign-foundation/sshnoports/tree/trunk/packages/sshnp_gui) project. +See the [sshnp_gui](https://github.com/atsign-foundation/sshnoports/tree/trunk/packages/dart/sshnp_gui) project. ## Maintainers diff --git a/packages/dart/sshnoports/tools/Dockerfile b/packages/dart/sshnoports/tools/Dockerfile index 014b627cf..08abb4e7c 100644 --- a/packages/dart/sshnoports/tools/Dockerfile +++ b/packages/dart/sshnoports/tools/Dockerfile @@ -2,7 +2,7 @@ # Build image for a containerized instance of sshnpd FROM dart:3.2.4@sha256:a310da69472710ceaa8015add37ef99d16d9ec51e9b67f87fe3b11a7e9596a50 AS buildimage -ENV PACKAGEDIR=packages/sshnoports +ENV PACKAGEDIR=packages/dart/sshnoports ENV BINARYDIR=/usr/local/at SHELL ["/bin/bash", "-c"] WORKDIR /app @@ -24,7 +24,7 @@ ENV BINARYDIR=/usr/local/at ENV USER_ID=1024 ENV GROUP_ID=1024 -COPY --from=buildimage /app/packages/sshnoports/bundles/core/docker/.startup.sh ${HOMEDIR}/ +COPY --from=buildimage /app/packages/dart/sshnoports/bundles/core/docker/.startup.sh ${HOMEDIR}/ RUN \ set -eux ; \ apt-get update ; \ diff --git a/packages/dart/sshnoports/tools/Dockerfile.activate b/packages/dart/sshnoports/tools/Dockerfile.activate index 5a473412c..55463bc0c 100644 --- a/packages/dart/sshnoports/tools/Dockerfile.activate +++ b/packages/dart/sshnoports/tools/Dockerfile.activate @@ -1,7 +1,7 @@ # Dockerfile.activate # Build image for a containerized call of the at_activate binary FROM dart:3.2.4@sha256:a310da69472710ceaa8015add37ef99d16d9ec51e9b67f87fe3b11a7e9596a50 AS buildimage -ENV PACKAGEDIR=packages/sshnoports +ENV PACKAGEDIR=packages/dart/sshnoports ENV BINARYDIR=/usr/local/at SHELL ["/bin/bash", "-c"] WORKDIR /app diff --git a/packages/dart/sshnoports/tools/docker-compose.local.yaml b/packages/dart/sshnoports/tools/docker-compose.local.yaml index a695e2619..62c675867 100644 --- a/packages/dart/sshnoports/tools/docker-compose.local.yaml +++ b/packages/dart/sshnoports/tools/docker-compose.local.yaml @@ -3,14 +3,14 @@ services: activate: build: context: ../../../ # root of the repo - dockerfile: ./packages/sshnoports/tools/Dockerfile.activate + dockerfile: ./packages/dart/sshnoports/tools/Dockerfile.activate volumes: - ${HOME}/.atsign/keys:/atsign/.atsign/keys command: -a "${TO}" -c "${TO_CRAM}" sshnpd: build: context: ../../../ # root of the repo - dockerfile: ./packages/sshnoports/tools/Dockerfile + dockerfile: ./packages/dart/sshnoports/tools/Dockerfile volumes: - ${HOME}/.atsign/keys:/atsign/.atsign/keys command: -a "${TO}" -m "${FROM}" -d "${DEVICE}" -s -u -v diff --git a/scripts/install_sshnp b/scripts/install_sshnp index 514301879..f063d89dd 100755 --- a/scripts/install_sshnp +++ b/scripts/install_sshnp @@ -291,15 +291,15 @@ build_dart_binaries() { echo "DEV MODE: Installing from local repo: $SSHNP_DEV_MODE"; mkdir -p "$HOME_PATH/.atsign/temp/$BINARY_NAME/templates/" - cp -R "$SSHNP_DEV_MODE"/packages/sshnoports/templates/* "$HOME_PATH/.atsign/temp/$BINARY_NAME/templates/"; + cp -R "$SSHNP_DEV_MODE"/packages/dart/sshnoports/templates/* "$HOME_PATH/.atsign/temp/$BINARY_NAME/templates/"; - dart pub get -C "$SSHNP_DEV_MODE/packages/sshnoports" + dart pub get -C "$SSHNP_DEV_MODE/packages/dart/sshnoports" - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshnp.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshnp"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshnpd.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshnpd"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshrv.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshrv"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshrvd.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshrvd"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/activate_cli.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/at_activate"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshnp.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshnp"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshnpd.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshnpd"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshrv.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshrv"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshrvd.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/sshrvd"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/activate_cli.dart" -o "$HOME_PATH/.atsign/temp/$BINARY_NAME/at_activate"; } # Make a copy of the locally provided archive diff --git a/scripts/install_sshnpd b/scripts/install_sshnpd index bfc40ceff..f3cde0e88 100755 --- a/scripts/install_sshnpd +++ b/scripts/install_sshnpd @@ -363,15 +363,15 @@ build_dart_binaries() { echo "DEV MODE: Installing from local repo: $SSHNP_DEV_MODE"; mkdir -p "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/templates/" - cp -R "$SSHNP_DEV_MODE"/packages/sshnoports/templates/* "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/templates/"; + cp -R "$SSHNP_DEV_MODE"/packages/dart/sshnoports/templates/* "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/templates/"; - dart pub get -C "$SSHNP_DEV_MODE/packages/sshnoports" + dart pub get -C "$SSHNP_DEV_MODE/packages/dart/sshnoports" - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshnp.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshnp"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshnpd.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshnpd"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshrv.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshrv"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/sshrvd.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshrvd"; - dart compile exe "$SSHNP_DEV_MODE/packages/sshnoports/bin/activate_cli.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/at_activate"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshnp.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshnp"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshnpd.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshnpd"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshrv.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshrv"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/sshrvd.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/sshrvd"; + dart compile exe "$SSHNP_DEV_MODE/packages/dart/sshnoports/bin/activate_cli.dart" -o "$HOME_PATH/.atsign/temp/$TEMP_PATH/$BINARY_NAME/at_activate"; } # Make a copy of the locally provided archive diff --git a/tests/end2end_tests/image/Dockerfile b/tests/end2end_tests/image/Dockerfile index 40b892cd6..15e56764b 100644 --- a/tests/end2end_tests/image/Dockerfile +++ b/tests/end2end_tests/image/Dockerfile @@ -30,7 +30,7 @@ FROM dart:3.2.4@sha256:a310da69472710ceaa8015add37ef99d16d9ec51e9b67f87fe3b11a7e ENV URL=https://github.com/atsign-foundation/sshnoports.git ENV REPO_DIR=/app/repo -ENV PACKAGE_DIR=${REPO_DIR}/packages/sshnoports +ENV PACKAGE_DIR=${REPO_DIR}/packages/dart/sshnoports ENV OUTPUT_DIR=/app/output ARG branch=trunk @@ -68,7 +68,7 @@ ENTRYPOINT cp -r /mount/. ${HOMEDIR} && sudo service ssh start && sh ${HOMEDIR}/ FROM dart:3.2.4@sha256:a310da69472710ceaa8015add37ef99d16d9ec51e9b67f87fe3b11a7e9596a50 AS build-local ENV REPO_DIR=/app/repo -ENV PACKAGE_DIR=${REPO_DIR}/packages/sshnoports +ENV PACKAGE_DIR=${REPO_DIR}/packages/dart/sshnoports ENV OUTPUT_DIR=/app/output RUN mkdir -p ${REPO_DIR} ${OUTPUT_DIR} ; diff --git a/tools/package-macos-arm64.sh b/tools/package-macos-arm64.sh index d16aea318..ba0591ab4 100755 --- a/tools/package-macos-arm64.sh +++ b/tools/package-macos-arm64.sh @@ -8,7 +8,7 @@ FULL_PATH_TO_SCRIPT="$(realpath "${BASH_SOURCE[0]}")" SCRIPT_DIRECTORY="$(dirname "$FULL_PATH_TO_SCRIPT")" ROOT_DIRECTORY="$SCRIPT_DIRECTORY/.." -SRC_DIR="$ROOT_DIRECTORY/packages/sshnoports" +SRC_DIR="$ROOT_DIRECTORY/packages/dart/sshnoports" if [ "$#" -ne 0 ]; then echo "Usage: $0" From 9d9182e80c61e4e3230b01ee50baee5439c6e049 Mon Sep 17 00:00:00 2001 From: xavierchanth Date: Thu, 4 Jan 2024 14:42:37 +0800 Subject: [PATCH 4/6] chore: restore __init__.py --- .../automations/python/sshnoports_automation_python/__init__.py | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 examples/automations/python/sshnoports_automation_python/__init__.py diff --git a/examples/automations/python/sshnoports_automation_python/__init__.py b/examples/automations/python/sshnoports_automation_python/__init__.py new file mode 100644 index 000000000..a5bc9dec8 --- /dev/null +++ b/examples/automations/python/sshnoports_automation_python/__init__.py @@ -0,0 +1,2 @@ +from .package_source import PackageSource, LocalPackageSource, GitPackageSource, ReleasePackageSource, ArchivePackageSource +from .sshnp_client import SSHNPClient, SFTPClient, SSHClient From d4b2cae5bb999a24a188c55bb8aaabd3853412c3 Mon Sep 17 00:00:00 2001 From: xavierchanth Date: Thu, 4 Jan 2024 14:45:45 +0800 Subject: [PATCH 5/6] chore: rename sdk to automation --- examples/automations/python/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/automations/python/README.md b/examples/automations/python/README.md index 8995457cc..df921b9eb 100644 --- a/examples/automations/python/README.md +++ b/examples/automations/python/README.md @@ -1,4 +1,4 @@ -# sshnoports sdk python +# sshnoports automation python This "sdk" serves as an example for how to wrap and use an sshnp client in python scripts for automation purposes. From 8452cd16ed867c6fabd43cb3f638b53b921515d8 Mon Sep 17 00:00:00 2001 From: xavierchanth Date: Tue, 9 Jan 2024 14:36:34 +0800 Subject: [PATCH 6/6] chore: point osv scanner to packages/dart --- .github/workflows/unit_tests.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unit_tests.yaml b/.github/workflows/unit_tests.yaml index ac60a1cf4..f558bf2ea 100644 --- a/.github/workflows/unit_tests.yaml +++ b/.github/workflows/unit_tests.yaml @@ -41,7 +41,7 @@ jobs: # It needs to look at pubspec.lock files, which is why it's # placed here, as the `dart pub get` above will create them - name: Run osv-scanner - working-directory: packages + working-directory: packages/dart run: | go install github.com/google/osv-scanner/cmd/osv-scanner@6316373e47d7e3e4b4fd3630c4bbc10987738de6 # v1.4.3 osv-scanner --lockfile=./sshnoports/pubspec.lock