Compare commits

..

No commits in common. "f5f210b30c5646f9156ac759dcb0bd15da3588e9" and "da5b856ab5c6bedafc4ffd0cc1bb1a8aa8c41f4d" have entirely different histories.

8 changed files with 25 additions and 7 deletions

Binary file not shown.

View File

@ -54,8 +54,7 @@
к сторонним серверам - через специальные средства шифрования DNS запросов, такие как dnscrypt, DoT, DoH.
В современных броузерах чаще всего DoH включен по умолчанию, но curl будет использовать обычный системный DNS.
Новые билды win10 и win11 поддерживают системные DoH из коробки. Они не настроены по умолчанию.
Тут все разжевано как и где это включается : https://hackware.ru/?p=13707
Гуглите как их настроить и включить.
6) blockcheck позволяет выявить рабочую стратегию обхода блокировок.
Лог скрипта будет сохранен в blockcheck\blockcheck.log.

View File

@ -24,7 +24,7 @@ mac: $(SRC_FILES)
rm -f dvtwsx dvtwsa
cygwin:
$(CC) -s $(CFLAGS) $(CFLAGS_CYGWIN) -o winws $(SRC_FILES) $(LDFLAGS) $(LIBS_CYGWIN) winmanifest.o
$(CC) -s $(CFLAGS) $(CFLAGS_CYGWIN) -o winws $(SRC_FILES) $(LDFLAGS) $(LIBS_CYGWIN)
clean:
rm -f nfqws dvtws winws.exe
rm -f nfqws dvtws winws.exe *.o

View File

@ -1540,6 +1540,10 @@ int main(int argc, char **argv)
ex:
rawsend_cleanup();
cleanup_params();
#ifdef __CYGWIN__
service_stopped();
#endif
return result;
exiterr:
result = 1;

View File

@ -1,6 +1,9 @@
#ifdef __CYGWIN__
#include <unistd.h>
#include <signal.h>
#include <windows.h>
#include <stdio.h>
#include "win.h"
#include "nfqws.h"
@ -16,6 +19,8 @@ void service_main(int argc __attribute__((unused)), char *argv[] __attribute__((
bool service_run(int argc, char *argv[])
{
int i;
SERVICE_TABLE_ENTRY ServiceTable[] = {
{SERVICE_NAME, (LPSERVICE_MAIN_FUNCTION)service_main},
{NULL, NULL}
@ -32,6 +37,10 @@ static void service_set_status(DWORD state)
ServiceStatus.dwCurrentState = state;
SetServiceStatus(hStatus, &ServiceStatus);
}
void service_stopped()
{
service_set_status(SERVICE_STOPPED);
}
// Control handler function
void service_controlhandler(DWORD request)
@ -41,13 +50,18 @@ void service_controlhandler(DWORD request)
case SERVICE_CONTROL_STOP:
case SERVICE_CONTROL_SHUTDOWN:
bQuit = true;
ServiceStatus.dwCurrentState = SERVICE_STOP_PENDING;
service_set_status(SERVICE_STOP_PENDING);
break;
default:
// Report current status
SetServiceStatus(hStatus, &ServiceStatus);
break;
}
SetServiceStatus(hStatus, &ServiceStatus);
return;
}
void service_main(int argc __attribute__((unused)), char *argv[] __attribute__((unused)))
void service_main(int argc __attribute__((unused)),
char *argv[] __attribute__((unused)))
{
ServiceStatus.dwServiceType = SERVICE_WIN32_OWN_PROCESS;
ServiceStatus.dwCurrentState = SERVICE_RUNNING;

View File

@ -5,6 +5,7 @@
#include <stdbool.h>
bool service_run();
void service_stopped();
#endif

Binary file not shown.