{"id":26699021,"url":"https://github.com/darmiel/yaxc","last_synced_at":"2026-03-10T14:03:20.066Z","repository":{"id":52844780,"uuid":"350332116","full_name":"darmiel/yaxc","owner":"darmiel","description":"Yet Another Cross Clipboard","archived":false,"fork":false,"pushed_at":"2023-10-17T12:47:28.000Z","size":713,"stargazers_count":7,"open_issues_count":9,"forks_count":11,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-26T22:31:56.306Z","etag":null,"topics":["aes-256","aes-encryption","cli","clipboard","clipboard-sync","docker-compose","go","golang","redis"],"latest_commit_sha":null,"homepage":"https://yaxc.d2a.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/darmiel.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,"publiccode":null,"codemeta":null}},"created_at":"2021-03-22T12:17:51.000Z","updated_at":"2024-07-26T14:41:22.000Z","dependencies_parsed_at":"2024-06-20T03:21:11.345Z","dependency_job_id":null,"html_url":"https://github.com/darmiel/yaxc","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darmiel%2Fyaxc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darmiel%2Fyaxc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darmiel%2Fyaxc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/darmiel%2Fyaxc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/darmiel","download_url":"https://codeload.github.com/darmiel/yaxc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248670501,"owners_count":21142901,"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":["aes-256","aes-encryption","cli","clipboard","clipboard-sync","docker-compose","go","golang","redis"],"created_at":"2025-03-26T22:26:59.276Z","updated_at":"2026-03-10T14:03:15.034Z","avatar_url":"https://github.com/darmiel.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Deploy to docker hub (v-tag)](https://github.com/darmiel/yaxc/actions/workflows/deploy_hub.yml/badge.svg)](https://github.com/darmiel/yaxc/actions/workflows/deploy_hub.yml) |\n[![.github/workflows/test.yml](https://github.com/darmiel/yaxc/actions/workflows/test.yml/badge.svg)](https://github.com/darmiel/yaxc/actions/workflows/test.yml) | \n[![DeepSource](https://deepsource.io/gh/darmiel/yaxc.svg/?label=active+issues\u0026show_trend=true)](https://deepsource.io/gh/darmiel/yaxc/?ref=repository-badge)\n\n\u003c!-- Logo --\u003e\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"./assets/YAxC-Filled@128px.png\" alt=\"yaxc\"\u003e\n\u003c/p\u003e\n\n\u003c!-- Header --\u003e\n\u003ch1 align=\"center\"\u003eYAxC\u003c/h1\u003e\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003eY\u003c/strong\u003eet \n  \u003cstrong\u003eA\u003c/strong\u003enother \n  \u003ci\u003eCross\u003c/i\u003e\n  \u003cstrong\u003eC\u003c/strong\u003elipboard\n\u003c/p\u003e\n\n\u003c!-- Links --\u003e\n\u003cp align=\"center\"\u003e\n  [\n  \u003ca href=\"https://github.com/darmiel/yaxc/releases\"\u003e📦 Download\u003c/a\u003e |\n  \u003ca href=\"https://api.yaxc.d2a.io\"\u003e📚 API-Docs\u003c/a\u003e |\n  \u003ca href=\"https://youtu.be/OVpH70byKRQ\" target=\"_blank\"\u003e🎥 Demo\u003c/a\u003e |\n  \u003ca href=\"#client\"\u003e⌨️ Usage\u003c/a\u003e\n  ]\n\u003c/p\u003e\n\n## Introduction\nYAxC is my attempt to develop a cross-platform clipboard that is as simple as possible. YAxC consists of two components:\n\n### Server\nThe server was kept very minimalistic and simple: \n\nThe server accepts a `POST` request (`text/plain`) to any path `/{anywhere}` (except `/` and `/hash`) and stores the sent data there for 5 minutes by default, but this can be changed with the `ttl` query-parameter. An MD5 hash is then generated and can be retrieved at `/hash/{anywhere}`. \n\nThis hash is used to see if the data has changed on the server. This hash can also be specified during the upload, e.g. if you want to use a different hash method.\n\nFor more information, see the 📚 API docs [here](https://api.yaxc.d2a.io)\n\n#### 🖥 Host Your Own Server\n**EXAMPLE**\n```bash\n$ yaxc serve -b :80\n# INFO | Started clipboard-server. Press CTRL-C to stop.\n```\n\n**HELP**\n```\nUsage:\n  yaxc serve [flags]\n\nFlags:\n  -b, --bind string                 Bind-Address (default \":1332\")\n  -t, --default-ttl duration        Default TTL (default 1m0s)\n  -e, --enable-encryption           Enable Encryption (default true)\n  -h, --help                        help for serve\n  -x, --max-body-length int         Max Body Length (default 8192)\n  -s, --max-ttl duration            Max TTL (default 1h0m0s)\n  -l, --min-ttl duration            Min TTL (default 5s)\n      --proxy-header string         Proxy Header\n  -r, --redis-addr string           Redis Address\n      --redis-db int                Redis Database\n      --redis-pass string           Redis Password\n      --redis-prefix-hash string    Redis Prefix (Hash) (default \"yaxc::hash::\")\n      --redis-prefix-value string   Redis Prefix (Value) (default \"yaxc::val::\")\n```\n\n### Client\nThe client is a command line interface that provides the following functions:\n\n#### 👉 Send Clipboard (one-time)\n**EXAMPLE**\n```bash\n$ yaxc force push -a mypath [-s mypassword]\n# INFO | Sent -\u003e hello wor... -\u003e /mypath\n# INFO | 🔐 mypassword\n# DBUG | URL: https://yaxc.d2a.io/mypath?secret=mypassword\n```\n\n**HELP**\n```\nUsage:\n  yaxc force push [flags]\n  \nGlobal Flags:\n  -a, --anywhere string   Anywhere Path\n  -b, --base64            Use Base64\n      --config string     config file (default is $HOME/.yaxc.yaml)\n  -S, --hide-secret       Hide Secret\n  -U, --hide-url          Hide URL\n  -s, --secret string     Encryption Key\n      --server string     URL of API-Server (default \"https://yaxc.d2a.io\")\n```\n\n#### 👈 Receive Data And Paste To Clipboard (one-time)\n**EXAMPLE**\n```bash\n$ yaxc force pull -a mypath [-s mypassword]\n# INFO | Read \u003c- hello wor...\n```\n\n**HELP**\n```\nUsage:\n  yaxc force pull [flags]\n\nGlobal Flags:\n  -a, --anywhere string   Anywhere Path\n  -b, --base64            Use Base64\n      --config string     config file (default is $HOME/.yaxc.yaml)\n  -S, --hide-secret       Hide Secret\n  -U, --hide-url          Hide URL\n  -s, --secret string     Encryption Key\n      --server string     URL of API-Server (default \"https://yaxc.d2a.io\")\n```\n\n#### 👈 Receive data and output them (one-time)\n**EXAMPLE**\n```bash\n$ yaxc get -a mypath [-s mypassword]\n# Hello world!\n```\n\n**HELP**\n```\nUsage:\n  yaxc get [flags]\n\nFlags:\n  -a, --anywhere string     Path (Anywhere)\n  -h, --help                help for get\n  -s, --passphrase string   Encryption Key\n\n```\n\n#### ♻️ Watch Clipboard (Clipboard Sync)\n**EXAMPLE**\n```bash\n$ yaxc watch -a mypath [-b -s mypassword]\nINFO | Started clipboard-watcher. Press CTRL-C to stop.\nUPDT | Server \u003c- Hello Wor...\n```\n\n**HELP**\n```\nUsage:\n  yaxc watch [flags]\n\nFlags:\n  -a, --anywhere string     Path (Anywhere)\n  -b, --base64              Use Base64?\n  -h, --help                help for watch\n      --ignore-client       Ignore Client Updates\n      --ignore-server       Ignore Server Updates\n  -s, --passphrase string   Encryption Key\n```\n\n---\n\n## Useful aliases\n```bash\n# PUSH\n# push clipboard contents (one-time) to /anywhere\nalias yfsh='yaxc force push -a anywhere'\n\n# push clipboard contents (one-time) encrypted to /anywhere\nalias yfshs='yaxc force push -a anywhere -s secret'\n\n# PULL\n# pull clipboard contents (one-time) to /anywhere\nalias yfll='yaxc force pull -a anywhere'\n\n# pull encrypted clipboard contents (one-time) to /anywhere\nalias yflls='yaxc force pull -a anywhere -s secret'\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarmiel%2Fyaxc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdarmiel%2Fyaxc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdarmiel%2Fyaxc/lists"}