{"id":13547332,"url":"https://github.com/mooltipass/moolticute","last_synced_at":"2026-01-12T00:57:34.507Z","repository":{"id":2240414,"uuid":"43965851","full_name":"mooltipass/moolticute","owner":"mooltipass","description":"Mooltipass crossplatform daemon/tools ","archived":false,"fork":false,"pushed_at":"2025-02-25T21:04:11.000Z","size":14155,"stargazers_count":146,"open_issues_count":88,"forks_count":66,"subscribers_count":19,"default_branch":"master","last_synced_at":"2025-02-25T22:20:00.638Z","etag":null,"topics":["crossplatform","daemon","libusb","mooltipass","password-manager"],"latest_commit_sha":null,"homepage":"","language":"C","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/mooltipass.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":"2015-10-09T15:59:55.000Z","updated_at":"2025-02-25T21:04:15.000Z","dependencies_parsed_at":"2023-07-05T20:16:16.946Z","dependency_job_id":"812f9eb4-8793-4f38-8c32-4ed662af2f56","html_url":"https://github.com/mooltipass/moolticute","commit_stats":{"total_commits":2207,"total_committers":49,"mean_commits":45.04081632653061,"dds":0.7371998187584957,"last_synced_commit":"c074ff87db82a9f0ddc9c073fb0b187ab7bed7e0"},"previous_names":[],"tags_count":412,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooltipass%2Fmoolticute","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooltipass%2Fmoolticute/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooltipass%2Fmoolticute/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mooltipass%2Fmoolticute/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mooltipass","download_url":"https://codeload.github.com/mooltipass/moolticute/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246880347,"owners_count":20848846,"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":["crossplatform","daemon","libusb","mooltipass","password-manager"],"created_at":"2024-08-01T12:00:54.119Z","updated_at":"2026-01-12T00:57:34.501Z","avatar_url":"https://github.com/mooltipass.png","language":"C","funding_links":[],"categories":["C","others"],"sub_categories":[],"readme":"Moolticute\n==========\n\n[![License](https://img.shields.io/badge/license-GPLv3%2B-blue.svg)](http://www.gnu.org/licenses/gpl.html)\n\n[![Build Status](https://travis-ci.org/mooltipass/moolticute.svg?branch=master)](https://travis-ci.org/mooltipass/moolticute)\n\nThis project aims to be an easy to use companion to your [Mooltipass](http://www.themooltipass.com) device and extend\nthe power of the device to more platform/tools.\nWith it you can manage your Mooltipass with a cross-platform app, as well as provide a daemon service that\nhandles all USB communication with the device.\n\nThis tool comes with a daemon that runs in background, and a user interface app to control your Mooltipass.\nOther clients can also connect and talk to the daemon (it uses a websocket connection and simple JSON messages).\n\nIt is completely cross platform, and runs on Linux (using native hidraw API), OS X (native IOKit API), and Windows (native HID API).\n\n### Downloads\nPackages are build and available here: https://github.com/mooltipass/moolticute/releases  \n\n### Submodules\nWhen downloading this repository, make sure to download the submodules:\n```bash\ngit clone https://github.com/mooltipass/moolticute.git --recurse-submodules\n```\n\n### Dependencies\n\n##### Windows, Linux, OSX\n - Requires Qt 5.6 or higher.\n - These Qt5 modules are required:\n   - qt-core\n   - qt-gui\n   - qt-widgets\n   - qt-network\n   - qt-websockets\n\n##### Linux\n - Requires the qt-dbus module\n - Requires to install [udev rule](https://github.com/mooltipass/mooltipass-udev) for it\n   - Note: For Linux systems without systemd please refer to [dedicated section](#non-systemd-linux)\n\nMoolticute comes in two part on Linux:\n  - A daemon that runs in background named moolticuted that proxy\n    command between device and GUI\n  - A GUI application for user to interact with the device using moolticuted\n\nOne way of using Moolticute is allowing systemd to manage the daemon\nas a system service and your desktop environment execing the GUI when\nyou need it. In such setup it is best to disable the option found in\nthe GUI called \"Start Moolticute with the computer\"\nThe default build recipe will drop a systemd system unit\n`moolticuted.service`, after build and installation:\n\n```bash\nsystemctl daemon-reload\nsystemctl enable --now moolticuted.service\n```\n\nAt this point the Moolticute daemon should be running. As the build\nalso drop an `moolticute.desktop` you should be able to launch the GUI\nusing your environment application launcher and searching for \"moolticute\".\n\n##### Ubuntu 16.04\n```bash\nsudo apt install libqt5websockets5-dev qt-sdk qt5-qmake qt5-default libudev-dev\ncurl https://raw.githubusercontent.com/mooltipass/mooltipass-udev/master/udev/69-mooltipass.rules | sudo tee /etc/udev/rules.d/69-mooltipass.rules\nsudo udevadm control --reload-rules\n```\n\n##### Arch Linux\n\nThere are packages in AUR both for udev rules and for the Moolticute:\n  - [udev rules](https://aur.archlinux.org/packages/mooltipass-udev/)\n  - [Moolticute](https://aur.archlinux.org/packages/moolticute/)\n\n##### Void Linux\n\nThe udev rules are automatically updated as [this\nissue](https://github.com/mooltipass/mooltipass-udev/pull/3) describes\n```bash\nsudo xbps-install -S qt5-websockets-devel qt5-devel qt5-gui qt5-network qt5-widgets qt5-qmake\ncurl https://raw.githubusercontent.com/mooltipass/mooltipass-udev/master/udev/69-mooltipass.rules | sudo tee /etc/udev/rules.d/69-mooltipass.rules \u0026\u0026 sudo sed -i 's/TAG+=\"uaccess\"/GROUP=\"plugdev\"/g' /etc/udev/rules.d/69-mooltipass.rules\nsudo udevadm control --reload-rules\nsudo udevadm trigger\n```\n\n##### Fedora Linux\n```bash\nsudo dnf install gcc-c++ qt5 qt5-qtwebsockets qt5-qtwebsockets-devel qt5-qttools-devel systemd-devel\ncurl https://raw.githubusercontent.com/mooltipass/mooltipass-udev/master/udev/69-mooltipass.rules | sudo tee /etc/udev/rules.d/69-mooltipass.rules\nsudo udevadm control --reload-rules\n```\n\n##### Fedora Linux (33 and \u003e)\n```bash\nsudo dnf install gcc-c++ qt5-qtbase qt5-qtwebsockets qt5-qtwebsockets-devel qt5-qttools-devel systemd-devel\ncurl https://raw.githubusercontent.com/mooltipass/mooltipass-udev/master/udev/69-mooltipass.rules | sudo tee /etc/udev/rules.d/69-mooltipass.rules\nsudo udevadm control --reload-rules\n```\n\n##### NixOS\nUdev rules are lifted from the package if [this](https://github.com/NixOS/nixpkgs/pull/154355) is merged, otherwise paste them in as `extraRules`.\n```\nenvironment.systemPackages = with pkgs; [\n  ...\n  moolticute\n  ];\n};\n\nservices.udev.packages = [ pkgs.moolticute.udev ]; # if linked PR is merged\nservices.udev.extraRules = '' # if not slip rules in manually\n  \u003cthe udev rules from data/moolticute.sh\u003e\n            '';\n```\n\n##### Alpine\nFirst you'll need to download and install [QZXing](https://github.com/ftylitak/qzxing) first by doing `qmake`.\nThe advice in that repo suggests to add the header files to the `Moolticute.pro` however this dosen't work.\n```\ndoas apk add qt5-qtmultimedia-dev qt5-qtsystems-dev qt5-qttools-dev qt5-qtx11extras-dev qt5-qtwayland-dev acpi alpine-conf eudev eudev-doc eudev-rule-generator eudev-openrc linux-firmware cpufreqd pciutils util-linux\ndoas rc-update add udev\ndoas rc-update add acpid\ndoas rc-update add cpufreqd\ndoas setup-devd udev\ndoas setup-devd dbus\ndoas setup-devd elogind\ndoas setup-devd polkit\ncurl https://raw.githubusercontent.com/mooltipass/mooltipass-udev/master/udev/69-mooltipass.rules | doas tee /etc/udev/rules.d/69-mooltipass.rules\ndoas udevadm control --reload-rules\n```\nReboot, then make sure to add yourself to plugdev group, once done you may need to reboot again, check via `groups`.\n\n##### Non systemd Linux\nThe main [udev rules](https://github.com/mooltipass/mooltipass-udev)\nrelies on integration between systemd, systemd-login and systemd-udevd\nto automatically allow any user logged in to access mooltipass devices.\nThis will not work on Linux ecosystem without systemd, one\nworkaround is to change the `TAG+=\"uaccess\"` to\n`GROUP=\"plugdev\"` and add your interactive user to this group.\n\nRefer to [this\nissue](https://github.com/mooltipass/mooltipass-udev/pull/3) for more information.\n\n### How to build\n\nFor now, no binary releases are out yet. You will need to build the software by following the next step.\n\nTwo method can be used to build, by using QtCreator IDE, or from command line (typically on Linux). After the build succeeded, two executable are created:\n - moolticuted (the daemon process)\n - moolticute (the main GUI app)\n\n##### Using Qt SDK\n\n - Download and install the Qt SDK from their [website](http://qt.io)\n - Start Qt-Creator\n - Open the main Moolticute.pro project file\n    - Note for Windows users: make sure that you select a \"kit\" that uses the MinGW compiler.\n      Moolticute currently won't compile successfully when using the Microsoft Visual C++ compiler.\n - Click on the \"play\" button to build and run\n\n##### Command line\n\nQt needs to be installed correctly (see your Linux distribution for that)\n\n```\nmkdir build\ncd build\nqmake ../Moolticute.pro\nmake\n```\n\nBe sure to use the Qt5 qmake. You can check if you are using the correct qmake by using the command\n```\n➜  ~  qmake --version\nQMake version 3.0\nUsing Qt version 5.5.1 in /usr/lib\n```\n\nOn Gentoo, a wrapper is created for qmake, so this command should be used:\n```\nqmake -qt=5 ../Moolticute.pro\n```\n\nOn Fedora, use this qmake command:\n```\nqmake-qt5 ../Moolticute.pro\n```\n\n### Licensing\n\nMoolticute is free software: you can redistribute it and/or modify it under the terms of the GNU Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.\nFor any question feel free to contact Mathieu Stephan through this repository.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooltipass%2Fmoolticute","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmooltipass%2Fmoolticute","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmooltipass%2Fmoolticute/lists"}