{"id":45368201,"url":"https://github.com/gustjose/obsidian-syncthing-manager","last_synced_at":"2026-02-21T15:10:15.104Z","repository":{"id":325707924,"uuid":"1102121373","full_name":"gustjose/obsidian-syncthing-manager","owner":"gustjose","description":"Control panel for Syncthing. Monitor status, resolve conflicts, and force synchronization on Desktop and Mobile.","archived":false,"fork":false,"pushed_at":"2026-02-16T13:46:04.000Z","size":7559,"stargazers_count":12,"open_issues_count":1,"forks_count":1,"subscribers_count":0,"default_branch":"master","last_synced_at":"2026-02-16T21:44:02.021Z","etag":null,"topics":["obsidian","obsidian-plugin","sync","syncthing"],"latest_commit_sha":null,"homepage":"","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/gustjose.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-11-22T21:23:31.000Z","updated_at":"2026-02-16T13:46:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/gustjose/obsidian-syncthing-manager","commit_stats":null,"previous_names":["gustjose/obsidian-syncthing-manager"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/gustjose/obsidian-syncthing-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustjose%2Fobsidian-syncthing-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustjose%2Fobsidian-syncthing-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustjose%2Fobsidian-syncthing-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustjose%2Fobsidian-syncthing-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gustjose","download_url":"https://codeload.github.com/gustjose/obsidian-syncthing-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gustjose%2Fobsidian-syncthing-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29684230,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T14:31:22.911Z","status":"ssl_error","status_checked_at":"2026-02-21T14:31:22.570Z","response_time":107,"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":["obsidian","obsidian-plugin","sync","syncthing"],"created_at":"2026-02-21T15:10:14.627Z","updated_at":"2026-02-21T15:10:15.096Z","avatar_url":"https://github.com/gustjose.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/images/plugin-banner.png\" alt=\"Plugin Banner\" width=\"700\"\u003e\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cb\u003eControl, monitor, and visualize your Syncthing synchronization directly inside Obsidian.\u003c/b\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\" style=\"margin-top:2rem; margin-bottom: 2rem; display:flex; justify-content: center; gap: 0.5rem;\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/v/release/gustjose/obsidian-syncthing-manager?style=for-the-badge\u0026logo=github\u0026color=0890C2\" alt=\"Latest Release\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/downloads/gustjose/obsidian-syncthing-manager/total?style=for-the-badge\u0026logo=obsidian\u0026color=0890C2\" alt=\"Total Downloads\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/last-commit/gustjose/obsidian-syncthing-manager?style=for-the-badge\u0026color=0890C2\" alt=\"Last Commit\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/license/gustjose/obsidian-syncthing-manager?style=for-the-badge\u0026logo=opensourceinitiative\u0026logoColor=fff\u0026color=0890C2\" alt=\"License\"\u003e\n\u003c/p\u003e\n\n\u003cbr\u003e\n\n![Plugin Overview](docs/images/overview.gif)\n\nThis plugin acts as a bridge to your local Syncthing API, providing real-time file status, a powerful conflict resolver, and tools to keep your vault healthy across Desktop and Mobile devices.\n\n## 📚 Documentation\n\nFor full usage guides, installation instructions, and troubleshooting, visit the **[Official Documentation](https://gustjose.github.io/obsidian-syncthing-manager/)**.\n\n---\n\n## ✨ New in v1.1: Visual Sync\n\nNow you can see exactly what is happening with your files without leaving the editor.\n\n- **Tab Status Icons:** Instant feedback on the file you are editing.\n    - 🟠 **Syncing:** Spinning icon indicates the file is being uploaded/downloaded.\n    - 🟢 **Synced:** A checkmark appears briefly when synchronization is complete.\n- **Smart History:** Know the direction of your data.\n    - ↙️ **Incoming:** Changes received from a remote device.\n    - ↗️ **Outgoing:** Local changes sent to other devices.\n\n---\n\n## 🚀 Features\n\n- **Real-Time Monitoring:** View your vault status (Synced, Syncing, Disconnected) via the Status Bar or a dedicated Side Panel.\n- **Visual Sync:** Tabs show specific icons when files are syncing (🟠) or fully synced (🟢).\n- **Control Center:** Pause/Resume specific folders and see connected devices by name directly in the plugin view.\n- **File Versioning:** Configure versioning strategies (Trashcan, Simple, Staggered) and **restore previous versions** of files directly within Obsidian.\n- **Conflict Resolver:** Intelligent detection of `.sync-conflict` files with a **side-by-side diff view** for safe resolution.\n- **Context Menu Integration:** Right-click any file to force a sync or view its version history.\n- **.stignore Editor:** Manage ignored files (like `workspace.json` or `.DS_Store`) directly within Obsidian using built-in templates.\n- **History Filter:** Keep your activity log clean by hiding system files from the history view.\n- **Mobile Optimized:** Responsive design built to work perfectly on Android.\n- **Localization:** Fully translated into 🇺🇸 English, 🇧🇷 Portuguese (BR), and 🇷🇺 Russian.\n\n---\n\n## Quick Start\n\n1. **Install:** Use [BRAT](#installation) or download the latest release.\n2. **Get API Key:** In Syncthing, navigate to **Actions** \u003e **Settings** \u003e **General** and copy the **API Key**.\n3. **Configure:** - Open Obsidian Settings \u003e **Syncthing Manager**.\n    - Paste your API Key and click **Test Connection**.\n    - **Important:** Select your **Vault Folder** from the dropdown menu to track events.\n\n---\n\n## 📱 Android Setup (Critical)\n\nTo use this plugin on Android (via _Syncthing-Fork_ or the official app), you must allow local HTTP connections.\n\n\u003e [!WARNING] \u003e **HTTPS Restriction:** Obsidian Mobile cannot connect to self-signed HTTPS certificates on localhost. You **must disable HTTPS** in the Syncthing App settings. Since the address is restricted to `127.0.0.1`, your traffic remains local and secure.\n\n1. Open Syncthing App \u003e **Settings** \u003e **GUI**.\n2. Set **GUI Listen Address** to `127.0.0.1:8384`.\n3. **Disable** \"Use HTTPS for GUI\".\n    - _Note: Ensure you have cleared \"GUI Authentication User/Password\" fields, otherwise the app may enforce HTTPS._\n4. Restart the Syncthing App.\n5. In Obsidian Plugin Settings, ensure **Use HTTPS** is toggled **OFF**.\n\n### Alternative: Force HTTP (Environment Variable)\n\nIf the above method resets or fails, you can force Syncthing to use HTTP using an environment variable.\n\n\u003e [!CAUTION]\n\u003e **Side Effect:** This may cause the Syncthing Android App's native UI to stop loading (showing a blank screen or loading spinner). However, the **background service will still run**, and you can access the full Web UI via your browser at `http://127.0.0.1:8384`.\n\n1. Go to **Settings** \u003e **Troubleshooting** \u003e **Environment Variables**.\n2. Add the following variable:\n    - **Key:** `STGUIADDRESS`\n    - **Value:** `http://127.0.0.1:8384`\n3. Restart the App.\n4. If you need to revert, simply delete this variable.\n\n---\n\n## Features Guide\n\n### ⚔️ Conflict Resolution\n\nWhen a sync conflict occurs, a red alert will appear in the Syncthing View.\n\n1. Click the alert to open the **Conflict Resolver**.\n2. Select **Compare Content** for a side-by-side comparison.\n3. Choose:\n    - **Keep Original:** Deletes the conflict file.\n    - **Use Conflict Version:** Overwrites your local file with the remote version.\n\n![Conflict Modal](docs/images/conflict.png)\n\n### 📂 Ignoring Files (.stignore)\n\nPrevent layout issues by ignoring workspace configuration files.\n\n1. Open **Settings** \u003e **Syncthing Manager** \u003e **Edit .stignore**.\n2. Use \"Add Common Patterns\" to quickly ignore `workspace.json`, `.obsidian/workspace`, or OS files like `.DS_Store`.\n\n---\n\n## FAQ \u0026 Troubleshooting\n\n**Q: The tab icon is spinning but never turns green.**\n\n- This usually means Syncthing is still scanning or the file is large. Check the Syncthing GUI web panel for detailed progress.\n\n**Q: Plugin status shows \"Disconnected\".**\n\n- Verify that the Syncthing service is running.\n- Ensure the API Key matches exactly.\n- On Android, double-check that HTTPS is disabled in the Syncthing App.\n\n**Q: Is it secure to disable HTTPS on Android?**\n\n- Yes. By setting the **GUI Listen Address** to `127.0.0.1`, access is restricted exclusively to applications running locally on that specific device.\n\n---\n\n## Installation\n\n### BRAT (Beta)\n\n1. Install the **BRAT** plugin from the Obsidian Community Store.\n2. Add this repository URL: `https://github.com/gustjose/obsidian-syncthing-manager`.\n3. Enable **Syncthing Manager**.\n\n---\n\n## Contributing\n\nContributions are welcome! If you encounter bugs or have feature requests, please open an issue.\n\n- **Build:** `npm run build`\n- **Dev:** `npm run dev`\n\n---\n\n## License\n\nThis project is licensed under the [MIT License](LICENSE).  \nCopyright © 2025 Gustavo Carreiro.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgustjose%2Fobsidian-syncthing-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgustjose%2Fobsidian-syncthing-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgustjose%2Fobsidian-syncthing-manager/lists"}