Commit Graph

397 Commits

Author SHA1 Message Date
neon443
ecfd997487 added traffliclights to make the traffic lights perfect, red yellow done
green wip
clean up on the terminal view: add background and reorg the fiel and add traffic lights
add bg to all the terminal related stuff
2025-07-04 10:47:27 +01:00
neon443
a9df89eae2 added mac-like traffic lights to the top of tabshellview 2025-07-04 09:29:21 +01:00
neon443
89669b4596 add minimize button 2025-07-04 08:29:05 +01:00
neon443
9dcdd5de41 fixed wierd border issues 2025-07-03 19:32:27 +01:00
neon443
d5a45d78c4 fix the wierd scaling when tapping an ansi color 2025-07-03 19:11:06 +01:00
neon443
b9327f993e add a border to ansipicker, and fix the corner radius
fix light themes having unreadable text
added a luminance property to calculate the brighness of the bg color
if its > 0.5, choose a light theme to get black text
2025-07-03 18:19:13 +01:00
neon443
d71d6199c8 sdfasd 2025-07-03 17:24:39 +01:00
neon443
69f2ee7c87 fix ansi picker having fucked up arrangements
prettify ui on thememanager
2025-07-03 17:18:23 +01:00
neon443
fdc5c4c503 added ansipickerview
added selectAnsi to select an ansi col
2025-07-03 16:47:16 +01:00
neon443
288b37a0d6 added a thingy to select an ansi color (accent color) in thememanger
improved ui for tab selector, uses theme colours and close button is in the tab
made sshhandler optional for shelltabview
implemented the tabbed terminal to sessionlistview in home
added selectedAnsi to select an accent color from the 16 ansi colors
remove toolbar and navbar in shellview, fix the wierd input issue
2025-07-03 15:31:49 +01:00
neon443
a58a86acec improved tab ui - now orange if selected, gray if not
improved functionality, if disconnected, it switches to the last tab open or if no more, it dismisses
remove dialogview
2025-07-03 14:24:41 +01:00
neon443
c48f01810e TABS!!!!
added shelltabview
it basically puts tabs at the top, and when tapped the id is updated and so is the shellView var to have a new handler (corresponding to that session)
remove @State var shellView from connectionview &other stuff
2025-07-03 13:53:26 +01:00
neon443
ddad89b0e2 switched while loop out for a guard to break the loop 2025-07-03 12:36:27 +01:00
neon443
4f7b948fa4 made it a while loop to not do the rest of the auth methods if one suceeds 2025-07-03 12:35:51 +01:00
neon443
0ba1d5091e in go(), auth is now handled by looping over the auth methods the server requests
rewrote getauthmethods, returns a [AuthType]
added authtype to list all auth types
2025-07-03 12:31:58 +01:00
neon443
0e1915cf64 add suthfailed for when auth fails 2025-07-03 11:37:02 +01:00
neon443
e9dc468a97 add an image computed property to hostsymbol to return the Image so it safely returns an image from an sf symbol or an image from an ImageResource 2025-07-03 11:34:04 +01:00
neon443
200e1fd76c added iCloud sync for keys??
reindented all apple sample code
2025-07-03 11:10:54 +01:00
neon443
5ef1a51ba8 fix removing one host from keydetailview removes them all
added hostsNotUsing(key) to get the opposite result of hostsuign
make the hosts icons a tad smaller
rename gethostsusingkeys -> hostsUsing(key)
2025-07-03 10:41:40 +01:00
neon443
c2c74248e2 fix picker on connectionview
using trimmingchars whitespaces and newlines to remove any trailing "\n"s
added padding to the button
publickey data uses a switch now
reorganised keymanager and used //MARKs
added header into KeyType for easier expansion of key types in the future
improved default key comment to use "at" between chunks and exclude time
2025-07-03 10:13:57 +01:00
neon443
3d9530f01b simplified logic by saving Keypairs as an array to defaults, but without the privateKey and passphrase for obvious reasons
added codingkeys, omitting the sensitive ones like privatekey and keypair
added init from decoder to skip privatekey and passphrase
removed keyTypes and keyNames, vastly simplifying logic
2025-07-03 09:20:00 +01:00
neon443
c9d7b06305 improve ui on keydetailview
add set(keypair, onHost) to set a keypair on host
remove getkeys it always returns []
add delete button to
remove rsa from keytype
rename symbolpreview ->hostsymbolpreview
2025-07-02 21:55:50 +01:00
neon443
6ad8ed22a0 added rename support, it also has the name in the textbox when it spawns
added a delete button to the key detail view
key name in list will fallback to uuid if no name
prevent renaming to an empty name
2025-07-02 21:29:16 +01:00
neon443
af912f234f add suport for rewritten authwithpubkey in sshhandler
added removefromkeychain
added renamekey
added deletekey
updatekymanagerview to add deleting and ui uodates
remove publickey and passphrase from host
remove key related texboxes in connectionview
added a passwordstore instance
made keytypes and names published
added savekeypairs
updatedsavetokeychain to remove and readd if it exists in the keychain
update getkeys
remove authwithbiometrics from hostmanager
trying to add key renaming support
remove Key (unused)
cleanup
2025-07-02 21:22:21 +01:00
neon443
421444b2f8 AUTHWITHPUBKEY!!!!
i had to extract the middle base64 bit of the key
added computed properties for it
added more error logging
2025-07-02 09:23:23 +01:00
neon443
8b2cdf910b rewrote authwithpubkey, need to add error checking stuff 2025-07-02 08:50:46 +01:00
neon443
ce162f437a dependency injection in ShhShellApp via the init
added keymanager to sshhandler so it can access keys
2025-07-02 08:19:01 +01:00
neon443
935c118d35 add none option for connection viwe
add key type picker
2025-07-01 20:43:51 +01:00
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