Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

termscp-1.1.1-1.2 RPM for aarch64

From OpenSuSE Ports Tumbleweed for aarch64

Name: termscp Distribution: openSUSE Tumbleweed
Version: 1.1.1 Vendor: openSUSE
Release: 1.2 Build date: Tue Jun 9 07:09:39 2026
Group: Unspecified Build host: reproducible
Size: 37227608 Source RPM: termscp-1.1.1-1.2.src.rpm
Packager: http://bugs.opensuse.org
Url: https://github.com/veeso/termscp
Summary: Feature rich terminal UI file transfer and explorer
Termscp is a feature rich terminal file transfer and explorer, with support for
SCP/SFTP/FTP/Kube/S3/WebDAV. So basically is a terminal utility with an TUI to
connect to a remote server to retrieve and upload files and to interact with
the local file system. It is Linux, MacOS, FreeBSD, NetBSD and Windows
compatible.

Provides

Requires

License

MIT

Changelog

* Tue Jun 09 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 1.1.1:
    * Fixed
    - build: drop vergen-git2 build dependency
      vergen-git2 reads git metadata at build time, but the
      crates.io source tarball ships no .git, so the published
      1.1.0 fails on cargo install.  crates.io versions are
      immutable (no overwrite) and Chocolatey's moderation queue
      blocks a fast re-push, so a clean 1.1.1 without vergen is the
      only fix.
  - Update to version 1.1.0:
    * Added
    - new website
    - install: add Windows PowerShell installer and copy buttons on site
      Add install.ps1 mirroring install.sh for Windows: arch
      detection, release zip download, binary extraction, user PATH
      update.
    - copy install.ps1 to site public/ at build time
      (copy-install.mjs)
    - serve /install.ps1 with text/plain Content-Type
      (vercel.json)
    - add PowerShell one-liner to install page and README
    - bump install.ps1 default version in bump_version.sh
    - add CopyButton component next to every install command line
    - config: move config dir to ~/.config/termscp on macOS and
      %USERPROFILE%.termscp on Windows
      Resolve the config directory through a single per-platform
      config_dir() function instead of relying on dirs::config_dir
      everywhere:
    - macOS: ~/.config/termscp (was ~/Library/Application
      Support/termscp)
    - Windows: %USERPROFILE%.termscp (was roaming
      %APPDATA%\termscp)
    - Linux/other: /termscp (unchanged)
      Existing users are migrated automatically on first run: when
      the new directory is absent and the legacy location exists,
      the whole config directory is moved to the new path. The
      cache directory stays at the platform-native location.
    * Changed
    - site: type-safe i18n keys derived from en
    - site: drop in-site manual, link to external docs.termscp.rs
    - site: english-only, remove i18n machinery
    * Fixed
    - install: quote vars, fix set -e cargo check and rustup tmpfile cleanup
    - silence SC3043 by declaring dash dialect (local is
      supported)
    - quote unquoted vars (SC2086/SC1090)
    - fix set -e aborting arch install before cargo check
    - fix install_cargo removing unset $archive instead of
      $rustup
    - make brew upgrade fallback a real if-then-else (SC2015)
    - drop leftover starship BASE_URL and debug echo $1
    - progress: rework transfer progress panel (#424)
      Migrate the transfer progress UI to tuirealm 4, where the
      stdlib ProgressBar widget was dropped, by rebuilding the
      dual-bar panel on top of Gauge.
    - Restore the unified two-bar look: the full bar (top) and
      partial bar (bottom) draw joined borders so they read as a
      single panel; a single file shows one fully-bordered bar.
    - Redraw on every file boundary in the send/recv queue loops
      so the full bar's (N/total) counter advances even for small
      files that finish within one in-loop redraw interval.
    - Track progress with a single TransferProgress (exact file
      count from the pre-scan, lazy partial/full computation) and
      consolidate the theme progress-bar fields.
    - progress: equalize dual progress bar heights
      The bottom (partial) bar carried a block title (the current
      filename), which forces a 1-row top inset in ratatui's
      Block::inner even though its top border is dropped to join
      the seam with the full bar. That left the partial bar with
      one inner row while the full bar kept two, so the two gauges
      rendered at unequal heights.
    - Move the filename from the partial bar's title into its
      gauge label.
    - Skip setting an empty title so no phantom top-positioned
      title triggers the inset.
    - Put the panel title on the top (full) bar for multi-file
      transfers.
    - Bump the two-bar popup height to fit the joined panel.
      Also bump Cargo.lock and adapt the embedded terminal to the
      new vt100 screen_mut() API.
    - copy: prevent emptying file when copy destination is empty
      (#421)
      An empty copy destination resolved to the source file's own
      path, so std::fs::copy truncated the original file to 0
      bytes.
    - localhost::copy now refuses to copy a file onto itself,
      returning an error instead of truncating it (root cause).
    - action_copy treats an empty/whitespace destination as a
      cancel.
    - transfer: enqueue full destination path instead of directory
      Queued transfers stored only the destination directory as the
      target path. Downstream upload logic treats the queued
      destination as the full file path and passes it straight to
      create_file, so transfers failed with a Failure error when
      the remote target resolved to a directory.  Append each
      entry's file name to the destination directory at enqueue
      time in both enqueue_file and enqueue_all, matching the
      single-file transfer path which already builds the full
      target path.
* Mon Apr 20 2026 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 1.0.0:
    * Added
    - rework TransferProgress to track bytes with lazy estimation
    - replace dual progress bar components with single TransferProgressBar
    - simplify progress bar layout to single component
    - update progress bar display for new unified data model
    - update transfer loop to use unified TransferProgress
    - consolidate theme progress bar fields into single transfer_progress_bar
    * CI
    - Codeberg mirroring
    - run test workflows once
    - check fmt with nightly toolchain
    - add linux and windows aarch64 build targets
    * Changed
    - FileTransferActivity pane-agnostic dispatch (#386)
      Comprehensive design for incremental refactoring of the
      13k-line FileTransferActivity god-struct using a unified Pane
      abstraction.  Detailed step-by-step plan covering 6 phases:
      split monoliths, error handling, Pane struct, action dedup,
      session split, view reorg.  Extract 26 popup components from
      the monolithic 1,868-line popups.rs into 20 individual files
      under popups/. Each file contains one or two related
      components with their own imports. The popups.rs module file
      now contains only module declarations and re-exports.
      Replace 8 panic!() calls with error!() logging and early
      returns/fallthrough.  These panics documented invariants
      (e.g. "this tab can't do X") but would crash the app if
      somehow triggered. Error logging is safer and more resilient.
      Replace raw FileExplorer fields in Browser with Pane structs
      that bundle the explorer and connected state. Move
      host_bridge_connected and remote_connected from
      FileTransferActivity into the panes. Add navigation API
      (fs_pane, opposite_pane, is_find_tab) for future unification
      tasks.  Rename private get_selected_file to
      get_selected_file_by_id and add three new unified methods
      (get_selected_entries, get_selected_file, is_selected_one)
      that dispatch based on self.browser.tab(). Old per-tab
      methods are kept for now until their callers are migrated in
      subsequent tasks.  Collapse local/remote action method pairs
      (mkdir, delete, symlink, chmod, rename, copy) into unified
      methods that branch internally on is_local_tab(). This halves
      the number of action methods and simplifies the update.rs
      dispatch logic. Also unifies ShowFileInfoPopup and
      ShowChmodPopup dispatching to use get_selected_entries().
      Move host_bridge and client filesystem fields from
      FileTransferActivity into the Pane struct, enabling
      tab-agnostic dispatch via fs_pane()/ fs_pane_mut(). This
      eliminates most is_local_tab() branching across 15+ action
      files.
      Key changes:
    - Add fs: Box<dyn HostBridge> to Pane, remove from
      FileTransferActivity
    - Replace per-side method pairs with unified pane-dispatched
      methods
    - Unify navigation (changedir, reload, scan, file_exists,
      has_file_changed)
    - Replace 147-line popup if/else chain with data-driven
      priority table
    - Replace assert!/panic!/unreachable! with proper error
      handling
    - Fix typo "filetransfer_activiy" across ~29 files
    - Add unit tests for Pane
      Net result: -473 lines, single code path for most file
      operations.
    - replace lazy_static with std::sync::LazyLock
    - migrate from mod.rs to named module files
    - split parser internals into focused modules
    - split auth form components by protocol
    - split auth update handlers by context
    - split auth view helpers by responsibility
    * Documentation
    - date
    - add core module and API documentation
    - document core host and ssh modules
    - document parser and file transfer params
    - complete remaining core module docs
    - document ssh key storage API
    * Fixed
    - replace panics reachable from user input with proper error
      handling
    - replace assert! calls in UI activities with graceful error
      handling
    - correct typos in BadSytax and theme_provider log messages
    - replace magic-crypt with aes-gcm for bookmark encryption
    - magic-crypt has known vulnerabilities. Replace it with
      aes-gcm for new
    - encryption (authenticated, with random nonces) while
      keeping a legacy
    - AES-128-CBC decryption path to transparently handle
      existing bookmarks.
    - replace recursive byte-counting with entry-based transfer
      progress (#395)
    - fix: replace recursive byte-counting with entry-based transfer progress
      Replace the expensive recursive get_total_transfer_size
      pre-calculation with a lightweight entry-based counter
      (TransferProgress) for the overall progress bar. This
      avoids deep list_dir traversals before transfers begin,
      which could cause FTP idle-timeout disconnections on large
      directory trees.
      The per-file byte-level progress bar (ProgressStates)
      remains unchanged. Bytes are still tracked via
      TransferStates::add_bytes for notification threshold logic.
    - return after empty terminal prompt
    - resolve . and .. in terminal cd and prevent panic in path
      elide
      absolutize now lexically normalizes paths so cd ..
      navigates to the parent directory instead of appending ..
      literally. Also guard against file_name() returning None in
      fmt_path_elide_ex, which caused a panic on paths containing
      unresolved .. components.
    - pass full command string to exec, not just the first word
      The Exec arm of Command::from_str only captured the first
      whitespace-delimited token, silently dropping all
      arguments.  Now passes the entire input string so e.g. ls
    - la /tmp works.
    - sync browsing when entering a directory from filtered/fuzzy
      view stabilize core error handling
    - Remove production panic and unwrap paths from core modules.
    - Propagate bookmark encryption failures, harden file watcher
      and temp mapped file handling, and clean up dead code in
      shared utilities.
    - normalize localhost relative path checks
    - use time-based redraw interval instead of progress-delta
      threshold
      The old 1% progress threshold caused the UI to appear frozen
      on large files (e.g. 1GB) because many read/write iterations
      passed between redraws. Switching to a 100ms time-based
      interval ensures consistent UI responsiveness regardless of
      file size.
    - render progress bar immediately after mounting
      Call self.view() right after mount_progress_bar() at all 6
      call sites so the bar is visible on screen before the
      transfer loop begins.
    - filter self-references and dot entries from remote directory
      listings
      Some non-compliant FTP servers (e.g. LiteSpeed) include a
      self-reference to the listed directory in the LIST response,
      causing the current folder to appear as a duplicate entry in
      the explorer.
    * Miscellaneous
    - Use apt to install termscp on debian base to prevent broken
      deps
    - Copilot is so dumb
    - Install with apt if installed
    - WTF CTRL SAVE DOESNT FUCKING WORK
    - funding
    - add centralized lint configuration to Cargo.toml
    - 1.0.0 version into manifests
    - format toml
    - add fmt+clippy convention to CLAUDE.md and apply nightly fmt
    - enable safe clippy pedantic lints
    * Performance
    - use sort_by_cached_key to avoid repeated lowercase
      allocations in file sorting
    * Testing
    - add parser and bookmark regression coverage
    - extend config and explorer regression coverage
    - extend system regression coverage
    * Build
    - removed hostname, use whoami instead
    - whoami provides hostname function, so we don't need the
      hostname dependency, since whoami is also being used for
      getting the username
    - replaced libssh with russh for remotefs-ssh
    - replace version-compare crate with semver
    - remotefs-ssh 0.8.1
    - remotefs-ssh 0.8.2
    - this version removes any usage of sh commands from the sftp
      backend and only uses pure protocol functions
    - migrate to tui-realm 4.0
    - Upgrade tuirealm (3.x -> 4.0.0), tui-realm-stdlib (3 -> 4),
      tui-term (0.2 -> 0.3). Apply all breaking changes from the
      4.0 migration guide across the termscp UI.
      Key changes:
    - Root-level re-exports removed; imports moved to
      module-qualified paths (tuirealm::application,
      ::component, ::event, ::props, ::state, ::subscription,
      ::listener, ::ratatui). Same for stdlib component types
      (tui_realm_stdlib::components::*).
    - MockComponent trait renamed to Component; old Component
      trait renamed to AppComponent. #[derive(MockComponent)]
      is now #[derive(Component)]. Component::on now takes
      &Event<_>.
    - TextSpan replaced with SpanStatic/LineStatic/TextStatic
      (ratatui-based); tuple (String, Alignment) titles
      replaced with the new Title builder; Alignment split into
    - HorizontalAlignment/VerticalAlignment; stdlib components
      use .alignment_horizontal instead of .alignment.
    - State::One/PropPayload::One -> Single. CmdResult::None ->
      NoChange. Props::get_or removed; Props::get now returns a
      borrowed Option<&AttrValue> (call sites switched to
      .and_then(AttrValue::as_*)). Component::query returns
      Option<QueryResult<'a>>.
    - Attribute::HighlightedColor -> HighlightStyle (a full
      Style).  .highlighted_* helpers renamed to .highlight_*.
    - PollStrategy::UpTo(n) now requires a Duration; tick
      timeout moved from EventListenerCfg::poll_timeout into
      PollStrategy.
    - TerminalBridge removed; Context now holds
      CrosstermTerminalAdapter directly and enables raw mode +
      alternate screen explicitly. The TerminalAdapter trait is
      imported where its methods are used.
    - Update trait removed; activity update methods are plain
      inherent functions.
    - ProgressBar replaced by stdlib Gauge. Paragraph .wrap
      renamed to .wrap_trim; .text now takes an Into<Text>.
      Stdlib List row items are now individual lines (Vec<Span>
      per row) rather than a Table of spans; custom
      FileList/Log convert between the two models.
    - Radio builders drop .foreground(color) so unselected
      items render with the terminal default foreground, and
      set
      highlight_style(Style::default().fg(color).add_modifier(REVERSED))
      so the selected entry is visibly highlighted only with
      the theme color.
    - Custom FileList keeps the selected row highlighted with
      the full highlight style when focused and falls back to a
      foreground-only style when unfocused.
    - Theme loading is now backwards compatible: Theme uses a
      custom Deserialize through an intermediate ThemeFile with
      optional fields, so missing keys, unknown values or
      legacy aliases (transfer_progress_bar_full/_partial) fall
      back to defaults on a per-field basis instead of failing
      the whole load.
    - upgrade remotefs-ssh to 0.8.3
* Sun Dec 21 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.19.1:
    * fix: Updated dependencies to allow build on NetBSD
* Wed Nov 12 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.19.0:
    - Issue 297: Added <CTRL+S> keybinding to get the total size of
      selected paths.
    - Issue 331: Added new import-ssh-hosts CLI subcommand to
      import all the hosts from the ssh config as bookmarks.
    - Issue 335: Changed file overwrite behaviour
    - Now the user can choose for each file whether to overwrite,
      skip or overwrite all/skip all.
    - Issue 354:
    - Removed error popup message if failed to check for updates.
    - Prevent long timeouts when checking for updates if the
      network is down or the DNS is not working.
    - Issue 356: Fixed SSH auth issue not trying with the password
      if any RSA key was found.
    - Issue 334: SMB support for MacOS with vendored build of
      libsmbclient.
    - Issue 337: Migrated to libssh.org on Linux and MacOS for
      better ssh agent support.
    - Issue 361: Report a message while calculating total size of
      files to transfer.
* Wed Jun 11 2025 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - Update to version 0.18.0:
    * An Embedded shell for termscp:
    - Issue 340: Replaced the Exec popup with a fully functional
      terminal emulator embedded thanks to A-Kenji's tui-term.
    - Command History
    - Support for cd and exit commands as well.
    - Exit just closes the terminal emulator.
    * Issue 345: Default keys are used from ~/.ssh directory if no
      keys are resolved for the host.
    * Updated dependencies and updated the Rust edition to 2024
* Sun Mar 23 2025 opensuse_buildservice@ojkastl.de
  - Update to version 0.17.0:
    * Queuing transfers:
    - the logic of selecting files has been extended!
    - From now on selecting file will put the files into a transfer
      queue, which is shown on the bottom panel.
    - When a file is selected the file is added to the queue with a
      destination path, which is the current other explorer path at
      the moment of selection.
    - It is possible to navigate to the transfer queue by using P
      and pressing ENTER or DELETE on a file will remove it from
      the transfer queue.
    - Other commands will work as well on the transfer queue, like
      COPY, MOVE, DELETE, RENAME.
    * issue 308: added --wno-keyring flag to disable keyring
    * issue 316: Local directory path is not switching to what's
      specified in the bookmark. Now the local directory path is
      correctly set following this hierarchy:
    - Local directory path specified for the host bridge
    - Local directory path specified in the bookmark
    - Working directory
    * issue 317: the return value of --version should be 0
    * issue 319: fixed a crash when the local directory specified in
      the auth form does not exist
    * issue 327: fixed a panic when trying to go up from local
      directory on localhost in the auth form
    * issue 330: add suppaftp/pavao/kube to allowed logs
    * Dependencies:
    - argh to 0.1.13
    - bytesize to 2
    - dirs to 6
    - magic-crypt to 4
    - notify to 8
    - ssh2-config to 0.4
    - remotefs-ssh to 0.6
    - rust edition to 2024
  - drop patches that were included upstream
    * 7dba691ccc001aa720d0ecf1642dda94219a2d21.patch
    * 099e2154bae9a954aab0569bf048c4d9ae71049e.patch
* Wed Nov 13 2024 opensuse_buildservice@ojkastl.de
  - Update to version 0.16.1:
    * fix: 0.16.1
    * fix: gg rust 1.82 for introducing a nice breaking change in
      config which was not mentioned in changelog
    * fix: cfg unix forbidden in rust .82
  - add patches to fix build issues:
    * 099e2154bae9a954aab0569bf048c4d9ae71049e.patch
    * 7dba691ccc001aa720d0ecf1642dda94219a2d21.patch
* Tue Oct 15 2024 opensuse_buildservice@ojkastl.de
  - Update to version 0.16.0:
    * fix: tiny ui issue
    * fix: 0.16
    * feat: Show `..` directory before all the others in the explorer
      to navigate to the parent dir (#301)
    * fix: issue 292 New version alert was not displayed due to a
      semver regex issue. (#300)
    * fix: tuirealm 2.x (#299)
    * fix: users from lock
    * fix: vergen (#296)
    * fix: Use `uzers` instead of the dead package `users` which has
      several vulnerabilities (#295)
    * 285 feature request multi host (#293)
    * feat: version 0.16
* Fri Oct 04 2024 opensuse_buildservice@ojkastl.de
  - Update to version 0.15.0:
    * fix: include build.rs
    * fix: readme
    * fix: ci
    * fix: github ci is stable and reliable (one worker broken each 2
      weeks)
    * fix: set date
    * 280 feature request go to path auto completion (#287)
    * fix: `isolated-tests` feature to run tests for releasing on
      distributions which run in isolated environments (#286)
    * feat: it is now possible to cancel find command; show find
      progress (#284)
    * 249 feature request better search results (#282)
    * fix: popup texts
    * fix: issue 277 Fix a bug in the configuration page, which
      caused being stuck if the added SSH key was empty
    * fix: don't clear screen after terminating termscp
    * feat: Pods and container explorer for Kube protocol (#281)
    * fix: bump vers
    * fix: notify 6
    * fix: keyring test not passing macos
    * fix: bump vers
    * feat: init 0.15
    * fix: dbus deveL
    * fix: tokio rt builder
  - drop patch dfe58e6147f66b4c0c74874c954e7d101b3bf026.patch
* Mon Jul 22 2024 opensuse_buildservice@ojkastl.de
  - add patch dfe58e6147f66b4c0c74874c954e7d101b3bf026.patch to fix
    build errors due to tokio rt builder
    https://github.com/veeso/termscp/commit/dfe58e6147f66b4c0c74874c954e7d101b3bf026
* Fri Jul 19 2024 Johannes Kastl <opensuse_buildservice@ojkastl.de>
  - new package termscp: feature rich terminal UI file transfer and
    explorer with support for SCP/SFTP/FTP/S3/SMB

Files

/usr/bin/termscp


Generated by rpm2html 1.8.1

Fabrice Bellet, Sun Aug 2 05:00:51 2026