mirror of
https://github.com/xpipe-io/xpipe.git
synced 2024-07-07 15:25:55 +12:00
72 lines
4.1 KiB
Markdown
72 lines
4.1 KiB
Markdown
|
## Changes in 1.5.0
|
||
|
|
||
|
This is the largest update yet and comes with loads of improvements and changes.
|
||
|
As a side effect, it will also break some existing connections, so be prepared for that.
|
||
|
|
||
|
#### Passwords & Password managers
|
||
|
|
||
|
This update comes with a first attempt of supporting the retrieval of passwords from external sources.
|
||
|
Due to the variety of available password managers and formats, I went with the most straightforward approach here which is essentially delegating that task to the CLI of your password manager.
|
||
|
|
||
|
Essentially, you're able to specify a command template to retrieve your passwords.
|
||
|
For example, by specifying the command template `mypasswordmgr get $KEY`, you can then choose the password went creating connections by just supplying the key argument.
|
||
|
XPipe will call the command, read the password, and supply it from there.
|
||
|
|
||
|
There's also support to specify an arbitrary command or to dynamically prompt the password on each login.
|
||
|
|
||
|
#### Fish
|
||
|
|
||
|
This update brings support for fish as another possible shell type.
|
||
|
|
||
|
Note that there are several limitations with this implementation as fish does
|
||
|
not support an interactive mode in headless environments,
|
||
|
resulting in XPipe having to use a fallback shell for certain operations.
|
||
|
|
||
|
#### CLI
|
||
|
|
||
|
This update lays the foundation for future advancements in the command-line interface of XPipe.
|
||
|
To start off, it comes with a few new commands to read and write files on remote systems directly from your terminal.
|
||
|
|
||
|
The workflow is designed as follows:
|
||
|
|
||
|
1. You can list all available connections and their ids to use with `xpipe list`
|
||
|
2. Using the command `xpipe drain <id> <remote file path>`, you are able to forward the file contents to the stdout
|
||
|
3. Using the command `xpipe sink <id> <remote file path>`, you are able to forward content from your stdin to the remote file
|
||
|
|
||
|
The id system is flexible, allowing you to only specify as much of the id as is necessary.
|
||
|
|
||
|
An easy example would be the following: Assume that you have a Windows server with an id of `ssh-windows` and want to filter a file there, but you are missing `grep`.
|
||
|
Then you can execute on your local machine: `xpipe drain ssh-windows "C:\myfile.txt" | grep <filter> | xpipe sink ssh-windows "C:\myfile_filtered.txt"`.
|
||
|
|
||
|
The XPipe CLI should be put automatically in your path upon installation, you can test that with `xpipe --help`.
|
||
|
Otherwise, you will find it in `<xpipe dir>/cli/bin/xpipe`.
|
||
|
|
||
|
#### Antivirus adjustments
|
||
|
|
||
|
As it turns out, several antivirus programs do not like XPipe and what it is doing with shells.
|
||
|
As a result, some of them quarantine XPipe and even the system shells itself as they get confused of who is making the calls.
|
||
|
|
||
|
This update aims to reduce any unexpected issues caused by antivirus programs by automatically detecting whether a problematic antivirus is installed and giving the user the chance to prepare for any upcoming issues.
|
||
|
|
||
|
#### Cygwin and MSYS2
|
||
|
|
||
|
XPipe can now automatically detect Cygwin and MSYS2 environments on your machine.
|
||
|
This also comes with full support of the feature set for these environments
|
||
|
|
||
|
#### Misc
|
||
|
|
||
|
- Separate staging and production storage directories
|
||
|
- For every system, XPipe will now also display the appropriate OS/distro logo (if recognized)
|
||
|
- Rework SSH key-based authentication to properly interact with agents, now also including pageant
|
||
|
- Add ability to test out terminals and editors directly in the settings menu
|
||
|
- Implement a new internal API to better assemble complex commands
|
||
|
- Rework os detection logic for passthrough environments like Cygwin and MSYS2
|
||
|
- Fix desktop directory not being determined correctly on Windows when it was moved from the default location
|
||
|
- Rework threading in navigation bar in browser to improve responsiveness
|
||
|
- Recheck if prepared update is still the latest one prior to installing it
|
||
|
- Built-in documentation popups now honour the dark mode setting
|
||
|
- Properly detect applications such as editors and terminals when they are present in the path on Windows
|
||
|
- Rework operation mode handling to properly honor the startup mode setting
|
||
|
- Many other small miscellaneous fixes and improvements
|
||
|
- Improve app detection on macOS
|