Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: rootDomain option in ArgParser #300

Merged
merged 6 commits into from Aug 7, 2023
Merged

feat: rootDomain option in ArgParser #300

merged 6 commits into from Aug 7, 2023

Conversation

JeremyTubongbanua
Copy link
Member

@JeremyTubongbanua JeremyTubongbanua commented Aug 5, 2023

Added ability to use staging atSigns in sshnp, sshnpd, and sshrvd

- What I did

  • Sshnp Root Domain Option
  • Sshnpd Root Domain Option
  • Sshrvd Root Domain Option
  • Minor typo fix in manual-tool

- How I did it

  • Edited "createAtClientCli" function

- How to verify it

Current tests are still passing

Proof of it working. I used 3 docker instances with keys to staging atSigns (np - @objectobject85, npd - @47freshbanana, rvd - @extensive9335):

SSHRVD Logs:

atsign@docker-desktop:~$ ~/.local/bin/sshrvd -a @extensive9335 -i $(hostname -i) -s -v --root-domain root.atsign.wtf
INFO|2023-08-06 19:58:07.062535|AtClientManager|setCurrentAtSign called with atSign @extensive9335 
INFO|2023-08-06 19:58:07.062669|AtClientManager|Switching atSigns from null to @extensive9335 
INFO|2023-08-06 19:58:07.063932|HiveBase|commit_log_9b757cc115dc35a7ec6e99a09be5ff774491fa0e0a2b988184ea85126d4bc777 initialized successfully 
INFO|2023-08-06 19:58:07.064898|HiveBase|9b757cc115dc35a7ec6e99a09be5ff774491fa0e0a2b988184ea85126d4bc777 initialized successfully 
INFO|2023-08-06 19:58:07.064947|AtClientCommitLogCompaction (@extensive9335)|Starting commit log compaction job running for every 11 minute(s) 
INFO|2023-08-06 19:58:07.065495|AtClientManager|setCurrentAtSign complete 
INFO|2023-08-06 19:58:07.065512|AtLookup|Creating new connection 
INFO|2023-08-06 19:58:07.339678|AtLookup|New connection created OK 
INFO|2023-08-06 19:58:07.445057|AtLookup|auth success 
INFO|2023-08-06 19:58:07.692614|Monitor (@extensive9335)|monitor started for @extensive9335 with last notification time: null 
INFO|2023-08-06 19:58:35.362870| sshrvd |Spawning socket connector isolate with parameters (SendPort, 0, 0, 2acbc5f2-08f4-4c23-8b82-f380e5ab6289, @objectobject85, true) 
INFO|2023-08-06 19:58:35.363397| sshrvd / socket_connector |Starting socket connector session 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 for @objectobject85 

INFO|2023-08-06 19:58:35.363621| sshrvd / socket_connector |Assigned ports [32777, 42623] for session 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 

