mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
using blink shell's ssh for ssh instead of nmsssh idk why it doesnt work
This commit is contained in:
@@ -168,12 +168,18 @@
|
|||||||
CLASSPREFIX = NM;
|
CLASSPREFIX = NM;
|
||||||
LastUpgradeCheck = 0830;
|
LastUpgradeCheck = 0830;
|
||||||
ORGANIZATIONNAME = "Nine Muses";
|
ORGANIZATIONNAME = "Nine Muses";
|
||||||
|
TargetAttributes = {
|
||||||
|
18AE8FA418BBEDD000AE0FC3 = {
|
||||||
|
DevelopmentTeam = 8JGND254B7;
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
buildConfigurationList = 18AE8FA018BBEDD000AE0FC3 /* Build configuration list for PBXProject "PTYExample" */;
|
buildConfigurationList = 18AE8FA018BBEDD000AE0FC3 /* Build configuration list for PBXProject "PTYExample" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = English;
|
||||||
hasScannedForEncodings = 0;
|
hasScannedForEncodings = 0;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
|
English,
|
||||||
en,
|
en,
|
||||||
Base,
|
Base,
|
||||||
);
|
);
|
||||||
@@ -321,7 +327,7 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = 8JGND254B7;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "PTYExample/PTYExample-Prefix.pch";
|
GCC_PREFIX_HEADER = "PTYExample/PTYExample-Prefix.pch";
|
||||||
INFOPLIST_FILE = "PTYExample/PTYExample-Info.plist";
|
INFOPLIST_FILE = "PTYExample/PTYExample-Info.plist";
|
||||||
@@ -337,7 +343,7 @@
|
|||||||
buildSettings = {
|
buildSettings = {
|
||||||
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
|
||||||
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
|
||||||
DEVELOPMENT_TEAM = "";
|
DEVELOPMENT_TEAM = 8JGND254B7;
|
||||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||||
GCC_PREFIX_HEADER = "PTYExample/PTYExample-Prefix.pch";
|
GCC_PREFIX_HEADER = "PTYExample/PTYExample-Prefix.pch";
|
||||||
INFOPLIST_FILE = "PTYExample/PTYExample-Info.plist";
|
INFOPLIST_FILE = "PTYExample/PTYExample-Info.plist";
|
||||||
|
|||||||
@@ -24,6 +24,13 @@
|
|||||||
<string>1.0</string>
|
<string>1.0</string>
|
||||||
<key>LSRequiresIPhoneOS</key>
|
<key>LSRequiresIPhoneOS</key>
|
||||||
<true/>
|
<true/>
|
||||||
|
<key>NSAppTransportSecurity</key>
|
||||||
|
<dict>
|
||||||
|
<key>NSAllowsArbitraryLoads</key>
|
||||||
|
<true/>
|
||||||
|
<key>NSAllowsLocalNetworking</key>
|
||||||
|
<true/>
|
||||||
|
</dict>
|
||||||
<key>UILaunchStoryboardName</key>
|
<key>UILaunchStoryboardName</key>
|
||||||
<string>Launch Screen</string>
|
<string>Launch Screen</string>
|
||||||
<key>UIMainStoryboardFile</key>
|
<key>UIMainStoryboardFile</key>
|
||||||
|
|||||||
@@ -13,8 +13,12 @@
|
|||||||
A92538CD2DEE0744007E0A18 /* ShhShellTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92538CB2DEE0744007E0A18 /* ShhShellTests.swift */; };
|
A92538CD2DEE0744007E0A18 /* ShhShellTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92538CB2DEE0744007E0A18 /* ShhShellTests.swift */; };
|
||||||
A92538D12DEE0745007E0A18 /* ShhShellUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92538CE2DEE0745007E0A18 /* ShhShellUITests.swift */; };
|
A92538D12DEE0745007E0A18 /* ShhShellUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92538CE2DEE0745007E0A18 /* ShhShellUITests.swift */; };
|
||||||
A92538D22DEE0745007E0A18 /* ShhShellUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92538CF2DEE0745007E0A18 /* ShhShellUITestsLaunchTests.swift */; };
|
A92538D22DEE0745007E0A18 /* ShhShellUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A92538CF2DEE0745007E0A18 /* ShhShellUITestsLaunchTests.swift */; };
|
||||||
A9C897DE2DF1A1C900EF9A5F /* NMSSH.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C897DC2DF1A1C200EF9A5F /* NMSSH.framework */; };
|
A92D69E82DF1B9ED0031755A /* SSH.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A92D69C92DF1B9B00031755A /* SSH.framework */; };
|
||||||
|
A92D69E92DF1B9ED0031755A /* SSH.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A92D69C92DF1B9B00031755A /* SSH.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
A9C897DF2DF1A1C900EF9A5F /* NMSSH.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A9C897DC2DF1A1C200EF9A5F /* NMSSH.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
A9C897DF2DF1A1C900EF9A5F /* NMSSH.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = A9C897DC2DF1A1C200EF9A5F /* NMSSH.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
|
||||||
|
A9C897EB2DF1A95F00EF9A5F /* NMSSH.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9C897E92DF1A53B00EF9A5F /* NMSSH.framework */; };
|
||||||
|
A9C897EF2DF1A9A400EF9A5F /* SSHHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C897EE2DF1A9A400EF9A5F /* SSHHandler.swift */; };
|
||||||
|
A9C897F12DF1AB5700EF9A5F /* ShellHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = A9C897F02DF1AB5700EF9A5F /* ShellHandler.swift */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXContainerItemProxy section */
|
/* Begin PBXContainerItemProxy section */
|
||||||
@@ -32,6 +36,20 @@
|
|||||||
remoteGlobalIDString = A92538992DEE06DC007E0A18;
|
remoteGlobalIDString = A92538992DEE06DC007E0A18;
|
||||||
remoteInfo = ShhShell;
|
remoteInfo = ShhShell;
|
||||||
};
|
};
|
||||||
|
A92D69C82DF1B9B00031755A /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = A92D69AD2DF1B9AF0031755A /* Blink.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = 07FABB8425C9AEC000E1CC2C;
|
||||||
|
remoteInfo = SSH;
|
||||||
|
};
|
||||||
|
A9C897E82DF1A53B00EF9A5F /* PBXContainerItemProxy */ = {
|
||||||
|
isa = PBXContainerItemProxy;
|
||||||
|
containerPortal = A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */;
|
||||||
|
proxyType = 2;
|
||||||
|
remoteGlobalIDString = 186CC9581B69110500F674C4;
|
||||||
|
remoteInfo = NMSSH;
|
||||||
|
};
|
||||||
/* End PBXContainerItemProxy section */
|
/* End PBXContainerItemProxy section */
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
@@ -42,6 +60,7 @@
|
|||||||
dstSubfolderSpec = 10;
|
dstSubfolderSpec = 10;
|
||||||
files = (
|
files = (
|
||||||
A9C897DF2DF1A1C900EF9A5F /* NMSSH.framework in Embed Frameworks */,
|
A9C897DF2DF1A1C900EF9A5F /* NMSSH.framework in Embed Frameworks */,
|
||||||
|
A92D69E92DF1B9ED0031755A /* SSH.framework in Embed Frameworks */,
|
||||||
);
|
);
|
||||||
name = "Embed Frameworks";
|
name = "Embed Frameworks";
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
@@ -58,8 +77,11 @@
|
|||||||
A92538CB2DEE0744007E0A18 /* ShhShellTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShhShellTests.swift; sourceTree = "<group>"; };
|
A92538CB2DEE0744007E0A18 /* ShhShellTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShhShellTests.swift; sourceTree = "<group>"; };
|
||||||
A92538CE2DEE0745007E0A18 /* ShhShellUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShhShellUITests.swift; sourceTree = "<group>"; };
|
A92538CE2DEE0745007E0A18 /* ShhShellUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShhShellUITests.swift; sourceTree = "<group>"; };
|
||||||
A92538CF2DEE0745007E0A18 /* ShhShellUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShhShellUITestsLaunchTests.swift; sourceTree = "<group>"; };
|
A92538CF2DEE0745007E0A18 /* ShhShellUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShhShellUITestsLaunchTests.swift; sourceTree = "<group>"; };
|
||||||
|
A92D69AD2DF1B9AF0031755A /* Blink.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Blink.xcodeproj; path = /Users/neon443/Downloads/blink/Blink.xcodeproj; sourceTree = "<absolute>"; };
|
||||||
A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "NMSSH-iOS.xcodeproj"; path = "Carthage/Checkouts/NMSSH/NMSSH-iOS.xcodeproj"; sourceTree = "<group>"; };
|
A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = "NMSSH-iOS.xcodeproj"; path = "Carthage/Checkouts/NMSSH/NMSSH-iOS.xcodeproj"; sourceTree = "<group>"; };
|
||||||
A9C897DC2DF1A1C200EF9A5F /* NMSSH.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = NMSSH.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
A9C897DC2DF1A1C200EF9A5F /* NMSSH.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = NMSSH.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
|
A9C897EE2DF1A9A400EF9A5F /* SSHHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SSHHandler.swift; sourceTree = "<group>"; };
|
||||||
|
A9C897F02DF1AB5700EF9A5F /* ShellHandler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShellHandler.swift; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
@@ -67,7 +89,8 @@
|
|||||||
isa = PBXFrameworksBuildPhase;
|
isa = PBXFrameworksBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
A9C897DE2DF1A1C900EF9A5F /* NMSSH.framework in Frameworks */,
|
A9C897EB2DF1A95F00EF9A5F /* NMSSH.framework in Frameworks */,
|
||||||
|
A92D69E82DF1B9ED0031755A /* SSH.framework in Frameworks */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
@@ -98,6 +121,7 @@
|
|||||||
A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */,
|
A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */,
|
||||||
A9C8976F2DF1980900EF9A5F /* Frameworks */,
|
A9C8976F2DF1980900EF9A5F /* Frameworks */,
|
||||||
A925389B2DEE06DC007E0A18 /* Products */,
|
A925389B2DEE06DC007E0A18 /* Products */,
|
||||||
|
A92D69AD2DF1B9AF0031755A /* Blink.xcodeproj */,
|
||||||
);
|
);
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
@@ -115,6 +139,8 @@
|
|||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
A92538C62DEE0742007E0A18 /* ShhShellApp.swift */,
|
A92538C62DEE0742007E0A18 /* ShhShellApp.swift */,
|
||||||
|
A9C897EE2DF1A9A400EF9A5F /* SSHHandler.swift */,
|
||||||
|
A9C897F02DF1AB5700EF9A5F /* ShellHandler.swift */,
|
||||||
A92538D32DEE0749007E0A18 /* Views */,
|
A92538D32DEE0749007E0A18 /* Views */,
|
||||||
);
|
);
|
||||||
path = ShhShell;
|
path = ShhShell;
|
||||||
@@ -153,6 +179,14 @@
|
|||||||
path = Resources;
|
path = Resources;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
A92D69B12DF1B9B00031755A /* Products */ = {
|
||||||
|
isa = PBXGroup;
|
||||||
|
children = (
|
||||||
|
A92D69C92DF1B9B00031755A /* SSH.framework */,
|
||||||
|
);
|
||||||
|
name = Products;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
A9C8976F2DF1980900EF9A5F /* Frameworks */ = {
|
A9C8976F2DF1980900EF9A5F /* Frameworks */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
@@ -164,6 +198,7 @@
|
|||||||
A9C897E12DF1A53B00EF9A5F /* Products */ = {
|
A9C897E12DF1A53B00EF9A5F /* Products */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
|
A9C897E92DF1A53B00EF9A5F /* NMSSH.framework */,
|
||||||
);
|
);
|
||||||
name = Products;
|
name = Products;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -269,6 +304,10 @@
|
|||||||
productRefGroup = A925389B2DEE06DC007E0A18 /* Products */;
|
productRefGroup = A925389B2DEE06DC007E0A18 /* Products */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
projectReferences = (
|
projectReferences = (
|
||||||
|
{
|
||||||
|
ProductGroup = A92D69B12DF1B9B00031755A /* Products */;
|
||||||
|
ProjectRef = A92D69AD2DF1B9AF0031755A /* Blink.xcodeproj */;
|
||||||
|
},
|
||||||
{
|
{
|
||||||
ProductGroup = A9C897E12DF1A53B00EF9A5F /* Products */;
|
ProductGroup = A9C897E12DF1A53B00EF9A5F /* Products */;
|
||||||
ProjectRef = A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */;
|
ProjectRef = A9C897D22DF1A18C00EF9A5F /* NMSSH-iOS.xcodeproj */;
|
||||||
@@ -283,6 +322,23 @@
|
|||||||
};
|
};
|
||||||
/* End PBXProject section */
|
/* End PBXProject section */
|
||||||
|
|
||||||
|
/* Begin PBXReferenceProxy section */
|
||||||
|
A92D69C92DF1B9B00031755A /* SSH.framework */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = wrapper.framework;
|
||||||
|
path = SSH.framework;
|
||||||
|
remoteRef = A92D69C82DF1B9B00031755A /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
|
A9C897E92DF1A53B00EF9A5F /* NMSSH.framework */ = {
|
||||||
|
isa = PBXReferenceProxy;
|
||||||
|
fileType = wrapper.framework;
|
||||||
|
path = NMSSH.framework;
|
||||||
|
remoteRef = A9C897E82DF1A53B00EF9A5F /* PBXContainerItemProxy */;
|
||||||
|
sourceTree = BUILT_PRODUCTS_DIR;
|
||||||
|
};
|
||||||
|
/* End PBXReferenceProxy section */
|
||||||
|
|
||||||
/* Begin PBXResourcesBuildPhase section */
|
/* Begin PBXResourcesBuildPhase section */
|
||||||
A92538982DEE06DC007E0A18 /* Resources */ = {
|
A92538982DEE06DC007E0A18 /* Resources */ = {
|
||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
@@ -315,6 +371,8 @@
|
|||||||
files = (
|
files = (
|
||||||
A92538C82DEE0742007E0A18 /* ContentView.swift in Sources */,
|
A92538C82DEE0742007E0A18 /* ContentView.swift in Sources */,
|
||||||
A92538C92DEE0742007E0A18 /* ShhShellApp.swift in Sources */,
|
A92538C92DEE0742007E0A18 /* ShhShellApp.swift in Sources */,
|
||||||
|
A9C897EF2DF1A9A400EF9A5F /* SSHHandler.swift in Sources */,
|
||||||
|
A9C897F12DF1AB5700EF9A5F /* ShellHandler.swift in Sources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"originHash" : "3c0aff882bcb0d68be09455d4b0d93dfcf0115ebcb0b9f3c8150da7d6ca8b6c0",
|
||||||
|
"pins" : [
|
||||||
|
{
|
||||||
|
"identity" : "base32kit",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/jenslauterbach/Base32Kit.git",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "34e7e2796cb8d791df6f9a275a858048fcf52700",
|
||||||
|
"version" : "0.2.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "purchases-ios",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/RevenueCat/purchases-ios.git",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "ae6b639cacd045c06ee92ca80b49e34255375ee3",
|
||||||
|
"version" : "4.43.6"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "runestone",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/simonbs/Runestone",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "1fad339aab99cf2136ce6bf8c32da3265b2e85e5",
|
||||||
|
"version" : "0.5.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "sqlite.swift",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/stephencelis/SQLite.swift",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "a95fc6df17d108bd99210db5e8a9bac90fe984b8",
|
||||||
|
"version" : "0.15.3"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "swiftcbor",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/unrelentingtech/SwiftCBOR",
|
||||||
|
"state" : {
|
||||||
|
"branch" : "master",
|
||||||
|
"revision" : "ea5ece79b0efde241495bfaa74eccceeffc382bc"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "swiftui-cached-async-image",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/lorenzofiamingo/swiftui-cached-async-image",
|
||||||
|
"state" : {
|
||||||
|
"branch" : "main",
|
||||||
|
"revision" : "4f111f2b7aab7ec52a60716cedb673df5203743c"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "tree-sitter",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/tree-sitter/tree-sitter",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "98be227227af10cc7a269cb3ffb23686c0610b17",
|
||||||
|
"version" : "0.20.9"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "treesitterlanguages",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/simonbs/treesitterlanguages",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "15cf3a9ec3ab95e0d058b7df9f35619123c9e02d",
|
||||||
|
"version" : "0.1.10"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"identity" : "zipfoundation",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/weichsel/ZIPFoundation.git",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "02b6abe5f6eef7e3cbd5f247c5cc24e246efcfe0",
|
||||||
|
"version" : "0.9.19"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"version" : 3
|
||||||
|
}
|
||||||
55
ShhShell/SSHHandler.swift
Normal file
55
ShhShell/SSHHandler.swift
Normal file
@@ -0,0 +1,55 @@
|
|||||||
|
//
|
||||||
|
// SSHHandler.swift
|
||||||
|
// ShhShell
|
||||||
|
//
|
||||||
|
// Created by neon443 on 05/06/2025.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import NMSSH
|
||||||
|
import LibSSH
|
||||||
|
|
||||||
|
class SSHHandler: ObservableObject {
|
||||||
|
|
||||||
|
var session: NMSSHSession
|
||||||
|
var shellHandlerDelegate = ShellHandler()
|
||||||
|
|
||||||
|
|
||||||
|
init(
|
||||||
|
session: NMSSHSession = NMSSHSession(host: "localhost:32222", andUsername: "neon443")
|
||||||
|
) {
|
||||||
|
ssh_new()
|
||||||
|
self.session = session
|
||||||
|
session.connectToAgent()
|
||||||
|
}
|
||||||
|
|
||||||
|
func connect() {
|
||||||
|
session.authenticate(
|
||||||
|
byPublicKey: "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIaFx9u3BMq2qW1SJzQik7k8/9p9KV8KZ9JehyKKd2Wu",
|
||||||
|
privateKey: """
|
||||||
|
-----BEGIN OPENSSH PRIVATE KEY-----
|
||||||
|
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtz
|
||||||
|
c2gtZWQyNTUxOQAAACCGhcfbtwTKtqltUic0IpO5PP/afSlfCmfSXociindlrgAA
|
||||||
|
AIgKUk2MClJNjAAAAAtzc2gtZWQyNTUxOQAAACCGhcfbtwTKtqltUic0IpO5PP/a
|
||||||
|
fSlfCmfSXociindlrgAAAEClrzCbl2ZGxAdqa1rS3w3ZEDKXi7Ysf4FKJO375Lhx
|
||||||
|
54aFx9u3BMq2qW1SJzQik7k8/9p9KV8KZ9JehyKKd2WuAAAAAAECAwQF
|
||||||
|
-----END OPENSSH PRIVATE KEY-----
|
||||||
|
""",
|
||||||
|
andPassword: nil
|
||||||
|
)
|
||||||
|
if session.isConnected {
|
||||||
|
// session.authenticate(byPassword: "password")
|
||||||
|
do {
|
||||||
|
try session.channel.startShell()
|
||||||
|
} catch {
|
||||||
|
print(error.localizedDescription)
|
||||||
|
}
|
||||||
|
session.channel.delegate = shellHandlerDelegate
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func testExec() {
|
||||||
|
guard session.isConnected else { return }
|
||||||
|
session.channel.execute("ls", error: nil)
|
||||||
|
}
|
||||||
|
}
|
||||||
26
ShhShell/ShellHandler.swift
Normal file
26
ShhShell/ShellHandler.swift
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
//
|
||||||
|
// ShellHandler.swift
|
||||||
|
// ShhShell
|
||||||
|
//
|
||||||
|
// Created by neon443 on 05/06/2025.
|
||||||
|
//
|
||||||
|
|
||||||
|
import Foundation
|
||||||
|
import NMSSH
|
||||||
|
|
||||||
|
class ShellHandler: NSObject, NMSSHChannelDelegate {
|
||||||
|
func channel(_ channel: NMSSHChannel, didReadData message: String) {
|
||||||
|
print(channel)
|
||||||
|
print(message)
|
||||||
|
}
|
||||||
|
|
||||||
|
func channel(_ channel: NMSSHChannel, didReadError error: String) {
|
||||||
|
print(error)
|
||||||
|
print("error")
|
||||||
|
}
|
||||||
|
|
||||||
|
func channelShellDidClose(_ channel: NMSSHChannel) {
|
||||||
|
print(channel)
|
||||||
|
print("closed channel")
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,15 +6,20 @@
|
|||||||
//
|
//
|
||||||
|
|
||||||
import SwiftUI
|
import SwiftUI
|
||||||
import NMSSH
|
|
||||||
|
|
||||||
struct ContentView: View {
|
struct ContentView: View {
|
||||||
|
var sshHandler = SSHHandler()
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack {
|
VStack {
|
||||||
Image(systemName: "globe")
|
Image(systemName: "globe")
|
||||||
.imageScale(.large)
|
.imageScale(.large)
|
||||||
.foregroundStyle(.tint)
|
.foregroundStyle(.tint)
|
||||||
Text("Hello, world!")
|
Text("Hello, world!")
|
||||||
|
Button("go") {
|
||||||
|
sshHandler.connect()
|
||||||
|
sshHandler.testExec()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.padding()
|
.padding()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user