Skip to content

Webisso/webiqu-ssh-workspace

Repository files navigation

Webiqu

GitHub Stars GitHub Forks Open Issues Last Commit License: MIT

Repository: https://github.com/Webisso/webiqu-ssh-workspace

Webiqu is a native macOS SSH workspace app built with SwiftUI and SwiftData. It helps you manage multiple servers from one place with integrated terminal sessions, file browsing, monitoring, and saved commands.

Download

Prebuilt macOS archives are published on the GitHub Releases page:

Direct download link for the latest packaged app:

Note: users do not download a raw .app file from GitHub. The macOS app is distributed as a zip archive that contains webiqu.app.

Highlights

  • Server and group management with a sidebar-first macOS UI
  • Multi-tab terminal sessions per server
  • Remote file browsing and file operations over SSH/SFTP
  • Live monitoring (CPU, memory, disk) with charts and refresh controls
  • Saved command snippets for repeatable workflows
  • Per-server connection settings (SSH agent or key-based auth)
  • App-level default key path settings used as fallback for agent mode
  • Local persistence via SwiftData, with CloudKit-enabled configuration

Tech Stack

  • Swift
  • SwiftUI
  • SwiftData
  • Charts
  • AppKit (for native file panels and macOS integrations)

Project Structure

  • Webiqu/: Main app source
  • Webiqu/App/: App composition and logging
  • Webiqu/Data/: Models, SSH implementation, security, sync
  • Webiqu/Domain/: Domain contracts and monitoring models
  • Webiqu/Presentation/: Views and view models
  • WebiquTests/: Unit tests
  • WebiquUITests/: UI tests

Requirements

  • macOS (Apple Silicon or Intel)
  • Xcode 16+
  • Swift 5+

Getting Started

  1. Open Webiqu.xcodeproj in Xcode.
  2. Select the Webiqu scheme.
  3. Build and run.

CLI build example:

xcodebuild -project Webiqu.xcodeproj -scheme Webiqu -configuration Debug -sdk macosx build

Release Packaging

Use the release helper to package a built .app into dist/ and optionally create a Git tag:

scripts/release.sh --app-path webiqu.app --version 1.0.0

This produces:

  • dist/webiqu-<version>-macos.zip
  • dist/webiqu-<version>-macos.zip.sha256
  • dist/webiqu-macos.zip
  • dist/webiqu-macos.zip.sha256

Recommended release asset upload pattern:

  • Upload webiqu-macos.zip for the stable latest-download URL.
  • Optionally also upload webiqu-<version>-macos.zip for version-specific links.

Direct GitHub asset URLs after publishing a release:

https://github.com/Webisso/webiqu-ssh-workspace/releases/latest/download/webiqu-macos.zip
https://github.com/Webisso/webiqu-ssh-workspace/releases/download/v1.0.0/webiqu-1.0.0-macos.zip

To create and push a release tag after reviewing the generated files:

git tag -a v1.0.0 -m "release(v1.0.0): publish macOS build"
git push origin main
git push origin v1.0.0

If GitHub CLI is configured, you can then publish the archive directly from dist/:

gh release create v1.0.0 dist/webiqu-macos.zip dist/webiqu-macos.zip.sha256 dist/webiqu-1.0.0-macos.zip dist/webiqu-1.0.0-macos.zip.sha256 \
	--title "Webiqu v1.0.0" \
	--notes "Initial macOS release"

Core Workflows

1) Add a server

  • Create a server group
  • Add server host, port, username
  • Choose authentication mode:
  • SSH Agent (Default)
  • Private Key File

When SSH Agent (Default) is selected, Webiqu can use app-level default private/public key paths if configured in app settings.

2) Work in server workspace

  • Terminal: open multiple terminal tabs per server
  • Files: browse, rename, create, delete, upload, download, and edit text files
  • Monitoring: inspect CPU/memory/disk with periodic refresh
  • Commands: save, edit, run reusable shell commands

3) Configure defaults

Use app settings to configure:

  • Default private key path
  • Default public key path
  • Default server color

Security Notes

  • Key handling uses project security services in Webiqu/Data/Security.
  • Private/public key paths are user-configured and resolved locally.
  • Review your macOS sandbox/file permissions before distribution.

Troubleshooting

  • Build issues:

  • Clean build folder in Xcode and rebuild.

  • Ensure Xcode Command Line Tools are correctly selected.

  • SSH connection issues:

  • Verify host/port/user

  • Verify selected auth mode and key paths

  • Check server-side SSH permissions and known_hosts behavior

  • Empty terminal tab:

  • Ensure the server is connected.

  • Opening a new tab creates a separate SSH-backed terminal session.

Contributing

Contributions are welcome.

  • Fork the repository
  • Create a feature branch
  • Submit a pull request with clear change notes

License

This project is licensed under the MIT License. See LICENSE for details.

About

Webiqu is a native macOS SSH workspace app built with SwiftUI and SwiftData.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors