TreeMap
A free, open-source disk-space visualizer. Squarified treemap, duplicate hunting, disk-full forecasting, and cleanup that only ever moves files to the Trash.
翻譯準備中
Share configs, logs and other files online without signing in, as a link that lasts from 10 minutes to 30 days, or from a terminal with curl. Sign in to give each person or machine its own revocable l
翻譯準備中
生產力Go · HTMLGitHub @xwvike上線中營運者未確認
試用過了嗎? 點一下就好,不需要登入。
尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Share configs and logs as links — one revocable link per person or machine, with expiry, use limits and access logs. Optional end-to-end encryption. Self-hostable Go service.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
PlainMote is a web service for sharing configuration files, logs and other files. Content is stored and delivered byte for byte. Each piece of content can be shared through a separate link for each recipient or machine; each link has its own expiry and use limit, can be revoked independently, and records every access made through it.檢視完整 README ↗English | 简体中文
PlainMote keeps and shares configuration files, logs, notes and other files. Every save keeps a version; every recipient or machine gets a share link of its own, with its own expiry and use limit, revocable on its own, and every access through it is recorded. Besides the web, it works from a terminal, an API or an AI app.
Reference deployment: plainmote.link
ETag and 304, which suits machines polling for a config; opened in a browser, images, audio and video are shown in place.tmp or surge, and filter the list by them.plainmote command line views, edits and uploads resources; AI apps such as Claude, ChatGPT and Cursor read and write them through /mcp once authorized.curl -fsSL https://plainmote.link/cli/en | sh # macOS, Linux
irm https://plainmote.link/cli/en.ps1 | iex # Windows PowerShell
The install script verifies the build's SHA-256 and installs it for the current user, without administrator rights; after the service is upgraded, run it again to update. /cli/en installs a command line that speaks English, /cli/zh one that speaks Chinese.
plainmote login # confirm the sign-in in a browser
plainmote ls nginx
plainmote edit nginx.conf # opens your editor; closing it saves a new version
plainmote cat nginx.conf | grep listen
tail -n 200 app.log | plainmote push - --name app.log
plainmote push ./nginx.conf --to nginx.conf
plainmote push ./note.md --tag tmp # create a resource with a tag
plainmote ls --tag tmp
plainmote share ./app.log --ttl 1d # make a quick share; prints only its link
plainmote push ./prod.env --encrypt # create an end-to-end encrypted resource
PLAINMOTE_MASTER_PASSWORD.plainmote help lists every command and setting. The API it uses is described in Command line API.tail -n 200 app.log | curl -F 'content=<-' https://plainmote.link/paste
curl --data-binary @app.log 'https://plainmote.link/paste?ttl=1d&filename=app.log'
curl https://plainmote.link/paste # prints usage
ttl is 10m, 1h, 1d, 7d or 30d. The response body is the share link on one line, ready for a pipe or $(...).
PlainMote is a single stateless Go service. It needs PostgreSQL, S3-compatible object storage (such as Cloudflare R2 or RustFS), and GitHub or Google OAuth for sign-in. The image ghcr.io/xwvike/plainmote is built for amd64 and arm64, and the server needs only compose.yaml and .env:
cp .env.example .env # fill in the image version, database, object storage, OAuth and keys
docker compose up -d
Environment variables, external services, the public entry point, upgrades and backups are in the deployment guide.
PLAINMOTE_CONTACT_EMAIL set, the service serves an about page, a privacy policy, terms of service and a contact page. They describe the reference deployment: review and adapt them to your law and your own operation (internal/web/templates/legal_*.html)./api/v1/ reference and fetching share linksdocker compose -f compose.dev.yaml up --build
The application is at http://localhost:8964 and the RustFS console at http://localhost:9001/rustfs/console/ (user plainmote, password plainmote-secret). Sign-in needs the GitHub or Google OAuth settings in .env.
Running the tests:
docker compose -f compose.dev.yaml up -d postgres
PLAINMOTE_TEST_DATABASE_URL='postgres://plainmote:[email protected]:54329/plainmote?sslmode=disable' go test ./...
go vet ./...
node tools/e2ee/e2ee_test.mjs
npm --prefix tools/codemirror test
With Node.js installed, go test also runs the browser's encryption, comparison and export modules and checks that the command line and the browser read each other's encrypted content; without it those tests are skipped. The editor's dependencies are committed as a bundle and never loaded from a CDN; rebuild it with tools/codemirror/build.sh. Regular builds do not need Node.js.
cmd/plainmote/ service entry point
cmd/plainmote-admin/ admin key generation and request signing
cmd/plainmote-cli/ the plainmote command line
internal/app/ service assembly and HTTP lifecycle
internal/auth/ GitHub OAuth and Google OpenID Connect
internal/blob/ S3-compatible object storage
internal/config/ environment parsing and validation
internal/linediff/ line diff for version pages and the command line
internal/store/ PostgreSQL schema and business rules
internal/upstream/ fetching MCP client metadata documents from public addresses
internal/web/ routes, pages, static assets and public delivery
tools/ editor bundle and encryption tests
docs/ deployment, administration and API documentation, and images
Copyright (C) 2026 xwvike
Released under the GNU Affero General Public License v3.0: anyone who modifies the project and offers it to others over a network must make the modified source available to those users.
Licenses of third-party components (CodeMirror and others, MIT; jschardet, LGPL-2.1) are listed in tools/codemirror/NOTICE.md.