Files
netch/RedirectorTester/RedirectorTester.cs
2021-10-16 15:11:51 +08:00

84 lines
2.8 KiB
C#

using System;
using System.Runtime.InteropServices;
namespace RedirectorTester
{
public class RedirectorTester
{
public enum NameList : int
{
AIO_FILTERLOOPBACK,
AIO_FILTERINTRANET,
AIO_FILTERPARENT,
AIO_FILTERICMP,
AIO_FILTERTCP,
AIO_FILTERUDP,
AIO_FILTERDNS,
AIO_ICMPING,
AIO_DNSHOST,
AIO_DNSPORT,
AIO_TGTHOST,
AIO_TGTPORT,
AIO_TGTUSER,
AIO_TGTPASS,
AIO_CLRNAME,
AIO_ADDNAME,
AIO_BYPNAME
}
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern bool aio_register([MarshalAs(UnmanagedType.LPWStr)] string value);
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern bool aio_unregister([MarshalAs(UnmanagedType.LPWStr)] string value);
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern bool aio_dial(NameList name, [MarshalAs(UnmanagedType.LPWStr)] string value);
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern bool aio_init();
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern void aio_free();
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern ulong aio_getUP();
[DllImport("Redirector.bin", CallingConvention = CallingConvention.Cdecl)]
public static extern ulong aio_getDL();
public static void Main(string[] args)
{
aio_dial(NameList.AIO_FILTERLOOPBACK, "false");
aio_dial(NameList.AIO_FILTERINTRANET, "true");
aio_dial(NameList.AIO_FILTERPARENT, "true");
aio_dial(NameList.AIO_FILTERICMP, "true");
aio_dial(NameList.AIO_FILTERTCP, "true");
aio_dial(NameList.AIO_FILTERUDP, "true");
aio_dial(NameList.AIO_FILTERDNS, "true");
aio_dial(NameList.AIO_ICMPING, "10");
aio_dial(NameList.AIO_DNSHOST, "1.1.1.1");
aio_dial(NameList.AIO_DNSPORT, "53");
aio_dial(NameList.AIO_TGTHOST, "127.0.0.1");
aio_dial(NameList.AIO_TGTPORT, "1080");
aio_dial(NameList.AIO_TGTUSER, "");
aio_dial(NameList.AIO_TGTPASS, "");
aio_dial(NameList.AIO_CLRNAME, "");
aio_dial(NameList.AIO_ADDNAME, "Telegram");
aio_dial(NameList.AIO_ADDNAME, "NatTypeTester");
aio_init();
Console.ReadLine();
aio_free();
}
}
}