Никак, так как для любого сервиса, который будет перенаправлять данные, нужно мониторить момент изменения порта и знать на какой он изменился, а для этого на стороне ngrok.io должен стоять какой либо сервис, который будет отчитываться о изменении порта. Таким образом - за удобство в данном случае только платить.
Так как непонятно какой ответ вы хотите получить (ну не готовый же код) то отвечу так:
Опубликовать этот же текст на любой фриланс бирже + указать сроки (оно ведь срочно) и всё будет сделано.
Просто открыть и пробросить мало, на порту должна висеть какая либо программа и ждать данные, если никакое ПО использующее этот порт не запущено - проверка скажет "порт закрыт".
вычистит из этой скомпилированной библиотеки неиспользуемые функции
Из уже скомпилированной библиотеки ничего вычистить нельзя, ведь для того, чтоб убрать - надо де компилировать, очистить ненужное и скомпилировать обратно.
Но как вариант - использовать .NET 6 (придется так же переписать библиотеку на .NET 6) и использовать совет Роман
Максимум - повысится стоимость на аренду windows веб сервера (IIS), но можно для этих целей использовать и linux сервера, так как Net core уже вполне адекватен.
В наушниках для смартфона обычно 4 контакта (звук и микрофон), в разъеме для ПК для наушников всего 3 контакта и микрофон идет отдельным разъемом.
Вы втыкаете 4 контакта в 3 и получаете замыкание.
ДНС записи обновляются до суток, скорее всего запись изменили недавно и она еще не на всех серверах актуальна.
У меня команда nslookup xn----7sbbpfvkhy4b.xn--p1ai вообще не находит A запись.
Так может STR_TO_DATE возвращает у вас в данном случае не дату а NULL? Особенно учитывая то, что у вас дата начинается с года и пишется через дефис, а в параметре первым указан день и через точку.
Обычно в Program Files имеет право писать только админ. Либо запускайте ваше приложение от имени админа (что в данном случае избыточно), либо храните данные в доступном для записи обычному пользователю месте (К примеру в C:\Users\ИмяЮзера\AppData\Local\имя_Вашего_ПО).