🤴🏽 Hard-fork of Franz, adding awesome features and removing unwanted ones.
Table of contents
- Table of contents
- What is Ferdi?
- What does Ferdi look like?
- Download Ferdi
- What makes Ferdi different from Franz?
- Backers via OpenCollective
- Sponsors via OpenCollective
What is Ferdi?
Ferdi is a messaging browser that allows you to combine your favorite messaging services into one application. It is based on Franz - a software already used by thousands of people - with the difference that Ferdi gives you many additonal features and doesn't restrict its usage! Ferdi is compatible with your existing Franz account so you can continue right where you left off. Find out more about Ferdi and its features on getferdi.com.
- Ferdi puts all your messaging services into one place
- Native support for 100+ services
- Workspaces to keep your personal and work life seperated
- Support for multiple accounts on any service
- Dark Mode support for all of your services
- Optional cloud sync to keep your services synchronized between devices
- Better control over when you get which notifications
- Cross-platform so you can view your services on all your computers
- Full proxy support to work in every network environment
- Ferdi speaks your language: Support for 20+ languages
...and best of all:
- Its completely free! There are no restrictions on features, no paywalls
What does Ferdi look like?
Or use homebrew (macOS only)
$ brew cask install ferdi
(Don't know homebrew? brew.sh)
Or use AUR (Arch Linux)
Ferdi has three seperate AUR packages you can use:
- ferdi: Uses your system electron version to run the latest release - this version will work best on most systems.
- ferdi-bin: Uses the latest Fedora release and extracts it to Arch. Use this version if you are having trouble with the
- ferdi-git: Uses your system electron version to run the latest commit from the develop branch and may be unstable but may also give you features that are not yet available in other versions. Please only use
ferdi-gitif you accept these risks.
If you use an AUR Helper e.g. yay, simply install it via
yay -S ferdi.
What makes Ferdi different from Franz?
Removes unproductive paywalls and other other interruptions
- Removes the counter-productive fullscreen app delay inviting users to upgrade
- Removes pages begging you to donate after registration
- Removes "Franz is better together" popup
- Makes all users Premium by default (#15)
Adds features to increase your productivity
- Adds 30+ new services
- Adds "Find in Page" feature (#67)
- Adds an option to keep individual workspaces always loaded (#37)
- Adds "Quick Switch" feature to help you navigate a long list of services (similar to Rambox's Quick Switcher)
- Adds "Service Hibernation" that will automatically unload services when they are unused to keep your computer running fast
user.jsthat allows users to inject custom code into services (#83)
- Adds Process Manager to find services using a lot of resources
- Adds CTRL+← and CTRL+→ shortcuts and menu options to go back and forward in the service browsing history(#39)
- Adds "Scheduled Do-not-Disturb" feature in which you won't get notifications (similar to Rambox's Work Hours)
- Allows you to use any Todo service inside "Franz Todo" panel (e.g. Todoist via https://todoist.com/app) instead of being limited to using Franz Todo
Adds features to improve your privacy
- Adds option to change server to a custom ferdi-server
- Adds option to use Ferdi without an account (#5)
- Uses the Ferdi API instead of Franz's servers
- Adds "Private Notification"-Mode, that hides message content from notifications (franz#879)
- Adds Password Lock feature to keep your messages protected (#41, franz#810, franz#950, franz#1430)
- Adds support for unlocking with Touch ID (#367)
- Adds inactivity lock that automatically locks Ferdi after a specified amount of time (#179)
- Adds local recipe repository that removes the need of downloading recipes from a remote server
Adds features to improve your experience using Ferdi
- Adds Universal Dark Mode via the DarkReader extension (#71)
- Adds adaptable Dark Mode that will respect the system's Dark Mode setting (#173)
- Adds ability to change the services icons size and sidebar width (#153)
- Adds an option to auto-hide the menubar (#7, franz#833)
- Enhances system tray icon behaviour (#307)
- Adds option to show a browser-like navigation bar on all services
- Adds option to change accent color
- Reflects your currently opened service name to the window title to improve support for Password Managers (#213)
- Allows using SVGs for service custom icon
- Adds button to open darkmode.css for a service
- Improves "About Ferdi" screen to better display versions
- Adds option to start Ferdi in system tray (#331)
- Fixes and enhances context menu (#357 #413 #452 #354 #227)
- Adds better support for macOS dark mode
- Adds option to disable reload of services after resuming Ferdi (#442)
- Comes with a custom branding proper to Ferdi
- Adds better seperation in settings
- Adds various other UI improvements
- Improves documentation of development so more developers can help making Ferdi even better
- Fixes bug that would incorrectly display unread messages count on some services (more info in 7566ccd)
- Fixes zooming
- Fixes login problems in Google services
- Fixes missing Slack services custom icons (#290)
- Fixes bug that marked valid domains as invalid (#276)
- Fixes microphone/camera access on some versions of macOS (#193)
Adds new platforms
- Adds portable version for Windows so you can use Ferdi without even installing it
- Adds Arch Linux AUR packages
- Adds Ferdi as a Flatpak on Flathub (#323)
Adds internal changes
- Upgrades to Electron 8
- Switches to
electron-spellcheckerto improve application size
- Minifies build files to improve app size
- Adds "npm run prepare-code" command for development to lint and beautify code
- Fixes incorrect body closing tag (#330)
- Uses CrowdIn to improve i18n
Thanks to all our contributors who helped realize all these amazing features!
Install OS dependencies
The version 2.23.0 for Git is working fine for development. You can then use the console from Git to do the development procedure.
$ apt install libx11-dev libxext-dev libxss-dev libxkbfile-dev
$ dnf install libX11-devel libXext-devel libXScrnSaver-devel libxkbfile-devel
$ npm install --global windows-build-tools --vs2015
Clone repository with submodule
$ git clone https://github.com/getferdi/ferdi.git $ cd ferdi $ git submodule update --init --recursive
It is important you execute the last command to get the required submodules (recipes, server).
Run the following command to install all dependencies, and link sibling modules with Ferdi.
$ npx lerna bootstrap
If you previously ran
npm install it sometimes is necessary to delete your
node_modules folder before running
npx lerna bootstrap. If you encounter the
gyp: No Xcode or CLT version error on macOS at this step, please have a look here.
Fix native modules to match current electron node version
$ npm run rebuild
Start development app
Run these two commands simultaneously in different terminals:
$ npm run dev $ DEBUG=Ferdi:* npm run start
$ DEBUG=Ferdi:* npx misty
Note: please prefer
$ npm run build
Deliverables will be available in the
$ git checkout develop && git pull $ git submodule update --remote --force $ git add . $ git commit -m "Update submodules" $ git checkout master $ git merge --no-ff develop $ git tag v5.3.4-beta.4 $ git push --tags
When pushing a new tag, the CI builds will create a draft GitHub release and upload the deliverables in the draft release assets. Wait for all the assets to be uploaded before publishing the draft release.
Thanks goes to these wonderful people (emoji key):
This project follows the all-contributors specification. Contributions of any kind welcome!