Skip to content
WM KeyboardWM Keyboard
Accessibility

Servers

The F-Droid edition's list of every online service and download repository, and how to point each one at a mirror or a server you run.

The Servers screen is in the F-Droid edition only. It lists every address the keyboard calls: each online service, and each git repository it downloads files from. Point one at a mirror, or at a server you run yourself, and the keyboard calls that instead. Leave a field empty and the keyboard calls the service’s own server, which is what a fresh install does.

The same fields also sit on each tool’s own page, so the address for weather is under the Weather tool too. Both places edit one setting.

This screen exists because F-Droid marks an app TetheredNet when it depends on a service that can’t easily be replaced, and doesn’t when a simple setting can point the app at a self-hostable alternative. Every service here is replaceable that way, including the ones that are already free software.

The other editions show a note on this screen and never read these fields.

WM KeyboardAdvancedServers

Four downloads are plain files in git repositories. A copy of a repository on another host works the same way, as long as it holds the same files.

RepositoryWhat it’s forBy default
Language dataWord lists, n-gram packs, emoji keyword dictionaries, Chinese and Japanese conversion dictionaries, and vocabulary packsgithub.com/wasi-master/wmkeyboard-data
Add-on repositoryThe add-on repository listed on a fresh install, and the Noto Color Emoji fontgithub.com/wasi-master/wmkeyboard-addon-repository
Key sound repositoryThe key sound repository listed on a fresh installgithub.com/wasi-master/wmkeyboard-monkeytype-sounds
Espanso Hubhub.espanso.org package links pasted on the Snippets screengithub.com/espanso/hub

For each one, Hosted on picks the kind of host, and the fields under it say where the repository is. Paste a repository link fills the fields in from a page address copied out of a browser, on any of these hosts. The line under the fields shows the address the files will come from.

Hosted onFiles come from
GitHubraw.githubusercontent.com/OWNER/REPO/BRANCH/
Forgejo or Gitea (Codeberg, gitea.com, or your own)HOST/OWNER/REPO/raw/branch/BRANCH/
GitLabHOST/OWNER/REPO/-/raw/BRANCH/
SourceHutgit.sr.ht/~OWNER/REPO/blob/BRANCH/
Bitbucketbitbucket.org/OWNER/REPO/raw/BRANCH/
HTTPS folderThe folder address you type, with each file’s path added

Details worth knowing:

  • A repository must be on https://. If a field is empty, the keyboard keeps using the default repository, and the screen says so.
  • Branch can be empty. GitHub and GitLab then use the repository’s default branch; the others use main.
  • The Chinese and Japanese conversion dictionaries are checked against a checksum after they download, so a mirror must serve exactly the same files.
  • An Espanso Hub package name is looked up by listing the package’s version folders. GitHub, Forgejo, Gitea and GitLab can list them. On SourceHut, Bitbucket or a plain folder, paste a direct link to the package file instead.
  • Moving the add-on or key sound repository adds the new address to Add-ons the next time you open it. The old entry stays until you remove it.
  • Use the default repository puts one repository back where a fresh install has it.

Each row is a base address. The keyboard adds the same path it always does, so a server you point it at has to answer the same API. An address can start with http:// as well as https://, for a server on your own network. Anything that isn’t an address yet is ignored, and the field says which server the keyboard uses until it is.

SectionServiceBy default
DownloadsKeyman keyboard cataloguehttps://api.keyman.com
DownloadsKeyman keyboard downloadshttps://downloads.keyman.com
DownloadsNoto animated emojihttps://fonts.gstatic.com/s/e/notoemoji/latest
TranslateLibreTranslatenone, set it up to use it
TranslateGoogle Translate, no keyhttps://translate.googleapis.com
TranslateGoogle Cloud Translationhttps://translation.googleapis.com
Web and image searchSearXNGnone, set it up to use it
Web and image searchBrave Search APIhttps://api.search.brave.com
GIFs and stickersMediaWiki, for photos and GIFsWikimedia Commons
GIFs and stickersKLIPYhttps://api.klipy.com
GIFs and stickersGIPHYhttps://api.giphy.com
PhotosUnsplashhttps://api.unsplash.com
PhotosPexelshttps://api.pexels.com
WikipediaWikipedia or another MediaWikihttps://{lang}.wikipedia.org
DictionaryFree Dictionary APIhttps://api.dictionaryapi.dev
Vocabulary lookupskaikki.org (Wiktextract)https://kaikki.org
Vocabulary lookupsWiktionaryhttps://en.wiktionary.org
WeatherOpen-Meteo forecasthttps://api.open-meteo.com
WeatherOpen-Meteo place searchhttps://geocoding-api.open-meteo.com
Currency ratescurrency-api, and its second serverjsDelivr, then https://latest.currency-api.pages.dev
Currency ratesFrankfurterhttps://api.frankfurter.dev
Currency ratesExchangeRate-API, Coinbase, CoinGeckotheir own servers
AI providersOllama, LM Studio, another OpenAI-compatible servicenone, set them up to use them
AI providersAnthropic, OpenAI, Google Gemini, xAI, DeepSeektheir own servers
Update checkF-Droid repositoryhttps://f-droid.org

A few of these, in more detail:

  • Wikipedia reads {lang} as the language you search in. An address without it, such as your own wiki, is used for every language.
  • F-Droid repository can be any repository that serves F-Droid’s package API. IzzyOnDroid does, at https://apt.izzysoft.de/fdroid.
  • The keyed services (Brave, KLIPY, GIPHY, Unsplash, Pexels, Google’s translation and the AI providers) are here for a proxy or a service that copies their API. Each of those tools also has a free server of its own to use instead: SearXNG, a MediaWiki, LibreTranslate or Ollama.

Not in the list: Google Drive, Dropbox and OneDrive backups, which the F-Droid edition can’t use at all. Backups to WebDAV, S3-compatible storage or a folder already take any address you give them.

See Network policy for what each service is sent, and when.