GoodbyeDPI/src
ValdikSS e25d7432de Better Auto TTL adjusting algorithm which honors short distance
Say you set --auto-ttl to 4.
If the TTL distance to the destination host is too short, say 6, auto-ttl
would decrease it by 4 and send a fake packet with TTL 2, which is too low
for the packet to travel via DPI system.
But if you set --auto-ttl to a lower value such as 2, that may introduce
issues over long lines where outgoing-path TTL and incoming-path TTL may have
difference more than 2 hops due to higher chance of assymetric routing along
the path.

To solve this issue, this commit introduce auto-ttl range of two values.
If the incoming TTL distance is more than autottl2, it is subtracted by
autottl2 value.
If the distance is less than autottl2, the distance value is used as a
normalized weigth of [autottl1; autottl2] scale.

The simplified formula is as follows:

    128 > extracted_ttl > 98: // Server is running Windows
      nhops = 128 - extracted_ttl
    64 > extracted_ttl > 34: // Server is running Linux/FreeBSD/other
      nhops = 64 - extracted_ttl

    if (nhops - autottl2 < autottl2)
        ttl_of_fake_packet = nhops - autottl1 - trunc((autottl2 - autottl1) * ((float)nhops/10));
    else
        ttl_of_fake_packet = nhops - autottl2
2021-12-28 22:28:55 +03:00
..
utils Update uthash to 2.3.0 2021-12-27 06:58:20 +03:00
Makefile Update Makefile, add more warning options 2021-12-28 00:31:54 +03:00
blackwhitelist.c Fix all types and warnings 2021-12-28 00:31:47 +03:00
blackwhitelist.h Integers fixes (with small modifications), closes #84 2019-01-03 19:31:32 +03:00
dnsredir.c Fix all types and warnings 2021-12-28 00:31:47 +03:00
dnsredir.h Automatic TTL value picker for --set-ttl Fake Packet mode 2021-12-25 12:24:25 +03:00
fakepackets.c Fix all types and warnings 2021-12-28 00:31:47 +03:00
fakepackets.h New Fake Packet circumvention method: wrong SEQ/ACK numbers 2021-12-25 11:55:26 +03:00
goodbyedpi-rc.rc Move program source code to src directory 2018-02-17 15:22:38 +03:00
goodbyedpi.c Better Auto TTL adjusting algorithm which honors short distance 2021-12-28 22:28:55 +03:00
goodbyedpi.exe.manifest Move program source code to src directory 2018-02-17 15:22:38 +03:00
goodbyedpi.h Fake Request Mode 2019-10-31 22:36:12 +03:00
icon.ico Move program source code to src directory 2018-02-17 15:22:38 +03:00
service.c Fix all the warnings and notes 2021-12-26 17:45:37 +03:00
service.h Move program source code to src directory 2018-02-17 15:22:38 +03:00
ttltrack.c Better Auto TTL adjusting algorithm which honors short distance 2021-12-28 22:28:55 +03:00
ttltrack.h Better Auto TTL adjusting algorithm which honors short distance 2021-12-28 22:28:55 +03:00