Олег Волков, samba работает в качестве контроллера домена, хотя, конечно, поддерживает далеко не всё и не всё там так уж удобно. Другой вопрос, что это вечная роль догоняющего, когда мажорный апдейт винды или даже отдельный очередной KB может что-нибудь поломать...
Но если говорить об общей работоспособности, то с ней всё довольно неплохо. Можно включить винду в домен Linux, можно Linux в домен винды (даже с kerberos, правда, кругов ада у этого цербера может быть довольно много).
alex01s, чаще всего используют библиотеки. Но я бы для начала отладил свой код на локалхосте. Вдруг в нём что-то неверное? Всё-таки тянуть в проект целую библиотеку ради отправки одного сообщения может быть чересчур.
WSGlebKavash, я эти занимался так давно, что всё забыл. Ещё замечу, что мы использовали перемещаемые профили, какая-то из настроек была о них, если их не использовать, то всё может быть несколько проще.
Но по итогам тестов видимо ввести в домен серверную винду реально не так просто... Единстственное что могу посоветовать попробовать - поднять os level в конфиге самбы, потому что возможно современная серверная винда при выборах его перебивает. Но может быть всё намного сложнее и хуже.
Ещё в Windows XP нужно было ковырнуть пару политик в gpedit.msc, а в Vista/7 их стало ещё больше, а то случилось потом я не знаю. И серверную винду в домен включать никогда не пробовал, зачем её вообще вводить в домен? Если она есть, то домен имеет смысл поднять на ней же...
Есть много методов. Например, проверять Accept-Languages в запросах. Помнить куки/fingerprint, которые были до включения VPN. Проверять почту, с которой был зарегистрирован пользователь (если на сайте есть регистрация). В конце концов, может оказаться, что реально VPN не используется.
Как ни странно, в большинстве баз COUNT(*) на самом деле (вопреки распространённому заблуждению) работает так же, как COUNT(id) или COUNT(1), о чём я на просторах интернетов читал очень интересную статью.
pillow позволяет получить размер строки с заданным шрифтом, можно это использовать. Например, поделить строку по пробелам и набирать строки так, чтобы общий размер по горизонтали вписывался в блок. Или изменять размер шрифта по необходимости.
alex01s, если хостер блокирует исходящие соединения, то бессмысленно пытаться что-то запускать. Даже если бы там реально был браузер (который, скорее всего, за лимит времени php-скрипта даже не успеет запуститься).