INFO|2023-08-06 19:58:35.363650| sshrvd |Received ports (32777, 42623) in main isolate for session 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 
WARNING|2023-08-06 19:58:35.363661| sshrvd |Starting session 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 for @objectobject85 using ports (32777, 42623) 
INFO|2023-08-06 19:58:35.608569|AbstractAtKeyEncryption (@extensive9335)|Encrypted shared symmetric key for @extensive9335 not found in local storage 
INFO|2023-08-06 19:58:35.608606|AbstractAtKeyEncryption (@extensive9335)|Deleting @objectobject85:shared_key@extensive9335 from LocalSecondary 
INFO|2023-08-06 19:58:35.608822|AbstractAtKeyEncryption (@extensive9335)|Fetching shared symmetric key for @extensive9335 from atServer 
INFO|2023-08-06 19:58:35.667116|AbstractAtKeyEncryption (@extensive9335)|Creating new shared symmetric key as @extensive9335 for @objectobject85 
INFO|2023-08-06 19:58:35.667752|AbstractAtKeyEncryption (@extensive9335)|Deleting @objectobject85:shared_key@extensive9335 from RemoteSecondary 
INFO|2023-08-06 19:58:35.739480|AbstractAtKeyEncryption (@extensive9335)|Storing new shared symmetric key to atServer 
INFO|2023-08-06 19:58:35.808340|AbstractAtKeyEncryption (@extensive9335)|Storing new shared symmetric key to local storage 
INFO|2023-08-06 19:58:35.808717|AbstractAtKeyEncryption (@extensive9335)|'Their' copy of shared symmetric key for @objectobject85 not found in local storage - will check atServer 
INFO|2023-08-06 19:58:35.958669|AbstractAtKeyEncryption (@extensive9335)|Saving 'their' copy of shared symmetric key for @objectobject85 to atServer 
INFO|2023-08-06 19:58:36.047349|AbstractAtKeyEncryption (@extensive9335)|Saving 'their' copy of shared symmetric key for @objectobject85 to local storage 
Receiver:SSH-2.0-OpenSSH_9.2p1 Debian-2**
Sender:SSH-2.0-OpenSSH_9.2p1 Debian-2**
Receiver:***4***%*u=****Yf*m*;*****sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256***9rsa-sha2-512,rsa-sha2-256,ecdsa-sha2-nistp256,ssh-ed25519***lchacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com***lchacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com****umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1****umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1****none,zlib@openssh.com****none,zlib@openssh.com********************
Sender:******r****C**$g**-**s****sntrup761x25519-sha512@openssh.com,curve25519-sha256,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,diffie-hellman-group14-sha256,ext-info-c****ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,sk-ssh-ed25519-cert-v01@openssh.com,sk-ecdsa-sha2-nistp256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,sk-ssh-ed25519@openssh.com,sk-ecdsa-sha2-nistp256@openssh.com,rsa-sha2-512,rsa-sha2-256***lchacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com***lchacha20-poly1305@openssh.com,aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com****umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1****umac-64-etm@openssh.com,umac-128-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512-etm@openssh.com,hmac-sha1-etm@openssh.com,umac-64@openssh.com,umac-128@openssh.com,hmac-sha2-256,hmac-sha2-512,hmac-sha1****none,zlib@openssh.com,zlib****none,zlib@openssh.com,zlib*****************
Sender:**********C|i**,*CBX'*&**%w(***o***********?**W'@***]*****X******{8***gK***gK***w***N*'N**/****7D******{*s***2s*****z*?*@U3m***_**-*\*s**7*W,****U***0^*************6w*4*m*,*^Cz*=*7*O***q8***%***JRv**JAM*L**.*j*cX*XL***d****zv@y^*]*********u**J**Au***<*d@**xE*^**K**o*,Lh**\**GX*+M*'t*************w}***3**w**=*t**y*****:,***EQ**$"***4!*****"*******z*****'***(***|k********}**"***gDJhzi****NcA*****R***u.*****j****9d*******~v*******u*ub*yNd*">>8_r***vP****m*_*%*>*****+**7********li*[**'*e**************8*****!B**>**6**<***B[**,*=%****z8****,'*`**@(x&~**+*******Y*6*******h>*********~**yR%=****X***e****P*]p_***fOA>1** *.dh**)******n*=**v***,*qZ**g*****z*9**`J%*U****%f*1************. *y*l*R*cZ**3*******!MJ!*3W**P****a*:B*a********sm*Z**<*Dxq****0***m****dq]@1@<*K**W***u**t****,*.jK******6y*x*KL*>*:**+**p**V********.******i**7@*l***;F*f**$**95>**g*U*!`**Xf<|*ee***********/*_***\**K***(**!* $****o|4*f*bY0*t**#P*:*****Q****'i******A*Z****d*$*?*****[*********p**_***a*O*/uO*z**Jgm**c*he***0*p}*I***6******.**|*EEi|***=**Fr!***nNDl^***H*9* ****'********.******b:**R4**l/*****-****6******4****'**7O*ikv**1**P*v******m****s67**QS*/**m`**0*i***5+ *O**7^`**QL***T*+*?**C***&9*(9t***Y**f*h**t*0*Y`I*G*D*~*!********
Receiver:*********3****ssh-ed25519*** *q*8*n*d9****uW********.*\*se*6z***/****6**@*!*!***OY***I*2***|**y***wy*****e******9***q********;C*s**w**0*Z***cS****V****un*****<*0*m**e*(2***,v**A**5'*j*H**Ro**}K***m*;%Z*=**********k^***k****sP**2**4****O*W*`*jFh**'*[***[*?*******>K**-***g*-Q-re**V*Q*************H#**$L**e***y*o****,i/*f**8c***A**t*:*b*_***K**C****|***********x.*@*F*&H^Vo*5%*Ej[*5*8*****`*=******e/E*6*p[l**0a[**7#**-**Z***z*******d**N*w**@***iY**@*OE"*,/**K ~*Fqr:?9******A********.**(**Tr*****X******;A*E.-*9a**n**&****'*mm@***|*#******}*]****"*****.***D*n**R***S)**+o***=!.o*****M.***A1*O*(*j*j****%**h******?****D***]*y******1**********o**;*"***8***U****JF******?**+")*<**p***J**L**#J***/"xaz***E*A**w*,**V****l**0,*l******<)2*****]*'**aWKj*)*/*9!n***r~**"/*******/*g*R*:****@**y*v****L****f*mGi*N**sI***|****{\*c*vT*Ax*)s*_-*u*,*******p***1-*****~**|Y[*****B****&*T****8>!s***S***G**]****u**** 9***TJ**;****DK*****W**4*=n****LFFI*******,*c*****@c1**!****N**7**X*****T**-B"*****%*%******3******V**zu***p:*K2***)*g**bt***|**Lb*n"qD***Z>**T@*\****Y*^*L0**qo**q***.*\& ****5**g*v**5FE*f***h*******F%*****i*?****i********.J**"*****?***L***S****ssh-ed25519***@*=*]*A****c************>xWd*~`*}*****Ce*drn**Q*;*y~********,*5****************************ox|**\****u*B'z\******?**m*-*jbh***** **{i*.*tZ**@*y************N*g**E,Je'**-z*D*Q*+****IK********p*EV**w9*CdO***B*?**:u*c*x'*z**G*~*ZM{****j`.f*****`}*|hE***M**B*****6**RX***/*!x6K**DI*/**0******@**W*=*_*B*V************Q*********O**N*d4i*:***I**?*~**m***W**********m!Irk******V****`'*U6** **)**a****c*S*%*****5***G
Sender:*****************<If**v;*ya**T>**pD*G**S?***h**M*d*{*oCy*EE*
Receiver:3*L*\|****$*v.c**&)t*^~o]***,j*xV*#=`*Cw***\
Sender:*O*****-*e***<r**4***Y**u*****"@E****)*I*****3Q4*qN****iT"**^H*.****
Receiver:***m**,**x*Z*qfz*****{****V**F****k***H***jb
Sender:*1*****@-*D*\43**;*;*e*z******ht* h******>*n**}vW****,*b***t**************q*Bg*>*k**&0**[**!*aG*m*6****(5D"',*_*/*****!-t*********_&*z****F*
Receiver:*M***/**W*****"5B **L**?*U****x*9****q****b**R***U*_5**cK*$**T*W*x~**k*8*************b*-*xh*V*a*U*T*
Sender:P*g*********b**7>cI*eWN****-s+**O{&v5**/****SE** u*?mH*q********]*`~**V*O***********oqI**,*m***_k*******>*l****I*[%*L*v.E*g****jm*8v**L=***}**g(***j*Q9**Lt*=***t&****T****t4****)*E2*N**/1**Xat***;**[*****K*p[*3**********W****w*L*?*****O**R*zI*****n**D**A**Jr**1*$6*r**xMm*J**o*]****P*Q*-***F*g*****hr**!*r@t_
Receiver:***' !*****b.***,P*w6*''*O*,
Sender:RX*v**>********'*x*F**v**KX***F**.*v*K?*******+***$***Xr**[o*****Z*+
Receiver:*z^**)**Z**\I*L#**x6h]a****H*E]C*^*a***[s**z*********tN**8**v***.E\*C**VT***@0j=**2******FZ**?*******2*?**C**r-**N****<******************B****r=***u***T**|B**Z**=Ie*0L*k*S*cE*****c@*4'L*6y**=?*T-_**:*G***.q**D?*v7*****d**7***HA**]}t**k*h**8*****$Jhz*bH***3***U*******R*Qm*o***E*\*=*****;*$-* B**0*&**~***0*}*1****E*****N*q:***c****<}xr ****~*M**>kT*B_{*********k******_I***,*j*j********W*h6Hj****d*m****4***&*R**[**V*asb****d**]**% *1*****a**W***/v*m*(*****F*****yB**P****qN**/***bO+Z*:Ee****2Z*U*******)g***Vv********0****T}d*****O*******'$_*y*******RR*jM6*3*}Y]********P*K:G****tm*R****Y***9Y********J***>t******-Z*'r*e******X*[T******X****3'**E**R***4*=***\*b***|*****Y*****"y*****?***Q**H***<****K*$6*`***e*a~*b***?mb*****P**=d***?*"2****21(*d.*****J*******v*`**L*i*|**>9****,%BL G*<***k*
Sender:*7' 6rl}****j*`*a*Z*=*9+*NE******#***L**M *-**,^*A*****ROx****T**!*=*****=*X,*#***\*`s**T*N*f*e*#**{*t*o*****FDk
Receiver:****K.<[>Q**1**z**Y****5*]******(Z***2************sxS***O****V**Yl*D****k**"***'****_*V***H~*;8*n2**f*****i**,***w*Uu*K*******m **1**A***1****q*H*V$I****1s***O*+v***f***+*l**a***I>*F2x****1*l+
Receiver:*j+*q@***Rw*6**N*y3+?*Q**5@***ERC*l*,*l*I8*S
Sender:+o1****j*t***p.*******************{****X***<_******e******^*S>Q*A**"s***I*k*qf*3**** E***}4*******M*****d@Gxx*$**p:**Fn****e[Go*
Receiver:**q*_U***Z**cKL*Gq*@****;**S*O*K***p***aIh=***S*4r$#*******Y*i*******|*s*o*sS**H***9*7*W***m****}***8*&kcyn*
Sender:****@***f*\**MQ*Ga[*Vt*s***E*l******
Receiver:?:P**#*****D*R**1ZT***Wn*^*<g*nz*fB*****]**B*S=M*mS*}FC**(?*
Receiver:o**s**"G*kzY*Zr*<*jK*9*G*FI+**26***\***f*4V***P*****D*:****L*=*D***8D.*>f|**'*]*#H*o**JM*Ice
Sender:+**R*********U**s*)*********}**************Z
Receiver:****/*"*Z*c%*********(**"+*Y*****_*****c**1***D**qx*`p'-**L*B**R*6'*
Sender:'*X$***H******(}**q*4******`0@W*C*A*E***$Y^*O*S***s*Rb<*)***6+*x***N
Receiver:*$Wavf*(**<O_*L**~^*:*"****V****n****c**>*|d**o**=*?******xJ*IoJ*O*V**K**Pm7**KL}_*R{** ]****V.*[*p**Y****]*m**d**[+TXR*@*4e (c**aNAR**L***H**Z-******P>_*****f**Y*c>*****Y**sE***y#x*****i*e**A**zM****q**u4'*****i****mjse******@********,L9.*}*f***j*E*f*K*P*$**f**Q*n*]*da*bZ*_***G**`n*B*****zg?**X0F*!s*q****2-ByE**:***S*{**C**v****tge**r****:**T***H,w**~*Z*)*4***]******H@**i*`*Vgx*******t**G***2*gS*#**%s******vK******:****R**e*t*,****;b*W*?*r=i*JE3L**ca+*^*E***p'h*****Y***5*"*<*a]",d*^***b*tk*y*,**********J"G**%*Sw*x*E4l*h,*******C*0+YF<*W*f4******!****n'*****,***>*3*N***-*F**********P**`***q*******Uw****[y4****tY*f*********8C***E**nJ*~i*#****i*^HL*****q**"*******<**T*2*0z)***e**,****1*V*******tz***;*****aj*_.1}M****I****X>*** Z**Hk***B*P**IH0**4*7&+Iw-Z*i~f?w*****h$?*(***oM**j*r*****g**`c**P*******-**~********q****d****=**$S*Ls*v***Y*G]f**0***(**%*@Z(L**v***l****SE@3*\****tn****/*********D*>7*******%%**>*61*1T*O=4*k=h***X****8N**0H**V**********6`u***1*H************]**T*****@U**\***GfQAn6*J=!P%Z********O***%w#7*&*y`***^*WM]****&******g***/)***=-**J*d*>C[***`Z*b*P*****.*~*8*t*E**<s)***{D^*6*****]t**$*R*******\*c#*I**********^******^b*-*B%**c**7***L*G*@*g*!3***S**Y^.***JgSE*** K****** 7$*********E)**ko*v*i***p*]**d**>*qc*wr**b**_wD**:e**r****>D***;*u*****f52***?g***k**^***bW*xb**q*B*}****@*^Lj(EY****A*******v**G**X*:**:*J*_**C****0*]*|**iA*3**e]h~*%/x*****e***uN*******J********J!o|f******@y**;s?7&L***k*f*}+**6*d***q********eUwj}******Op********-^Z*****>****5cF**~******J4{*****t~****<**p*<***Z*********=******r&*i3**3MV*
Sender:**G***!Y*:***Y**c*}+**H*******n5F**y*9****9*q*u`3X*3<5******s****C**#**:*****`***$,9Z*zM:[***k&*4;:p8=**x***j?&****^c**:I*$*E**Av*****u***:***fw*;X} **D'?U*`*9**2**@n6****Z*8*1*n**********xl***\****<*6**********y*?**5*CL*w*y***"~4%*H***^*)C**h|*\**QND*****K*****U\****Z*******c;****j_pl*"]>*by***'Mc****A******X***0^**X*j**\,g*w*A*O**S*T*******d~*********;**=*#***&*P.&~**z0*6*l********L*******UXOV******h**Mp+****s2****kF** **bK,***Lw!*D*6>V**F**Hh{T*1**y*+n**|*A/.S`+7***eP=**pi***6*a***E*^*7:e*G*Q$Z*e%***?y**q***l****a/**K****r{**-**|e7*****)**Y**TU*E**i(h7b*Q************fA**********Q*****X*%******U****B*p*H*X********Mf***%**x***OT4*****O*V***tF*G1[**{A*****@L0L{u7k#*<*)**=1*********:*9******8*ZL6****p;***;*** jU****4*F*i***b*z\**=********n***>*****H*i}***lQo*Z**$(*I.*jj*G******WJ*****x*****x*\*****8~*#*/********o*******>$*@K*/*k***oOm*{*U*p**f****NyeM*^4***]**[***_**z*@***p***?**wyL**l**8****+***|\******S**?**m9*Y**e-*D******G****]*****g*:R*A,*Gu9*N*,***&***%******,**c*:**X*B**]**-1IC****|*~*4i#**&******$**9****d***$Q****p]P**[****c**h***?)(***G**** *PQP*,3*LF*1*N*f(*(******3*3"3**4*9*(*****H*Po***Ba
Receiver:,Rn*O*u*^**y**b**%R-**a****R*g****7***)=****uMtf3*Z****r**nm********9*******F****_******Lm4**}Z7,**J*****>******U******G**r*=H*r*B*Mmg**di*****qOG*****G**@*?x**********:**-*3!*******'x*cw8*]cN****^******j*****1k**l*s****{*5**c**e***=g*****~I***v.*********&*e~*******@***.*4*&**T*2**0Jg****:`*2%"****i*LL*F******TK3w5***,T)*:******n8|***X**:*o7.***r*******0**I**M******B**C**iUB**1Zk$z***]*!*****C****H9<8**^****?C***,*A***5*x(**x"*s******t******W~*4**~+:cb1hP***l>*'2.*"d****i(V***X**YxSU******=*****M******8**4_%p*z*-***2C*****f****1****g**b;*0*Y* *5. *mn:UoEO:*K*<****]*!*o***M*]**2h****l****S*:*Wzi****_***'****;**Zo?}*4bN*****`**y*|*V[****v**b**eF***D*_|*&*h***?**"v** *x****;I******`5*3****g'-*:**6*7R*d*7*l****AtU*(***a***0*m***^***{***P**<**1Q** ****j****O*o***h*x*******f]*}h***8f*/N*6****"p:**d****C*"t5f**********)*8*%.***j***y****#*4*X*****-q**z**e***h**D*{%*****P*CS**Kv*p**@**&*.G**B**H7Q3*****'M*[*xW?*6,0R*<****J*S**!***j****%**Um$]**(x**J****g]l*p***T*O*`**u*V^L*WW*^**T*********,aV**:***T$**Z**********,*C**od9[*e  cB***!*m****BB!*2**po*a*C******]****4**p*8***0*v****`*,o8***}**|**~***d5k**;**oc*Z****Lw*1**`z*r<***I**SZ****lh******8*/****=U;******1H**uj/;****c**w*'**v*=t**)k**3***]***W**n8SOb*+G****'*+ko********s}kj**'ew****
Sender:*>*******t*QA9*****@O************j******uGAh*****G***Rv**u***O***As****?oP*f**2*>1u***@*V*IT**:****G*?**tRr*nP*****|U**H***hi**wI*q*'#***9X+*************:0**B***$*&?*{!sGY***w***XsG;**!**`'w**^*4*R{=*9***Z**}**j*G**uO*$N*c*QW***_+**#ns7/1****F*T******^*N************_***:M**Wq**~*****p<*b*m***l***8Cy**M***DZJ\*j**w***Q******Zb*Ur35h*(*&*4z*)******~*v*6***ui**sA*f*ky*-***"*`**Z****),**g!DZ*l****94*7*zv***_*******4**4|****`*$*********o*0pM*****4r#****Z****?>****j***$*R*k|}****B*Tz***?***3***X**7**/**q-**7**]*vk*&{*GS*J***U**********+**-***4**jyG{**.***SW*b***fd*aTdv/h**l4**&*********5*****.*+M******I*l**Oe*AT**.****vL~**9******S*******P**7****D*ZV1( $l*)|d*******[*4*********-*[*****@*v****Z~7****"**Vg7Dy***@*4UN***g*wV*!0rDNH*)**U***:Z*******E"*x]%*e!****'*T(**,>Z*4q1******w***$****?***=**N)***u8nS**********"*=X9Z******+**%**-4J**1*N****=_.*m***J"Q*g**X**][[*_**}q**3******8****l[***QbWT4n*****{**h******b***vH*W***\V***cH*******@bh*****.V*******aF***Cr*Z*yK**6*****]**/2*:LF*U****D****#QH**w*o*****G**Ww**b#*G*^*****g*a**edRd)*****;b*?z****m**q]**N*0_**rE**;******h6****c***d**$Q*****<***h1M*r**8h**C*****08*(]jv*$*****g*******1**"*d*****v*;.******J****+*****%****)****************=*&****A**F*LB**A****q**F*A**hL****3*2j*****O*R*9*x61n******Z**2****m**h*X*ou***Y*i**3****q*g**W*%*a***P*E***j******9**!**Jg*%***,U*X5**M*D***n*{*|***)**y****'N*$****m***q*i********.S***t**c********3w^***!@****XM************!*?****9******$P**>_ew9***'**********m*M***>*&****3**|*RP*j*****}*3J*1~|*R*::***m**_***u;X*****idY*hE*,!*q**T***O!*5N9}*.****V*"***HoY*/**********v*********W**o=Z**j*\****Yo****cXY5;***c***
Receiver:**M***I****T****^*tz|*+*%**b*******~~*|*dg***(*[~@9*S*B*********(***>*P**Fz***n!*pO*"r*F@q*T)D*q*cj*
Sender:4*,**KSN***;`*****}B****^2***.\*****Q=*'**"****************m***[*^*.**;**(,*q*kS***X
Receiver:*3*****~***r*X*f*E&****G****'*_s@*Mg?IG*{**v*****s *:**(**_***S1**E*D***TEp*u6V%@****CY***`**P***B***}]*m***
Sender:Y*WgQ***O***"*@*****z***(1rK**|***"***&*^*****9*-*Zh5t****@*}*D*****Yy***+****G**G,*
Receiver:i**k***W**/**2***Q_*****Z**V*&******q*Rt*W********r***************FyQ*b[3**(.****L****O*K* *****t**6b****0+*******&**L**0B-*****,*M*,O**E**e)l+*~****b*zB*a*<{*_**S*3X**([***!C***8*
Sender:*p*H******u**cD*E*k}Y^q*****q*;*9*e**{*N**L:*=**\*N****=**v*[*1****i*>$*****d**y;)************)}q*I*2****M*w*r*B*,U8**#**XT*****8Sk_**[Gk***
Receiver:***hv****t******w*****K>x****4**K*)*****UL;*G********rp*******p***b\**i****~***z>*******6******W4f****QXD*****_**+(f**/****u**(**u**x**q**W8Kic}**J***)2}$?L*&*^******psng%*B1**_~*4*:**********a*5**********u'*,**?*x*3*.**d*************K**o******Idh-*+$**9f*w*> *p*"*****f*"m*k*d******2\**7*A*m*q***l*******X*,**l****jE^_Xcb!****n;****@*aRp!*`*~****-
Sender:*******VZ**\x*************I**QH*y****x*<*P**s#c*A***8**KB*/*{*******
Receiver:f*N*j****{*{*s*3*****GK*!e******\**Dj**y***:****2*-[**Z*Pd****;k*"*h*&w*?*5*U2***E3-*I*}*B*** *****<a0*^*#*P**s***noU***)*Tec*V***[nx*d*0*0*******_*
Sender:i$@F*NM(***Z**I**:**p.***A***2***+***Pk***b***x|**<`****D***e**e*D***vS**]*t*!**7**x**P9*(****)****<*=S{***B}&*N*~r***X****D*g**2*"rC*p*\***!)*;*c*5x[***'.****#*E8}**~**?***>6'********P****.****D**6rf*!&*4**=`!%**%**.*\ld**$*VXR*<hk*K**0*P*J**o*#*f*********W***>*e***s%9<)*Ap*Q********`*Ac*****3*o**m* ***N**g*0***/*5/O**Q*N**b*(c***1<EqM*Z*****b**Y**kl***I*o/<*3***K*_*****W**'*****D*:**I**EM\***Dy***** l******=**F*****h*******T**c**R**p***[********[*}****m***L<***)*wMb***"**,**S**v*E]*=**-q^S*j*** *p*P$\6g***~**S****"**-*v****%*T*9+*l*r**y***9****,*}*?1*8*6****E=_******t**5**~dZ?-********)Y***R**h*I**M***********<*****6*******u******T******w*****<>l**^'**1#***gA**9******ym*;**U.'b***H0*#%****iwO4.*Mc**,_#"{******F****sL*****7M****V3****6****T@W*e**("*D;*****/N**Z***d*J*y****k(}*K*x**'*******"**
Sender:*o*v**h*Q*+i**U1.a$*?*s***M****n**I******,**@$ **i*@*W******HK*****5{*****@Z****_*S*]*v5*****.V*=*G*** *x*W|*:jV:F******%ubu*vs*****{*?**{y\***&**[*L****h**|***G**=**o****:**C**\***f*********u$**\_-*=*w****Rd******P*****
Receiver:***#*`*d**'*d*****eCq**/**l*****x***gXGD*#*J*3*******w***k*5***o******C***=****x*n4**B*******rw*A**`***5*u*****u****ccwk*$h*d**lWKZZ*ZX****@****'*_=*~**Ow**d***]/**_5**',*****pv4***B-*9*M**U**&OX***2*F******R**hY*6****Wz|%,*****d*L(*******4***,****z***<1UI2**fR*ou*.%J*A****t******]<**O**H****{**k******0D**** ***c*d ****~*p********-*a**m*****I*R***z*?*{*i*****o(<*w*Z,**&*******?{*a*}JG***1**;\*\]G{**,*8***K**n
Sender:E*s*******A**n**T*U@**l*5*.******9x/E***<**x****W***!>r,*X.**V*`*******f9**d*S**x**4*E******]Z***s**]Z<B@*vE*,%***@**********C*.#***@****Z**k*:*****
Sender:(}b*Q*Q*p***{3*n********r*******D**b****w**,j*=*K**h**m`K****H*I**n**M***HBY****b****,***0ha*****h**U-**_*8***0***'ZZ*w**w***:****H*=d***X#**j*******Hu\*(***9**F***q**5.*R*]***l******29#*5*********<S*<k*Z%$*J**_***=*Md*X***7*r*x*****.*>******V*V*****D*`**7**s*ThN**sNi***:m***c*={*s*1'b****.+`***u***m**v*j****]**. **b'**Q+>******eWj*s**F7**Ftr:*****Jw*S**1w*1*********P****-***qn*yp****5&P*6>Z****Y***V*****6D#***T***>5***N***]*}*O*L*v*Q******{**C**4*********
Sender:t*-*XGm***5***?X*5**;**w****bG****d*****Dl*!*z******Y*5**h*0v@*H6e**dx**t}|***=[J*****^****p**q*M`g**N*^*|*S***`(**l**G**u}*f*>*******3M****
Receiver:*o*<"V***G****6*P_*g************I*p**e*A********'**'**c*e[MDy*!**X,**889***)
Sender:**r*m*X***@**p****O*d*]*%ST"**';***%*\**9***G****%****8**4 **\*E*******O****
Receiver:**1**z******^***SLz*;****n***a**_v(*****|[*}Z*CQl***fs*v+****WM*dL***B**$**F
Sender:***"*:***********2***G****P**i***i**>*L*Y*****`*E Dg**8Q*D****|****i*****K*x
Receiver: *****(*********C***bk*y*****%F*=2*****-*|**=**f*z******^**C***>*?*_{*****h.
Sender:*Q*(*******2*q**1**c7**E**N*Oj6$**]*****l**N**U***d****z**9E*u*70***y*c*@*E*
Receiver:**g*****}**c**<** *_ ****nY**1*k**A****h&*****O**g*K*^Wt/RT****O*;\*|**Op*4*
Sender:**Wp*:*\******PJg*]*K*****X**!R**.,tezu*I********N'******=***R****:T**'*l{6`
Receiver:***f**m<*********q*"*K*E**t*t*aox*"( 4****hk***1*@b<#**SV>k_**C*X2,V***r***K
Sender:{***** *****?***/$**7***loG*g*/********z*n****OGH'***8**/********n**u)u!9*s*
Receiver:**(**@******>g**ws"*****pX*K**D*6 ***5**'*_{*****g***2***d**I*****O***P**>P*
Sender:*o4_Z*p**@*i*****l*.!fZ`*U**Q}*****@*i*w*Ai*YC}D*d*&vc*N***5>*qh*Y*A******"*
Sender:***7*m:**************z*u***15W`*l****yB**`**s*****;**X****A*********V*.**r(**%******
Sender:**c*g**=*~****N********9****4************-**[4*****t***#*2**o**0<**0**x**Wb****\8>n*ns^***8***Zgp*P****h}***d+**G*4S*****@6A)p;sx**~]Ot***:*|*9****,G[9*|*A*.l*d*s*oe*u*****"igV***(********FJ~yy******Q***6
Sender:*T******o*b[%***7*|;\**Q:**G=*******Wi&9***u**L*****h************c***}ft**nS****~**{
Sender:~***1U**-r*J*h*z***(**%**q***7***2********DZ****A*4******q*8*0*]*****@*X\*I***Q*w***O**zJNh/Y*/*q***
Receiver:~4**L*O**&7*{U7QS*0**wM*b****{H^*K*(*X***R$***#cb*6***.***Z]c**l<***l4****S*
Sender:*Hr**Ff8***=**q***v*5*RElC=******H***n***E*&****<j**{*****Ps**8*Y**G`******x**O*A}$***FD**'a|*3***X***{*d:*f*5]***AZR**+**GJ*r*?*******=!v****;mVppR:*C***p**M`****,****K**Z***b*}***3**I****pm**l*K**0*********;*~***********s*D****y[*\*=**Y**F*DR*@$*N**Ca|`&*]***2o****U***-**o?
Receiver:]*G*****7*****9****=*2*********29***J**<,*'3S*_k****%************?***3*****]&*Zo1=*F******?*K*****{**:****J***2**<G*u***L(*d*****To*****Vz<*Y**/s*\h**QP*)*rQ*r**D*****n
Sender:5G**e*O**N*****}**$*y**KXn*RrZxv*o*q*mq*sK*a********U*p***}**|*J*LT**QbT
Receiver:/*****GU**0^l<e-********vX***~G*s***
Receiver:Px**5**.*<**Q*>X**************H4*1-***P*0**;*\*6eS**** *******1*X***X**9g#**v***x*{RVR,<****Rj****z"***********Vi*****h***|*
Sender:*e*;**5#f*u*i****B`******@=*C*A******X?o*/****4*****=2*****z**G\*****n*o*d**t7***$@3******d^**n*
WARNING|2023-08-06 19:59:08.365676| sshrvd / socket_connector |Finished session 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 for @objectobject85 using ports [32777, 42623] 

^C
atsign@docker-desktop:~$ 

SSHNPD Logs:

atsign@0592dd777b91:~$ ~/.local/bin/sshnpd -a @47freshbanana -m @objectobject85 --root-domain root.atsign.wtf -s -u -v -d e2e
INFO|2023-08-06 19:58:29.034417|AtClientManager|setCurrentAtSign called with atSign @47freshbanana 
INFO|2023-08-06 19:58:29.034529|AtClientManager|Switching atSigns from null to @47freshbanana 
INFO|2023-08-06 19:58:29.035901|HiveBase|commit_log_1e202ef88d30b6797ea88c35ca8fcf6b95c6736a925164fb5aca503bb69fbdcd initialized successfully 
INFO|2023-08-06 19:58:29.037124|HiveBase|1e202ef88d30b6797ea88c35ca8fcf6b95c6736a925164fb5aca503bb69fbdcd initialized successfully 
INFO|2023-08-06 19:58:29.037156|AtClientCommitLogCompaction (@47freshbanana)|Starting commit log compaction job running for every 11 minute(s) 
INFO|2023-08-06 19:58:29.037688|AtClientManager|setCurrentAtSign complete 
INFO|2023-08-06 19:58:29.037704|AtLookup|Creating new connection 
INFO|2023-08-06 19:58:29.389886|AtLookup|New connection created OK 
INFO|2023-08-06 19:58:29.509833|AtLookup|auth success 
INFO|2023-08-06 19:58:29.805732|AbstractAtKeyEncryption (@47freshbanana)|Encrypted shared symmetric key for @47freshbanana not found in local storage 
INFO|2023-08-06 19:58:29.805771|AbstractAtKeyEncryption (@47freshbanana)|Deleting @objectobject85:shared_key@47freshbanana from LocalSecondary 
INFO|2023-08-06 19:58:29.805959|AbstractAtKeyEncryption (@47freshbanana)|Fetching shared symmetric key for @47freshbanana from atServer 
INFO|2023-08-06 19:58:29.874068|AbstractAtKeyEncryption (@47freshbanana)|Retrieved my encrypted copy of shared symmetric key for @objectobject85 from atServer - saving to local storage 
INFO|2023-08-06 19:58:29.877038|AbstractAtKeyEncryption (@47freshbanana)|'Their' copy of shared symmetric key for @objectobject85 not found in local storage - will check atServer 
INFO|2023-08-06 19:58:29.923422|AbstractAtKeyEncryption (@47freshbanana)|Found 'their' copy of shared symmetric key for @objectobject85 in atServer - saving to local storage 
INFO|2023-08-06 19:58:30.022505| sshnpd |Starting heartbeat 
INFO|2023-08-06 19:58:30.022539| sshnpd |Subscribing to e2e\.sshnp@ 
INFO|2023-08-06 19:58:30.022590| sshnpd |Done 
INFO|2023-08-06 19:58:30.238713|Monitor (@47freshbanana)|monitor started for @47freshbanana with last notification time: null 
INFO|2023-08-06 19:58:37.004898| sshnpd |Received: privatekey 
INFO|2023-08-06 19:58:37.004929| sshnpd |Private Key received from @objectobject85 notification id : dfc1253b-2b77-4bb4-b390-4d18d93ca631 
INFO|2023-08-06 19:58:37.649597| sshnpd |Received: sshpublickey 
INFO|2023-08-06 19:58:37.649631| sshnpd |ssh Public Key received from @objectobject85 notification id : 7879ec91-d511-456c-af53-f858eee90060 
INFO|2023-08-06 19:58:38.301214| sshnpd |Received: sshd 
INFO|2023-08-06 19:58:38.301245| sshnpd |ssh callback request received from @objectobject85 notification id : be3de72f-a9c4-47f2-bf94-1fbc8d1ac7b6 
INFO|2023-08-06 19:58:38.301260| sshnpd |Starting ssh session for atsign to 192.168.65.4 on port 32777 using localhost:38785 on 192.168.65.4  
SHOUT|2023-08-06 19:58:38.301275| sshnpd |Starting ssh session using hostSsh (/usr/bin/ssh) from: @objectobject85 session: 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 
INFO|2023-08-06 19:58:38.303307| sshnpd |2acbc5f2-08f4-4c23-8b82-f380e5ab6289 | Executing /usr/bin/ssh atsign@192.168.65.4 -p 32777 -i /tmp/.bde14fc8-5d37-4ea3-9a52-f0c8020cc4ce -R 38785:localhost:22 -o LogLevel=VERBOSE -t -t -o StrictHostKeyChecking=accept-new -o IdentitiesOnly=yes -o BatchMode=yes -o ExitOnForwardFailure=yes -o ForkAfterAuthentication=yes sleep 15 
INFO|2023-08-06 19:58:38.346311| sshnpd |2acbc5f2-08f4-4c23-8b82-f380e5ab6289 | sshStdErr | Warning: Permanently added '[192.168.65.4]:32777' (ED25519) to the list of known hosts.
 
INFO|2023-08-06 19:58:38.414327| sshnpd |2acbc5f2-08f4-4c23-8b82-f380e5ab6289 | sshStdErr | Authenticated to 192.168.65.4 ([192.168.65.4]:32777) using "publickey".
 
INFO|2023-08-06 19:58:38.425795| sshnpd | sshnpd connected notification sent to:from "@objectobject85:2acbc5f2-08f4-4c23-8b82-f380e5ab6289.e2e.sshnp@47freshbanana 
INFO|2023-08-06 19:58:38.470976| sshnpd |2acbc5f2-08f4-4c23-8b82-f380e5ab6289 | sshStdOut | ssh session complete
 
INFO|2023-08-06 19:58:39.079832| sshnpd |SUCCESS:id: acc8a956-09fa-42fd-95d5-6fd3a3414211 status: NotificationStatusEnum.delivered for: 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 with value: connected 
^C
atsign@0592dd777b91:~$ 

SSHNP Logs:

atsign@59983faabb38:~/.local/bin$ ./sshnp -f @objectobject85 -t @47freshbanana -h @extensive9335 -s id_ed25519.pub --root-domain root.atsign.wtf -v -d e2e
INFO|2023-08-06 19:58:33.908822|AtClientManager|setCurrentAtSign called with atSign @objectobject85 
INFO|2023-08-06 19:58:33.908948|AtClientManager|Switching atSigns from null to @objectobject85 
INFO|2023-08-06 19:58:33.910584|HiveBase|commit_log_e07b6ab5ed286e5e1c98234fa66ada61c72fdce6ffd34d210ebf91a5219973fa initialized successfully 
INFO|2023-08-06 19:58:33.911942|HiveBase|e07b6ab5ed286e5e1c98234fa66ada61c72fdce6ffd34d210ebf91a5219973fa initialized successfully 
INFO|2023-08-06 19:58:33.911985|AtClientCommitLogCompaction (@objectobject85)|Starting commit log compaction job running for every 11 minute(s) 
INFO|2023-08-06 19:58:33.912572|AtClientManager|setCurrentAtSign complete 
INFO|2023-08-06 19:58:33.912588|AtLookup|Creating new connection 
INFO|2023-08-06 19:58:34.264286|AtLookup|New connection created OK 
INFO|2023-08-06 19:58:34.356442|AtLookup|auth success 
INFO|2023-08-06 19:58:34.404478| sshnp |Subscribing to notifications on 2acbc5f2-08f4-4c23-8b82-f380e5ab6289.e2e.sshnp@ 
INFO|2023-08-06 19:58:34.577543|Monitor (@objectobject85)|monitor started for @objectobject85 with last notification time: null 
INFO|2023-08-06 19:58:34.690658|AbstractAtKeyEncryption (@objectobject85)|Encrypted shared symmetric key for @objectobject85 not found in local storage 
INFO|2023-08-06 19:58:34.690692|AbstractAtKeyEncryption (@objectobject85)|Deleting @extensive9335:shared_key@objectobject85 from LocalSecondary 
INFO|2023-08-06 19:58:34.690875|AbstractAtKeyEncryption (@objectobject85)|Fetching shared symmetric key for @objectobject85 from atServer 
INFO|2023-08-06 19:58:34.737986|AbstractAtKeyEncryption (@objectobject85)|Creating new shared symmetric key as @objectobject85 for @extensive9335 
INFO|2023-08-06 19:58:34.738751|AbstractAtKeyEncryption (@objectobject85)|Deleting @extensive9335:shared_key@objectobject85 from RemoteSecondary 
INFO|2023-08-06 19:58:34.784762|AbstractAtKeyEncryption (@objectobject85)|Storing new shared symmetric key to atServer 
INFO|2023-08-06 19:58:34.829418|AbstractAtKeyEncryption (@objectobject85)|Storing new shared symmetric key to local storage 
INFO|2023-08-06 19:58:34.829809|AbstractAtKeyEncryption (@objectobject85)|'Their' copy of shared symmetric key for @extensive9335 not found in local storage - will check atServer 
INFO|2023-08-06 19:58:34.923498|AbstractAtKeyEncryption (@objectobject85)|Saving 'their' copy of shared symmetric key for @extensive9335 to atServer 
INFO|2023-08-06 19:58:34.968957|AbstractAtKeyEncryption (@objectobject85)|Saving 'their' copy of shared symmetric key for @extensive9335 to local storage 
INFO|2023-08-06 19:58:35.621794| sshnp |SUCCESS:id: 7a550e1d-7f91-4065-b44a-287d7f6bfe96 status: NotificationStatusEnum.delivered @extensive9335:e2e.sshrvd@objectobject85 
INFO|2023-08-06 19:58:36.561176|AbstractAtKeyEncryption (@objectobject85)|Encrypted shared symmetric key for @objectobject85 not found in local storage 
INFO|2023-08-06 19:58:36.561211|AbstractAtKeyEncryption (@objectobject85)|Deleting @47freshbanana:shared_key@objectobject85 from LocalSecondary 
INFO|2023-08-06 19:58:36.561479|AbstractAtKeyEncryption (@objectobject85)|Fetching shared symmetric key for @objectobject85 from atServer 
INFO|2023-08-06 19:58:36.605406|AbstractAtKeyEncryption (@objectobject85)|Creating new shared symmetric key as @objectobject85 for @47freshbanana 
INFO|2023-08-06 19:58:36.606158|AbstractAtKeyEncryption (@objectobject85)|Deleting @47freshbanana:shared_key@objectobject85 from RemoteSecondary 
INFO|2023-08-06 19:58:36.662996|AbstractAtKeyEncryption (@objectobject85)|Storing new shared symmetric key to atServer 
INFO|2023-08-06 19:58:36.706498|AbstractAtKeyEncryption (@objectobject85)|Storing new shared symmetric key to local storage 
INFO|2023-08-06 19:58:36.707029|AbstractAtKeyEncryption (@objectobject85)|'Their' copy of shared symmetric key for @47freshbanana not found in local storage - will check atServer 
INFO|2023-08-06 19:58:36.807865|AbstractAtKeyEncryption (@objectobject85)|Saving 'their' copy of shared symmetric key for @47freshbanana to atServer 
INFO|2023-08-06 19:58:36.864416|AbstractAtKeyEncryption (@objectobject85)|Saving 'their' copy of shared symmetric key for @47freshbanana to local storage 
INFO|2023-08-06 19:58:37.503752| sshnp |SUCCESS:id: dfc1253b-2b77-4bb4-b390-4d18d93ca631 status: NotificationStatusEnum.delivered 
INFO|2023-08-06 19:58:38.147698| sshnp |SUCCESS:id: 7879ec91-d511-456c-af53-f858eee90060 status: NotificationStatusEnum.delivered 
INFO|2023-08-06 19:58:38.581943| sshnp |Received 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 notification 
INFO|2023-08-06 19:58:38.581974| sshnp |Session 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 connected successfully 
INFO|2023-08-06 19:58:38.788431| sshnp |SUCCESS:id: be3de72f-a9c4-47f2-bf94-1fbc8d1ac7b6 status: NotificationStatusEnum.delivered 38785 32777 atsign 192.168.65.4 2acbc5f2-08f4-4c23-8b82-f380e5ab6289 
INFO|2023-08-06 19:58:38.788467| sshnp |Tidying up files 
ssh -p 38785 atsign@localhost -o StrictHostKeyChecking=accept-new -o IdentitiesOnly=yes -i /atsign/.ssh/id_ed25519
atsign@59983faabb38:~/.local/bin$ ssh -p 38785 atsign@localhost -o StrictHostKeyChecking=accept-new -o IdentitiesOnly=yes -i /atsign/.ssh/id_ed25519
Warning: Permanently added '[localhost]:38785' (ED25519) to the list of known hosts.
Linux 0592dd777b91 5.15.49-linuxkit #1 SMP PREEMPT Tue Sep 13 07:51:32 UTC 2022 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
atsign@0592dd777b91:~$ ps -a
  PID TTY          TIME CMD
   20 pts/0    00:00:00 bash
   21 pts/0    00:00:00 dart:sshnpd
   42 pts/1    00:00:00 ps
atsign@0592dd777b91:~$ 
logout
Connection to localhost closed.
atsign@59983faabb38:~/.local/bin$ 

- Description for the changelog

closes #253

@JeremyTubongbanua JeremyTubongbanua self-assigned this Aug 5, 2023
@JeremyTubongbanua JeremyTubongbanua marked this pull request as ready for review August 6, 2023 20:08
@gkc gkc merged commit d2b96b9 into trunk Aug 7, 2023
13 checks passed
@gkc gkc deleted the jeremy-rootdomain branch August 7, 2023 09:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

SSH No Ports: rootDomain option in binaries
2 participants