Commit Graph

319 Commits

Author SHA1 Message Date
neon443
97da44e4d5 remove quick connect because it doesnt work :cry 2025-07-01 20:17:39 +01:00
neon443
8a37a1464a added keyimporter view to import keys
added importkey to import keys and save to keychain
added a picker to select a key id in connection view
fix publickey and opensshpublickey returning a pubkey when privatekey is empty
added generate key button and import button
change HostManager.makeLabel() to a computed property on Host
2025-07-01 20:16:55 +01:00
neon443
0af64a4efd update getting hosts that use keys to use new key system 2025-07-01 19:40:01 +01:00
neon443
93d9636960 fix ssh-ed25519 <key> 32 bytes ----> ssh-ed25519 <key> <comment> 2025-07-01 19:38:01 +01:00
neon443
ad8e41762a added privateKeyID to select privatekeys in Host
added label to Keypair to return an approriate label
added ui to display keys from KeyManager
2025-07-01 19:28:02 +01:00
neon443
65eef7f29e added support for saving keys in the keychain
load and save yk
added savetokeychain to save a key to the keychain
added getfromkeycahin to get a key from the keychain
fix generatekey

added apple's cryptokit in the keychain sample code (keychain layer dir)
2025-07-01 17:41:42 +01:00
neon443
15bcd2b7e9 made the functions makeSSH[priv,pub]key take in a Keypair 2025-07-01 16:23:00 +01:00
neon443
89cac92d5a improve getKeys key handling, and will importa key if it is just a string
make pubkey a computed var from the privkey in Keypair
2025-07-01 16:18:38 +01:00
neon443
75ff91d0e4 YES asdkfghjaksdhfjgkjadhfg ASDFJASODJFSDJLFASDILFAH
PRIVKEYS CAN BE IMPORTED!!!!
added extractField to help with extracting the correct number of bytes (using the length prefix)
2025-07-01 13:26:02 +01:00
neon443
19c2e8f912 almost done rewritign import sshprivkey
made these static funcitons
made keypair have computed openssh format pub/priv variables that are strings
2025-07-01 12:46:32 +01:00
neon443
1f3afc9c93 working on privkey importer, but its just crashing
added removefield to remove a field
added the start of the privkey importer
2025-07-01 10:40:04 +01:00
neon443
c3332737c4 added importsshpubkey to get the raw key bytes from an openssh format pubkey ssh-ed25519 <b64 blob> <comment> 2025-07-01 09:18:41 +01:00
neon443
40f27d3ead YESSSSSSSSSSSSSSSSSSSSSSSSSSSSS
OPENSSH PRIVATE KEY EXPORTING
2025-06-30 20:05:00 +01:00
neon443
0f646f6fb9 PUBKEY PASSES!!
now to fix privkey :(
2025-06-30 19:18:30 +01:00
neon443
8bfb8257e5 fix makesshpubkey 2025-06-30 19:08:29 +01:00
neon443
497d9b23e4 add makesshprivkey to make a privatekey for openssh stuff
addd makesshpubkey to return data for .pub and for installing to hosts
generate rsa just returns seckey
simplify generateEd25519
add helper encode{str,int,data} functions to return Data with a 4 byte lenght count before it
add more buttons
2025-06-30 19:06:18 +01:00
neon443
80b83644b4 updated keypair data structure to have an name, passphrase and type
added generateKy to generate a key, currently only rsa
update generateRSA to return the Data for pub and priv, and take a custom size
bell animation better, slightly longer in total and easeinout
added new generate button hardcoded to a rsa 4096
added keytype to define key types (duh)
update getKeys to use the new keypair structure
2025-06-30 16:31:01 +01:00
neon443
94ad2fa661 added a prompt to TextBox
fix right alignment in textbox
added quick connect
fix blank keys being returned from getKeys()
safely unwrap keys in keydetailview
swap buttons on shellview's titlbar
2025-06-30 14:34:57 +01:00
neon443
24bf52ff16 added textbox to make pretty textboxes with label
updated connectionview to use nice textboxes with labels
put disconnect and minimize on the left
2025-06-30 13:52:24 +01:00
neon443
9c32778d01 fix passpharse 2025-06-30 12:16:04 +01:00
neon443
463ac768c2 fix theme column being clipped at the trailing edge 2025-06-30 12:13:25 +01:00
neon443
c877b14ad5 fix servers with no auth
improve theme view column calculation
2025-06-30 12:11:33 +01:00
neon443
24d4ecbdf0 vbump 2025-06-29 18:52:35 +01:00
neon443
1e730582c0 ui background matches theme
ui bg is 70% opacity
2025-06-29 18:51:52 +01:00
neon443
a4a71968fe theme list is now adaptive - it divides the width of the view by 200 to get the columns count
each theme preview is 150-250 wide
2025-06-29 17:52:37 +01:00
neon443
80ddde3a62 applying themes on the fly!! (to sessions already active)
added applySelectedTheme to sshhandler which will run applyselectedtheme on the terminalview if it exists
added applyselectedtheme to apply the chosen theme in hostsmanager
applying of the chosen theme on appear of any shell view
made the tap target for sessions actually the whole list item
fix undefined behaivour from modifying published values from background threads
2025-06-29 16:39:03 +01:00
neon443
8e69dfc165 terminalViewContainer is now an observable object
made the session list view more pretty
terminalviewcontaner has a static shared property which is an instance of itself
then it has sessions inside with a dict of uuid:terminalcontainer inside
hostsview is in the section "hosts"
2025-06-29 16:25:49 +01:00
neon443
331a921499 MULTI SESSIONS!!!
terminalviewcontainer has a dict of [handler, terminalView] with a uuid key
each session gets a new uuid, and on disconnect, the session is removed from terminalviewcontainer
sessions list view to reopen sessions
remove multiview
extracted terminalviewcontainer
2025-06-29 15:40:46 +01:00
neon443
870ebb6fcc made the theme picker ui pretty
boxes now touch and dont have spacing between
vertical layout
context menu actually targets correct theme
the themebox is flexible and can be smaller/larger doesnt matter
2025-06-29 13:42:05 +01:00
neon443
24ca75f8c6 added isSelected property to make isselected checking cleaner 2025-06-29 12:11:31 +01:00
neon443
af00ab1e7c updated clone script to use a 78% smaller 20mb tar.xz archive instead of a zip
it has a compression ratio of 0.1 yayyy
 - faster xcode cloud builds
2025-06-29 11:52:03 +01:00
neon443
b8a8b20056 vbump 2025-06-29 11:35:16 +01:00
neon443
7bb562a16a Merge remote-tracking branch 'refs/remotes/origin/main' 2025-06-29 11:29:37 +01:00
neon443
4ca3bc035f Awdjfghkahdsgjf;h
id and name were swapped loll
switch back to icloud defaults for hostsmanager
update xcode* themes to camel case
2025-06-29 11:22:29 +01:00
neon443
331b21b23f improve is theme selected
gave all builtin themes uuids
2025-06-29 10:49:52 +01:00
neon443
a4d245caec !!!!!!!!!!
fixed selecting themes - it now actually remembers!!
fix all themes having no names
fix remembering selected themes
added toTheme to return a theme from a themecodable
removed themeNames - its not needed as the names are saved in the ThemeCodable itself
extracted colorcodable and themecodable into their own files
removed all the debug prints
2025-06-29 10:43:47 +01:00
neon443
834fb266e9 theme picker ui is pretty now
added a bunch of builtin htemes
applytheme takes a theme
added builtin themes enum
added decodeloacltheme func
added builtinthemes array property
selectedtheme is now an actual theme instead of an index
its really annoying it doesnt really work rn
2025-06-29 09:59:53 +01:00
Nihaal Sharma
6915d8b665 Update README.md 2025-06-29 09:10:14 +01:00
neon443
f19f32682f added selecting and applying themes
added selectTheme to set the selectedtheme index
added isthemeselected to check if a theme is selected
applytheme takes an index now

ui needs work lol - cant select default, and selction doesnt save between sessions
2025-06-28 16:06:11 +01:00
neon443
0f3f936638 Merge remote-tracking branch 'refs/remotes/origin/main' 2025-06-28 15:44:41 +01:00
neon443
4affc532d9 fix adding new hosts, it will navigate u to a new connection view with a host.blank, and add the host if it doesnt exist
added addhostifneeded
extracted hostskeys stuff to hostkeysview
added nav titles to everything
removed tabs, now just a list
renamed savedHosts -> hosts
2025-06-28 15:37:50 +01:00
neon443
7ceef899df fix duplicate ssh keys in keys, now shows the hosts that use that key if u tap on it
added theme deletion
added animations on change of themes list
getkeys doesnt return duplicates, thanks to:
wrote a custom == operator to check if keys are the same, ignoring uuid
added gethostskeysusedon to get the hosts that use a key
fix refreshing of hosts on modification
added cancel to import alert
2025-06-28 14:59:59 +01:00
Nihaal Sharma
830192144d add README.md 2025-06-28 13:19:15 +01:00
neon443
d0c84b19f4 added renaming themes
gonna add delete themes next
2025-06-27 21:45:09 +01:00
neon443
a607996ca5 fixed ui clipping
made the radius concentric and the padding perfect
2025-06-27 21:20:27 +01:00
neon443
3698232a51 added thememanager view and thempreviw
it uses a lazyhgrid
2025-06-27 20:48:41 +01:00
neon443
c343066fb5 make decodeTheme cleaner, still works yayyy 2025-06-27 18:27:10 +01:00
neon443
338957e986 theme loading works!! before i tried decoding the entire array when it expected one theme lol 2025-06-27 18:25:16 +01:00
neon443
d33b7d4eaf added downloadtheme funciton to download and import a theme from an iterm2colorschemes.com link
added import theme to import a theme
updated loadthemes
updated themesview to add import buttons and updated the view
fix themesview making a new instance of hostsmanager
added suiColor to get a swiftui color from a swiftterm color
fix uicolor returning black all the time
2025-06-27 18:01:27 +01:00
neon443
56289f0f6d added themes to hostsmanager
added loadthemes
added savethemes
theme is now identifieable
theme has a computed property themecodable to make it easier to convert
extended swiftterm.color to have a colorCodabel property
adding themes amanger ui
2025-06-27 10:59:53 +01:00