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

Better UX #953

Closed
XavierChanth opened this issue Apr 16, 2024 · 1 comment
Closed

Better UX #953

XavierChanth opened this issue Apr 16, 2024 · 1 comment
Assignees

Comments

@XavierChanth
Copy link
Member

XavierChanth commented Apr 16, 2024

This is a multi-part ticket which discusses various enhancements which all go together to improve UX.

  1. Share sshnpd registered services with clients:
    The npt request in sshnpd has the permitOpen option which requires you to register the allowed services with sshnpd. By default, it allows localhost:22 & localhost:3389 (ssh & rdp). As we think about UX, it would be nice to have this be shared to the client when list-devices / pinging a device. This would also be good to add hand in hand with noports daemon: service file #924

  2. Hidden device state:
    In addition, I think we should replace -u with --hide so that the default mode of the device is unhidden. The reality is, that devices must respond to ping requests regardless of whether hidden is on or off, and yes, if someone does get a hold of the atKeys, they have a much easier time breaking into all of your devices. But if they have your atKeys, it's already doomed for you 🤷‍♂️

  3. No more local config (more portable)
    This allows us to ditch the concept of client-side config / profiles. Now we can generate appropriate connection information based on the advertised information from the device. Ideally, to use sshnp / npt (or other wrappers), all you need to provide is the from atSign. Since everything else can be looked up from the atServer.

  4. APKAM in the installer (Really portable!)
    This is the last pain of the installation process.

  5. Easy to use TUI/GUI
    I think adding a TUI wrapper around npt / sshnp is a good balance between ease of use, and simple to maintain. With all of the above changes, the TUI could do all of the appropriate config, even going as far as pinging each of the RV points to find the one with the best response time. And of course, we can uptake all of these same things in the GUI version of no ports.

Imagine this scenario:

  1. Logging into a new machine
  2. Downloading noports with universal.sh
  3. authorizing your atKeys onto the device via APKAM
  4. then just typing np and a list of all your devices pops up
  5. Then hjkl or arrow keys to the device and service and hit enter, and boom you're in.

This is all do-able without breaking changes! Except, technically it's a breaking change to the installer, since it won't work in a script without adding a --no-atkeys flag since running APKAM / at_activate will require extra synchronous information during installation.

@XavierChanth XavierChanth self-assigned this Apr 16, 2024
@XavierChanth XavierChanth changed the title v6.0.0 Default Client / Device interactions & assumptions for better UX Default Client / Device interactions & assumptions for better UX Apr 16, 2024
@XavierChanth XavierChanth pinned this issue Apr 16, 2024
@XavierChanth XavierChanth changed the title Default Client / Device interactions & assumptions for better UX Better UX Apr 16, 2024
@XavierChanth
Copy link
Member Author

Closing this, as this issue is primarily informational and things like #1003 are improving the UX more directly

@XavierChanth XavierChanth unpinned this issue Aug 30, 2024
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

No branches or pull requests

1 participant