{"id":14235881,"url":"https://github.com/greymd/ttcopy","last_synced_at":"2025-04-12T16:11:23.103Z","repository":{"id":85909227,"uuid":"79104318","full_name":"greymd/ttcopy","owner":"greymd","description":"Provide copying and pasting within multiple hosts through the Web.","archived":false,"fork":false,"pushed_at":"2017-03-16T04:09:06.000Z","size":1386,"stargazers_count":35,"open_issues_count":0,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-26T10:36:25.387Z","etag":null,"topics":["bash","unix-command","zplug","zsh"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/greymd.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2017-01-16T09:46:28.000Z","updated_at":"2025-02-14T22:24:45.000Z","dependencies_parsed_at":null,"dependency_job_id":"4df9bf27-35b5-427b-8f69-9fbc219718b6","html_url":"https://github.com/greymd/ttcopy","commit_stats":null,"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymd%2Fttcopy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymd%2Fttcopy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymd%2Fttcopy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/greymd%2Fttcopy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/greymd","download_url":"https://codeload.github.com/greymd/ttcopy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248594140,"owners_count":21130312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","unix-command","zplug","zsh"],"created_at":"2024-08-20T21:02:27.664Z","updated_at":"2025-04-12T16:11:23.082Z","avatar_url":"https://github.com/greymd.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg src=\"./img/ttcopy_logo.png\" /\u003e\n\u003c/p\u003e\n\n[![latest version](https://img.shields.io/github/release/greymd/ttcopy.svg)](https://github.com/greymd/ttcopy/releases/latest)\n[![Build Status](https://travis-ci.org/greymd/ttcopy.svg?branch=master)](https://travis-ci.org/greymd/ttcopy)\n\n# ttcopy: Trans-Terminal Copy/Paste\n\nProvide copying and pasting within multiple hosts through the Web.\n\n![Introduction Image](./img/ttcp_intro_img.png)\n\n# Requirements\n  * bash (version 3.2 and more)\n  * openssl (version 1.0.1e and more)\n  * curl (versin 7.19.7 and more)\n\n# Installation\nSet up `ttcopy` on the hosts which you want to make share same data.\nPlease follow the following instructions to install it.\n\n## With [zplug](https://zplug.sh) (for zsh users)\n\nIf you are using zplug, it is easy and recommended way.\nAdd this line to `.zshrc`.\n\n```sh\nzplug \"greymd/ttcopy\"\n```\n\nThat's all 🎉.\n\n## With [Homebrew](https://github.com/Homebrew/brew) (for macOS users)\n\n```sh\n$ brew tap greymd/ttcopy\n$ brew install ttcopy\n```\n\n## With `apt-get` (For Ubuntu users)\n\n```sh\n# If necessary, install `add-apt-repository` command.\n$ sudo apt-get install software-properties-common\n\n# For Ubuntu 12.04: $ sudo apt-get install python-software-properties \n\n$ sudo add-apt-repository ppa:ttcopy/ppa\n$ sudo apt-get update\n$ sudo apt-get install ttcopy\n```\n\n## Manual Installation\n\nIf you cannot choose any of above ways, follow below steps\n\n#### 1. Clone repository\n\n```sh\n$ git clone https://github.com/greymd/ttcopy.git ~/ttcopy\n```\n\n#### 2. Edit `.bashrc` or `.zshrc`\n\nAdd following lines.\n\n```sh\nsource ~/ttcopy/ttcp_activate.sh\n```\n\n##### For advanced users\n\n`ttcp_activate.sh` adds `ttcocpy/bin` to `$PATH`. Instead of using it, you can\ncopy `ttcopy/bin` and `ttcopy/lib` somewhere you want to place then make sure\n`ttcopy/bin` be listed under `$PATH`.\n\nFor example,\n\n```sh\ncp -rf ~/ttcopy/bin ~/ttcopy/lib /usr/local\n\necho \"export PATH=$PATH:/usr/local/bin\" \u003e\u003e ~/.zshrc\" # if you need\n```\n\n# Configuration\nFirst of all, `ttcopy` command displays the screen to let you set default ID and Password.\nPlease prepare ID and Password **as you like**. Be lazy! You are **NOT** required to register them on any services.\nThe data you copied can be pasted within the hosts having same ID and Password.\n\n```sh\n$ ttcopy\nSet default ID/Password.\nEnter ID for ttcopy/ttpaste: myid001   #\u003c= Enter your ID (\"myid001\" is just an example).\nEnter password for ttcopy/ttpaste:    #\u003c= Enter your password.\nEnter same password again:            #\u003c= Enter again.\n\nCreated credential file '/home/user/.config/ttcopy/config'\nExecute 'ttcopy --init' to show this screen again.\n```\n\n# Examples\n\n### Copy \u0026 Paste within multiple hosts!\n\n* Host1\n```sh\n$ echo foobar | ttcopy\n```\n\n* Host2\n```sh\n$ ttpaste\nfoobar\n```\n\n### Clip binary data.\n\n* Host1\n```sh\n$ cat image.jpg | ttcopy\n```\n\n* Host2\n```sh\n$ ttpaste | file -\n/dev/stdin: JPEG image data, JFIF standard 1.01\n```\n\n# Features\n\n## Options\n\n`ttcopy` and `ttpaste` commands support following options.\n\n```\n$ ttcopy --help\n  Usage: ttcopy [OPTIONS]\n\n  OPTIONS:\n  -h, --help                         Output a usage message and exit.\n  -V, --version                      Output the version number of ttcopy and exit.\n  -i ID, --id=ID                     Specify ID to identify the data.\n  -p PASSWORD, --password=PASSWORD   Specify password to encrypt/decrypt the data.\n  --init                             Set default ID and password.\n```\n\nUse non-default ID and password.\n\n```\n$ seq 10 | ttcopy -i abcdef -p ghijklmn\nCopied!\n```\n\n```\n$ ttpaste -i abcdef -p ghijklmn\n1\n2\n3\n4\n5\n6\n7\n8\n9\n10\n```\n\n## Copy/Paste through proxy server\n\nCommands load shell variable `TTCP_PROXY` as their proxy server for connection.\n\n```sh\n$ echo ABCDEFG | TTCP_PROXY=\"http://example.proxy.server1.com:1234\" ttcopy\n```\n\n```sh\n$ TTCP_PROXY=\"http://example.proxy.server2.com:5678\" ttpaste\nABCDEFG\n```\n\nIt is helpful to add this line to `.bashrc` or `.zshrc` if you are always using specific proxy server.\n\n```sh\nexport TTCP_PROXY=\"http://example.proxy.server1.com:1234\"\n```\n\n## LICENSE\n\nThis is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreymd%2Fttcopy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgreymd%2Fttcopy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgreymd%2Fttcopy/lists"}