{"id":13457164,"url":"https://github.com/llaoj/gcopy","last_synced_at":"2026-03-15T15:30:41.285Z","repository":{"id":192503482,"uuid":"686856844","full_name":"llaoj/gcopy","owner":"llaoj","description":"A clipboard synchronization service for different devices that can synchronize text, screenshots, and files.","archived":false,"fork":false,"pushed_at":"2026-03-14T11:57:53.000Z","size":13120,"stargazers_count":699,"open_issues_count":15,"forks_count":50,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-03-14T22:34:50.224Z","etag":null,"topics":["clipboard","copy","file","paste","screenshot","text"],"latest_commit_sha":null,"homepage":"https://gcopy.llaoj.cn","language":"TypeScript","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/llaoj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-09-04T05:07:42.000Z","updated_at":"2026-03-14T11:57:33.000Z","dependencies_parsed_at":null,"dependency_job_id":"d0c89b3a-ecf8-4acb-99f2-eacd2576a9ad","html_url":"https://github.com/llaoj/gcopy","commit_stats":null,"previous_names":["llaoj/gcopy"],"tags_count":44,"template":false,"template_full_name":null,"purl":"pkg:github/llaoj/gcopy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llaoj%2Fgcopy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llaoj%2Fgcopy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llaoj%2Fgcopy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llaoj%2Fgcopy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/llaoj","download_url":"https://codeload.github.com/llaoj/gcopy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/llaoj%2Fgcopy/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30545456,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-15T15:03:43.933Z","status":"ssl_error","status_checked_at":"2026-03-15T15:03:37.630Z","response_time":61,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["clipboard","copy","file","paste","screenshot","text"],"created_at":"2024-07-31T08:01:34.563Z","updated_at":"2026-03-15T15:30:41.279Z","avatar_url":"https://github.com/llaoj.png","language":"TypeScript","funding_links":[],"categories":["TypeScript"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg alt=\"GCopy Logo\" src=\"docs/gcopy.png\" height=\"120\" /\u003e\n  \u003cp align=\"center\"\u003eShare your clipboard. Text, Screenshot, File are supported.\u003c/p\u003e\n\u003c/p\u003e\n\n---\n\n[中文文档](docs/zh-CN/README.md)\n\nA clipboard synchronization service between different operating systems.\n\n`Text`, `Screenshot` \u0026 `File` are supported.\n\nGCopy values your data privacy, it does not persistently store your data; it is all kept in memory. If you are inactive for 24h, the data will expire.\n\n## Authentication Modes\n\nGCopy supports two authentication modes:\n\n### Email Authentication (Default)\n- Higher security with email verification\n- 6-digit verification code sent to email\n- Session valid for 5 minutes\n- Best for public internet usage\n\n### Token Authentication\n- Simpler setup without SMTP configuration\n- 6-character token for quick access\n- Session valid for 7 days (sliding expiration)\n- Best for intranet/LAN environments\n- Multiple devices can share the same token\n\nSee [TOKEN_AUTH.md](docs/TOKEN_AUTH.md) for detailed configuration and security considerations.\n\n## Quick Start\n\n**Try it now:** Visit [https://gcopy.llaoj.cn](https://gcopy.llaoj.cn) to experience GCopy directly.\n\n**Self-host deployment:** Deploy your own instance in under a minute with Docker:\n\n```bash\ndocker run -d \\\n  --name gcopy \\\n  --restart unless-stopped \\\n  -p 3375:3375 \\\n  -e GCOPY_APP_KEY=your-secret-key-min-8-chars \\\n  -e GCOPY_AUTH_MODE=token \\\n  llaoj/gcopy:latest\n```\n\n**Requirements:**\n- Configure a TLS reverse proxy (Nginx, Caddy, etc.) to forward requests to port 3375\n- HTTPS is required for clipboard API access\n- Token mode is recommended for personal/team use (see [TOKEN_AUTH.md](docs/TOKEN_AUTH.md))\n\nFor detailed deployment options including email authentication, see [Deploy by Docker](docs/deploy-by-docker.md).\n\n## Usage\n\n![screanshot on chrome](docs/screenshot-chrome.png)\n\nSteps:\n\n1. Open the website [https://gcopy.llaoj.cn](https://gcopy.llaoj.cn) on two devices, A and B, using a browser and log in with the same email (or use the same token).\n2. On device A, copy (e.g., `Ctrl+C`) and then press the button on the right side of the page.\n3. Switch to device B, press the button again, and the data will be synchronized. Now, go ahead and paste (`Ctrl+V`)!\n\n## Background\n\nIn our daily office routines, especially for software developers, we often find ourselves working with more than two computers.\n\nIf you need to operate both a Windows PC and a MacOS device simultaneously, exchanging information between these two devices becomes quite troublesome. For various reasons, I couldn't find a good tool to share the clipboard between devices with different operating systems. When I copy a piece of text, pasting it on another computer usually proves to be quite challenging.\n\nCurrent tools typically only support text, excluding screenshots and files. Additionally, they often require devices to be on the same local network and accessible to each other, not to mention some of them come with a fee.\n\nThis is not ideal!\n\nTherefore, I developed GCopy to address these issues. Currently, you can share the clipboard across PC, Mac, and mobile devices, supporting text, screenshots, and files. It has low network requirements, allowing different devices to be on the same local network or not.\n\nInitially, I used Git as the backend storage and utilized scripts like PowerShell and osascript to synchronize the clipboard between different devices. However, due to its dependence on Git, it was not user-friendly for non-technical users. So, I replaced Git with Golang to serve as a data transfer service between different devices, but it still required users to download and run the GCopy client on their devices, creating a barrier to entry. That led to the development of the current version, 'GCopy v1.0', as a web service. You can directly access the website [https://gcopy.llaoj.cn](https://gcopy.llaoj.cn) without worrying about data leakage.\n\n## Browser compatibility\n\nGCopy depends on the browser's Clipboard API. Please refer to [browser_compatibility](https://developer.mozilla.org/en-US/docs/Web/API/Clipboard#browser_compatibility) for more information.\n\nThe tested browsers and its versions are listed below:\n\n|Browser|Version||\n|-|-|-|\n|Chrome for Android|107.0.5304.105|✅ Tested|\n|Chrome for macOS|Version 121.0.6167.85 (Official Build) (x86_64)|✅ Tested|\n|Chrome for Windows|Version 123.0.6312.86 (Official Build) (x86_64)|✅ Tested|\n|Edge for Android|Edge 108.0.1462.48|✅ Tested|\n|Edge for HarmonyOS 3.0/4.0|Edge 122.0.2365.99|✅ Tested|\n|Edge for Linux|Edge 130.0.2849.52|✅ Tested|\n|Edge for Windows 10|Version 124.0.2478.80 (Official build) (64-bit)|✅ Tested|\n|Opera for macOS|Opera One(version: 109.0.5097.68) (x86_64)|✅ Tested|\n|Opera for Windows 10|Opera One(version: 109.0.5097.68)|✅ Tested|\n|Safari|Version 15.6.1 (17613.3.9.1.16)|✅ Tested|\n|Safari for iOS|Version 16.1|✅ Tested|\n\n## Limitations\n\n- Due to browser limitations, reading and setting files directly in the clipboard are not supported. Therefore, file synchronization is achieved through uploading and downloading, ensuring a smooth user experience.\n- At any given time, only one file can be synchronized.\n- Due to limited server memory, the size of the files you synchronize must not exceed `--max-content-length` MB.\n\n## Sponsor\n\nGCopy requires cloud server resources to keep the online service running. If you find GCopy helpful, please consider supporting:\n\n- Give a [GitHub Star](https://github.com/llaoj/gcopy) ⭐\n- Or make a donation (any amount is greatly appreciated 😄)\n\nThank you for your support!\n\n[Buy me a coffee](docs/sponsor.md)\n\n## Community\n\nWelcome to join GCopy, whether you're a user or a contributor!\n\nIf you have any questions or need support related to GCopy, you can contact me through the following channels:\n\n### Email\n\nFeel free to reach out to my personal email: qustwwy@163.com. If you have any questions, you can drop me a message.\n\n### Discord\n\nHere, some interesting discussions are happening.\n\nServer link: https://discord.gg/pyTrT3aAaC\n\n## Screenshot\n\nSafari on iOS\n\n\u003cimg width=\"300\" alt=\"screenshot on ios safari\" src=\"docs/screenshot-ios-safari.jpeg\"\u003e\n\n## More\n\n- [Deploy by Docker](/docs/deploy-by-docker.md)\n- [Deploy from source code](/docs/deploy-from-source.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllaoj%2Fgcopy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fllaoj%2Fgcopy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fllaoj%2Fgcopy/lists"}