đź–Ą Securely transfer and send anything between computers with TUI.

computer 1 computer 2

🖥️ Securely transfer and send anything between computers with TUI.

Installation

ways

Using script

  • Shell
curl -fsSL https://cutt.ly/tran-cli | bash
  • PowerShell
iwr -useb https://cutt.ly/tran-win | iex

then restart your powershell

Homebrew

brew install abdfnx/tap/tran

Go package manager

go install github.com/abdfnx/tran@latest

GitHub CLI

gh extension install abdfnx/gh-tran

Usage

  • Open Tran UI
tran
  • Open with specific path
tran --start-dir $PATH
  • Send files to a remote computer
tran send 
   

   
  • Receive files from a remote computer
tran receive 
   

   

Tran Config file

tran config file is located at ~/.config/tran/tran.yml | $HOME/tran.yml

config:
  borderless: false
  editor: vim
  enable_mousewheel: true
  show_updates: true
  start_dir: .

Flags

--start-dir string   Starting directory for Tran

Shortkeys

  • tab: Switch between boxes
  • up: Move up
  • down: Move down
  • left: Go back a directory
  • right: Read file or enter directory
  • V: View directory
  • T: Go to top
  • G: Go to bottom
  • ~: Go to your home directory
  • /: Go to root directory
  • .: Toggle hidden files and directories
  • D: Only show directories
  • F: Only show files
  • E: Edit file
  • ctrl+s: Send files/directories to remote
  • ctrl+r: Receive files/directories from remote
  • ctrl+f: Find files and directories by name
  • q/ctrl+q: Quit

Technologies Used in Tran

License

tran is licensed under the terms of MIT license.

