Matthew's Blog

Set Nextcloud Contacts as Default Account in iOS

Sometime in the last couple of years Nextcloud made some changes to the Contacts app. They added a system address book, and the ability to have multiple address books under a single Nextcloud account.

iOS sort of supports multiple address books under one account, but this has some unintended side effects. The additional address books show up as groups in the iOS Contacts app, and this marks the account as unavailable to be set as the default account for saving contacts. As I’m writing this, that’s probably because the system address book isn’t writable, and iOS requires a default account to be writable. I suppose that makes sense.

NextJS With Google ReCaptcha Enterprise

I haven’t been able to find a guide for this yet, but there’s plenty of guides out there for Recaptcha v2 and v3. Many of the v3 packages can work with ReCaptcha Enterprise, but none of them seem to support policy-based challenges. This guide will show you how to implement ReCaptcha Enterprise with policy-based challenges in a NextJS app without any external libraries.

This guide will not cover how to obtian a ReCaptcha Enterprise key, nor how to validate the token on the server side.

"Color Picker" Browser Extension Becomes Malware

Recently, several articles have been published about several browser extensions that have started shipping malware. Many of these extensions were previously benign and were “trusted” and “verified” by the browser vendors.

This article focuses more on one of the C&C domains used by the extension: hxxp(s)://admitclick.net.

Low-Hanging Fruit

I swear I’ve seen this domain before, or maybe I’m thinking of doubleclick.net, in any case, domains that have “click” in them set of my alarm bells.

Windows Update Error 0x80070780

These last two months a couple of the servers I maintain at work were failing to install the monthly update rollup. Usually when updates start failing, we tend to reach for a server rebuild instead of troubleshooting the black box that can be Windows Updates – after all the error messages and codes they display to end users aren’t exactly… descriptive. This particular error code doesn’t make Microsoft’s list of common errors and mitigation.

Optional Parameters Required to Close WebSockets in Safari Without Errors

At work, I wrote some JavaScript to do a quick test to make sure a WebSocket connection can be made from our users’ computers. We’re a Citrix shop, and most of our users use the HTML5 client, which requires WebSockets to work.

If a WebSocket can’t connect, or an error is thrown, a message is shown to encourage the user to reach out to their IT department to resolve whatever firewalls or security software might be in the way.

Page 1 of 6