Repository navigation
Releases: mashb1t/susops-cli
Release list
v2.3.0
File Sharing
SusOps includes secure file transfer commands to share and fetch files between your local machine and the remote SSH host using the established SOCKS5 connection and port forwarding:
What it does
- share: Creates a temporary remote forward to serve a local file on the SSH host
- fetch: Uses a local forward to download a file from the SSH host
How to share a file
# Share a local file (creates temporary remote forward)
so share /path/to/local/file.txt
# Share with custom password
so share /path/to/local/file.txt mypassword
# Share with custom password and port
so share /path/to/local/file.txt mypassword 8080When sharing, SusOps:
- Creates a temporary remote forward through the SOCKS5 tunnel
- Compresses and encrypts the file using AES-256-CTR
- Serves the file on the remote host at
http://localhost:<port>with HTTP Basic authentication - The file becomes accessible from the SSH host using the provided password
Note
File sharing only supports single files, not directories. The file is automatically compressed and encrypted before transfer.
How to fetch a file
# Fetch a file from a share server on the SSH host
so fetch 8080 mypassword
# Fetch to a specific local destination
so fetch 8080 mypassword downloaded_file.txtWhen fetching, SusOps:
- Connects to the share server on the SSH host via local forwarding
- Downloads the encrypted and compressed file using HTTP Basic authentication
- Automatically decrypts and decompresses the file locally
- Saves with the original filename or specified output name
Tip
Both share and fetch operations use the active SOCKS5 connection and SSH tunneling for security. Files are automatically compressed with gzip and encrypted with AES-256-CTR during transfer.
Full Changelog: v2.2.0...v2.3.0
v2.2.0
Features
- Add support for wildcards and CIDR notation. Examples:
- *.example.com
- 10.0.0.0/24
Full Changelog: v2.1.1...v2.2.0
v2.1.1
v2.1.0
Features
-
Add support for local and remote addresses (binding)
-
change yaml schema from
- tag: "8000" src: 8000 dst: 9000to
- tag: "8000" src_addr: localhost src_port: 8000 dst_addr: localhost dst_port: 9000
Full Changelog: v2.0.6...v2.1.0
v2.0.6
Fixes
- Always get unoccupied port when retrieving ports
- Change connection test, does not require an interactive login shell anymore but checks if a port can be forwarded
Full Changelog: v2.0.5...v2.0.6
v2.0.5
Fixes
- Optimized ssh (re)connection
- Remove recursive calls, resolve everything with functions
Full Changelog: v2.0.4...v2.0.5
v2.0.4
v2.0.3
Fixes
- Use remote port instead of local port as tag in remote forward if not provided
Full Changelog: v2.0.2...v2.0.3
v2.0.2
Features
- Add option
stop --forceto stop all processes of susops instead of only matching tracked processes
Refactoring
- Add doc blocks to all functions
- Replace yq calls with read_config and update_config
- Align output of
susops test
Fixes
- Make logic for killing processes more strict to not accidentally stop other programs
- Normalize connection tags
Full Changelog: v2.0.1...v2.0.2
v2.0.1
Fixes
- Add missing
tagargument foradd -r - Add escaping for tags containing spaces
- Streamline removal of forwarded ports, remove delete by tag
- Replace protocol first, then check if host exists in config
Full Changelog: v2.0.0...v2.0.1