Owner
Abdfn
someone likes CLI/TUI apps, (CI/CD) server-sides, and backend.
Abdfn
Comments
  • Tran on Windows complains about config file not being found in wrong directory

    Tran on Windows complains about config file not being found in wrong directory

    when running tran from Powershell, the following is displayed:

    2022/08/02 10:21:19 Config File "tran" Not Found in "[C:\\.config\\tran]"

    My tran.yml file is situated in ~/.config/tran as per the instructions.

    I don't think it should be trying to find the .config file at the root of the C drive?

  • Tran UI quits on typing q in password box

    Tran UI quits on typing q in password box

    Hello,

    When typing in the receiver password in the tran UI, the application quits upon typing q.

    Expected behavior is to see the the ui's keybinds disabled when typing in the password?

    Cheers!

  • Typo in the message after writing the command "">

    Typo in the message after writing the command "tran send "

    Their is a typo in the message that gives you the password to type. It's written "This is the passowrd" instead of "This is the password".

    Step to reproduce the typo -> type the command "tran send <your_file>".

  • Bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16

    Bump github.com/mattn/go-isatty from 0.0.14 to 0.0.16

    Bumps github.com/mattn/go-isatty from 0.0.14 to 0.0.16.

    Commits
    • 13e91bf bump
    • 47c6087 update GitHub Workflow
    • f001b72 Merge pull request #75 from tjni/update-x-sys
    • 89699b9 Update golang.org/x/sys for Go 1.18 on M1 Macs.
    • cdb00f1 Merge pull request #68 from tklauser/fix-go.sum
    • 689cfc2 Update go.sum after golang.org/x/sys update
    • d423e9c Merge pull request #67 from tklauser/fix-go-version-gh-action
    • 65c33a1 Use correct field to specify Go version in GitHub action
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/charmbracelet/bubbletea from 0.20.0 to 0.21.0

    Bump github.com/charmbracelet/bubbletea from 0.20.0 to 0.21.0

    Bumps github.com/charmbracelet/bubbletea from 0.20.0 to 0.21.0.

    Release notes

    Sourced from github.com/charmbracelet/bubbletea's releases.

    v0.21.0

    Spawn Interactive Processes + More Keybindings

    Finally! This update allows you to run blocking, interactive processes from Bubble Tea like vim, htop, curl, and even entire shells like fish. It also adds a bunch of new keybindings. Read on for more!

    Let’s Exec

    As we were saying, you can now spawn interactive processes in the terminal from Bubble Tea and resume Bubble Tea when they exit. For example, you could have your Bubble Tea program spawn vim to edit a file, or temporarily open a shell, like fish. Here’s what it looks like:

    type editorFinishedMsg struct{ err error }
    

    func openInVim(path string) tea.Cmd { c := exec.Command("vim", path) return tea.ExecProcess(c, func(err error) tea.Msg { return editorFinishedMsg{err} }) }

    See the full example for details.

    Keys Galore

    Prior to this update, you couldn't bind to the functions keys. Isn't that crazy? @​mrusme certainly thought so. With this update you can can now respond to F1 through F20, modifiers included.

    And thanks to @​bwahharharrr you can also now bind to arrow keys with the ctrl, shift and alt modifiers.


    High-Level Changelog

    New

    Changed

    New Contributors

    ... (truncated)

    Commits
    • 775dbfb chore(exec): small API edits (#323)
    • 9705056 docs: improve godoc on tick and every (#320)
    • a5f28a3 docs: fixed mentions to exec.Command
    • d301ee0 change(keys): spacebar sends a KeySpace (#315)
    • bfb1668 fix: update tests for space input
    • d3fb1b7 feat: obliterate type KeySpace
    • 48cdc1e feat(keys): add support for shift/ctrl + arrow keys (#292)
    • 14e58aa fix(keys): spacebar now sends a KeySpace (#289)
    • 3795c03 add: Exec, ReleaseTerminal and RestoreTerminal to re-use input and terminal (...
    • ecba57e chore(deps): bump actions/setup-go from 2 to 3
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • integrate github with `tran`

    integrate github with `tran`

    Changes

    • [x] add the tran github api client to tran.
    • [x] add gh-repo & gh-config commands.
    • [x] create sync command to sync tran config file in a private repo.
  • Bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17

    Bump github.com/mattn/go-isatty from 0.0.16 to 0.0.17

    Bumps github.com/mattn/go-isatty from 0.0.16 to 0.0.17.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump golang.org/x/term from 0.1.0 to 0.3.0

    Bump golang.org/x/term from 0.1.0 to 0.3.0

    Bumps golang.org/x/term from 0.1.0 to 0.3.0.

    Commits
    • 97ca0e3 go.mod: update golang.org/x dependencies
    • f72a2d8 go.mod: update golang.org/x dependencies
    • f6f2839 term: remove unused variable
    • 8365914 go.mod: update golang.org/x dependencies
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/briandowns/spinner from 1.19.0 to 1.20.0

    Bump github.com/briandowns/spinner from 1.19.0 to 1.20.0

    Bumps github.com/briandowns/spinner from 1.19.0 to 1.20.0.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/tidwall/gjson from 1.14.3 to 1.14.4

    Bump github.com/tidwall/gjson from 1.14.3 to 1.14.4

    Bumps github.com/tidwall/gjson from 1.14.3 to 1.14.4.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/schollz/pake/v3 from 3.0.4 to 3.0.5

    Bump github.com/schollz/pake/v3 from 3.0.4 to 3.0.5

    Bumps github.com/schollz/pake/v3 from 3.0.4 to 3.0.5.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Tran disables scrollback on Debian

    Tran disables scrollback on Debian

    Hello,

    After I run tran send file.txt from one computer, and successfully receive it on the destination computer, this scenario occurs. My Terminal and Terminator console emulators are unable to scroll back, and the mouse wheel behaviour changes to running my prompt through previous history entries. This is unexpected - when I test the same thing on MacOS with iTerm2, scrollback is not disabled and the mouse wheel behaviour does not change.

    Slightly annoying, not a breaking issue. The effect only lasts for the current terminal session - any new Terminal / Terminator windows opened revert to the intended behavour.

    On Debian 11 (bullseye) with terminator version: 2.1.0-2 and tran version v0.1.3 on X11 GNOME 3.38.5

  • brew install error: 404

    brew install error: 404

    Mac mini m1

    ❯ brew install abdfnx/tap/tran
    ==> Downloading https://github.com/abdfnx/tran/releases/download/v0.1.31/tran_macos_v0.1.31_arm64.zip
    curl: (22) The requested URL returned error: 404
    
    Error: tran: Failed to download resource "tran"
    Download failed: https://github.com/abdfnx/tran/releases/download/v0.1.31/tran_macos_v0.1.31_arm64.zip
    

    Macbook Pro Intel

    ❯ brew install abdfnx/tap/tran
    ==> Tapping abdfnx/tap
    Cloning into '/usr/local/Homebrew/Library/Taps/abdfnx/homebrew-tap'...
    remote: Enumerating objects: 177, done.
    remote: Counting objects: 100% (177/177), done.
    remote: Compressing objects: 100% (170/170), done.
    remote: Total 177 (delta 77), reused 0 (delta 0), pack-reused 0
    Receiving objects: 100% (177/177), 49.08 KiB | 1.00 MiB/s, done.
    Resolving deltas: 100% (77/77), done.
    Tapped 4 formulae (19 files, 106.7KB).
    ==> Downloading https://github.com/abdfnx/tran/releases/download/v0.1.31/tran_macos_v0.1.31_amd64.zip
    curl: (22) The requested URL returned error: 404
    
    Error: tran: Failed to download resource "tran"
    Download failed: https://github.com/abdfnx/tran/releases/download/v0.1.31/tran_macos_v0.1.31_amd64.zip
    
Personal tool used for transfer files between servers.

transfer Personal tool used for transfer files between servers. Usage: transfer [global options] <verb> [verb options] Global options: -h, --

Jan 5, 2022
An experimental project to build a framework for naming and sharing files and other data securely
An experimental project to build a framework for naming and sharing files and other data securely

Upspin Documentation: upspin.io About the project Upspin is an experimental project to build a framework for naming and sharing files and other data s

Oct 20, 2021
garlicshare is an open source tool that lets you securely and anonymously share files on a hosted onion service using the Tor network.
garlicshare is an open source tool that lets you securely and anonymously share files on a hosted onion service using the Tor network.

garlicshare is an open source tool that lets you securely and anonymously share files on a hosted onion service using the Tor network.

Dec 22, 2022
oDrop, a fast efficient cross-platform file transfer software for server and home environments

oDrop is a cross-platform LAN file transfer software to efficiently transfer files between computers, oDrop is useful in environments where GUI is not available.

Jun 4, 2022
A web based drag and drop file transfer tool for sending files across the internet.

DnD A file transfer tool. Demo Usage Get go get github.com/0xcaff/dnd or download the latest release (you don't need go to run it) Run dnd Now navig

Dec 16, 2022
transfer.sh - Easy and fast file sharing from the command-line.

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Jan 2, 2023
Transfer - A simple go application for uploading, downloading and checksumming of files

Transfer This project holds a simple go application for uploading, downloading a

Aug 18, 2022
Simple temporary file upload and transfer web application coding with Go language.

Temp File Transfer Web Application Simple temporary file upload and transfer web application coding with Go language. Explore the Golang » Live Demo T

Dec 2, 2022
pcp - 📦 Command line peer-to-peer data transfer tool based on libp2p.
pcp - 📦 Command line peer-to-peer data transfer tool based on libp2p.

pcp - Command line peer-to-peer data transfer tool based on libp2p.

Jan 5, 2023
Yet another netcat for fast file transfer

nyan Yet another netcat for fast file transfer When I need to transfer a file in safe environment (e.g. LAN / VMs), I just want to use a simple comman

Apr 30, 2022
Transfer your local .ENV files for another developer

Zip/Unzip local .env file Transfer your local .ENV files for another developer. for Zip: run in root where .env files ./ziper_local_env created "resu

Oct 20, 2021
Built in user interface, LAN file transfer, such as mobile phone, computer, tablet, different operating system
Built in user interface, LAN file transfer, such as mobile phone, computer, tablet, different operating system

Modao Built in user interface, LAN file transfer, such as mobile phone, computer, tablet, different operating systems, etc., as well as text transfer

May 7, 2022
FileTransferGo - File Transfer With Golang

FileTransferGo Packages used ?? Go: Gin (http server) ?? Cobra (CLI command fram

Jun 24, 2022
mini file transfer tool, use it just curl o wget

miniTransfer mini file transfer tool, use it just curl o wget How to use upload file curl -T localFileName 127.0.0.1:1234 # default save as localFileN

Jan 12, 2022
proxyd proxies data between TCP, TLS, and unix sockets

proxyd proxyd proxies data between TCP, TLS, and unix sockets TLS termination: Connecting to a remote application's unix socket: +---------+

Nov 9, 2022
Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices.
Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices.

Cross-platform application for easy encrypted sharing of files, folders, and text between devices.

Dec 30, 2022
🌧 BitTorrent client and library in Go
🌧 BitTorrent client and library in Go

rain BitTorrent client and library in Go. Running in production at put.io. Features Core protocol Fast extension Magnet links Multiple trackers UDP tr

Jan 5, 2023
JuiceFS is a distributed POSIX file system built on top of Redis and S3.
JuiceFS is a distributed POSIX file system built on top of Redis and S3.

JuiceFS is an open-source POSIX file system built on top of Redis and object storage

Jan 5, 2023
Easy and fast file sharing from the command-line.

Easy and fast file sharing from the command-line. This code contains the server with everything you need to create your own instance.

Jan 2, 2023