{"id":21660761,"url":"https://github.com/schorschii/companion4linux","last_synced_at":"2025-04-11T22:42:50.390Z","repository":{"id":114114705,"uuid":"227467680","full_name":"schorschii/Companion4Linux","owner":"schorschii","description":"Unofficial Atlassian Confluence Companion App for Linux","archived":false,"fork":false,"pushed_at":"2025-03-05T11:23:45.000Z","size":54,"stargazers_count":36,"open_issues_count":0,"forks_count":8,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-03-25T18:45:16.762Z","etag":null,"topics":["atlassian","atlassian-confluence","confluence","linux"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/schorschii.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":["schorschii"],"liberapay":"schorschii","custom":["https://www.paypal.me/schorschii"]}},"created_at":"2019-12-11T21:54:56.000Z","updated_at":"2025-03-05T11:23:49.000Z","dependencies_parsed_at":"2024-11-25T09:48:54.919Z","dependency_job_id":null,"html_url":"https://github.com/schorschii/Companion4Linux","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCompanion4Linux","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCompanion4Linux/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCompanion4Linux/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/schorschii%2FCompanion4Linux/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/schorschii","download_url":"https://codeload.github.com/schorschii/Companion4Linux/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492995,"owners_count":21113159,"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":["atlassian","atlassian-confluence","confluence","linux"],"created_at":"2024-11-25T09:38:39.747Z","updated_at":"2025-04-11T22:42:50.381Z","avatar_url":"https://github.com/schorschii.png","language":"Python","funding_links":["https://github.com/sponsors/schorschii","https://liberapay.com/schorschii","https://www.paypal.me/schorschii"],"categories":[],"sub_categories":[],"readme":"# Confluence Companion App for Linux\n\nThe Companion App for Linux is an unoffical Linux port of the [Atlassian Companion App](https://confluence.atlassian.com/doc/install-atlassian-companion-992678880.html) ([originally only available for Windows and macOS](https://confluence.atlassian.com/conf612/administering-the-atlassian-companion-app-958778510.html)). In contrast to the official fat Electron app, this is basically just a tiny python script (~400 lines).\n\n**Please note that the Companion functionality is now only available for Confluence Data Center (as of February 2024). [Atlassian removed it from the Cloud version in 2022](https://community.atlassian.com/t5/Confluence-articles/Removing-the-Companion-app-from-Confluence-Cloud/ba-p/1884657).**\n\nWith the Companion App you can [edit files in Atlassian Confluence](https://confluence.atlassian.com/conf612/edit-files-958777653.html) with your preferred (local installed) desktop application. The companion app will automatically upload the file to Confluence if it changed on disk.\n\nWhen reporting bugs, please append a detailed description of the error including which Confluence version you are using and whether you are running your own Confluence server or if you are using the cloud version.\n\n## Debian Package Installation (Debian/Ubuntu/Mint)\n1. Download and install the `.deb` package from the [latest release](https://github.com/schorschii/companion-linux/releases) on Github.\n2. Open Confluence in your web browser, open a document and click on \"Edit\". Your browser will ask you now to allow executing Companion4Linux. A desktop notification will appear informing you about the current companion activity.\n\n## Manual Installation\n```bash\n# install required Python packages (Debian/Ubuntu/Mint)\napt install python3-distutils python3-pyinotify\n\n# install required Python packages (Fedora)\ndnf install -y python3-distutils-extra python3-inotify\n\n# set execution rights and copy `companion2.py` (for Confluence 7.4.0 and newer)\nchmod +x companion2.py\ncp companion2.py /usr/bin\ncp companion-protocol-handler.desktop /usr/share/applications\nupdate-desktop-database\n```\n\nOpen Confluence in your web browser, open a document and click on \"Edit\". Your browser will ask you now to allow executing Companion4Linux. A desktop notification will appear informing you about the current companion activity.\n\n**Further hints:**\n- File monitoring will be cancelled as soon as the desktop notification is closed. Make sure that the notification is visible until you finished editing your document.\n- Temporary files will be saved in `~/.cache/companion/tmp` and config files in `~/.config/companion`. Please ensure that you have write permissions in that directories.\n- When executing `firefox` in the terminal, you can see the Companion4Linux output. Check this output for troubleshooting and before reporting bugs.\n\n---\n\n## Functionality\nThere are 3 ways how the companion app works.\n\n### 1. Local Web Server With SSL Certificate\nAtlassian's first attempt was that the web browser connects via websocket to \"atlassian-domain-for-localhost-connections-only.com\" (which points to 127.0.0.1) where the companion app listens for requests.\n\nSSL encryption between Browser and Companion App (through \"atlassian-domain-for-localhost-connections-only.com\") is not supported anymore as described [here](https://jira.atlassian.com/browse/CONFSERVER-59244?src=confmacro\u0026_ga=2.138774577.300479270.1578747514-1264684236.1567087366).\n\nThis technology is not supported anymore by Companion4Linux.\n\n### 2. Local Web Server Without SSL\nThe web browser connects via websocket to 127.0.0.1 where the companion app listens for requests. This was replaced with a new technology (case 3) in Atlassian Companion App v1.0.0 / Confluence 7.4.0 in order to support terminal server environments (see [here](https://confluence.atlassian.com/doc/atlassian-companion-app-release-notes-958455712.html)).\n\nThis method was still used lately in Confluence Cloud but support was [dropped 2022](https://community.atlassian.com/t5/Confluence-articles/Removing-the-Companion-app-from-Confluence-Cloud/ba-p/1884657), therefore it was also removed from Companion4Linux. Before that, method 1 and 2 were handled by \"companion.py\".\n\n### 3. Via Protocol Scheme »atlassian-companion:«\nThe companion app gets called from a browser using a protocol scheme `atlassian-companion:` with a parameter like `{\"link\":\"https://....}`. The user needs to allow this execution (once per domain) in his browser. The browser will then start the application which is registered for this protocol with a command line parameter `atlassian-companion:{\"link\":\"https://....}`. With this information, it can download, monitor and upload the requested file.\n\nThis method is handled by \"companion2.py\".\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschorschii%2Fcompanion4linux","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fschorschii%2Fcompanion4linux","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fschorschii%2Fcompanion4linux/lists"}