The provided contract checks msg.sender != tx.origin which is the case if the call is sent from a contract. Solution is to make such a contract and call it's function:
// SPDX-License-Identifier: GPL-3.0
pragma solidity >=0.7.0 <0.9.0;
import "contracts/UnknownOrigin.sol";