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

View File

@ -24,7 +24,7 @@ mac: $(SRC_FILES)
rm -f dvtwsx dvtwsa rm -f dvtwsx dvtwsa
cygwin: 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: 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: ex:
rawsend_cleanup(); rawsend_cleanup();
cleanup_params(); cleanup_params();
#ifdef __CYGWIN__
service_stopped();
#endif
return result; return result;
exiterr: exiterr:
result = 1; result = 1;

View File

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

View File

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

Binary file not shown.