@webvpn/dgram 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/README.md +5 -0
  2. package/build/index.cjs +10785 -0
  3. package/build/index.cjs.map +1 -0
  4. package/build/index.d.ts +184 -0
  5. package/build/index.js +3257 -0
  6. package/build/index.js.map +1 -0
  7. package/build/index.mjs +3252 -0
  8. package/build/index.mjs.map +1 -0
  9. package/build/test.d.ts +1 -0
  10. package/build/utils.d.ts +13 -0
  11. package/index.html +11 -0
  12. package/package.json +24 -0
  13. package/src/chrome-dgram.js +503 -0
  14. package/src/flatbuffers/client-packet-type.ts +40 -0
  15. package/src/flatbuffers/client-packet.ts +162 -0
  16. package/src/flatbuffers/client-tcpserver-close.ts +93 -0
  17. package/src/flatbuffers/client-tcpserver-get-connections.ts +93 -0
  18. package/src/flatbuffers/client-tcpserver-listen.ts +211 -0
  19. package/src/flatbuffers/client-tcpserver.ts +159 -0
  20. package/src/flatbuffers/client-tcpsocket-connect.ts +253 -0
  21. package/src/flatbuffers/client-tcpsocket-destroy-soon.ts +75 -0
  22. package/src/flatbuffers/client-tcpsocket-destroy.ts +93 -0
  23. package/src/flatbuffers/client-tcpsocket-end.ts +93 -0
  24. package/src/flatbuffers/client-tcpsocket-pause.ts +75 -0
  25. package/src/flatbuffers/client-tcpsocket-reset-and-destroy.ts +75 -0
  26. package/src/flatbuffers/client-tcpsocket-resume.ts +75 -0
  27. package/src/flatbuffers/client-tcpsocket-set-encoding.ts +93 -0
  28. package/src/flatbuffers/client-tcpsocket-set-keep-alive.ts +103 -0
  29. package/src/flatbuffers/client-tcpsocket-set-no-delay.ts +89 -0
  30. package/src/flatbuffers/client-tcpsocket-set-timeout.ts +107 -0
  31. package/src/flatbuffers/client-tcpsocket-write.ts +147 -0
  32. package/src/flatbuffers/client-tcpsocket.ts +89 -0
  33. package/src/flatbuffers/client-udpsocket-add-membership.ts +110 -0
  34. package/src/flatbuffers/client-udpsocket-add-source-specific-membership.ts +127 -0
  35. package/src/flatbuffers/client-udpsocket-bind.ts +138 -0
  36. package/src/flatbuffers/client-udpsocket-close.ts +93 -0
  37. package/src/flatbuffers/client-udpsocket-disconnect.ts +75 -0
  38. package/src/flatbuffers/client-udpsocket-drop-membership.ts +110 -0
  39. package/src/flatbuffers/client-udpsocket-drop-source-specific-membership.ts +127 -0
  40. package/src/flatbuffers/client-udpsocket-send.ts +189 -0
  41. package/src/flatbuffers/client-udpsocket-set-broadcast.ts +89 -0
  42. package/src/flatbuffers/client-udpsocket-set-multicast-interface.ts +93 -0
  43. package/src/flatbuffers/client-udpsocket-set-multicast-loopback.ts +89 -0
  44. package/src/flatbuffers/client-udpsocket-set-multicast-ttl.ts +89 -0
  45. package/src/flatbuffers/client-udpsocket-set-recv-buffer-size.ts +89 -0
  46. package/src/flatbuffers/client-udpsocket-set-send-buffer-size.ts +89 -0
  47. package/src/flatbuffers/client-udpsocket-set-ttl.ts +89 -0
  48. package/src/flatbuffers/client-udpsocket.ts +149 -0
  49. package/src/flatbuffers/packet-handshake-type.ts +9 -0
  50. package/src/flatbuffers/packet.ts +210 -0
  51. package/src/flatbuffers/schema.ts +75 -0
  52. package/src/flatbuffers/server-packet-type.ts +38 -0
  53. package/src/flatbuffers/server-packet.ts +158 -0
  54. package/src/flatbuffers/server-tcpserver-callback-close.ts +93 -0
  55. package/src/flatbuffers/server-tcpserver-callback-get-connections.ts +124 -0
  56. package/src/flatbuffers/server-tcpserver-callback-listen.ts +141 -0
  57. package/src/flatbuffers/server-tcpserver-event-close.ts +75 -0
  58. package/src/flatbuffers/server-tcpserver-event-drop.ts +75 -0
  59. package/src/flatbuffers/server-tcpserver-event-error.ts +75 -0
  60. package/src/flatbuffers/server-tcpserver-event-listening.ts +124 -0
  61. package/src/flatbuffers/server-tcpsocket-callback-connect.ts +189 -0
  62. package/src/flatbuffers/server-tcpsocket-callback-end.ts +93 -0
  63. package/src/flatbuffers/server-tcpsocket-callback-set-timeout.ts +93 -0
  64. package/src/flatbuffers/server-tcpsocket-callback-write.ts +93 -0
  65. package/src/flatbuffers/server-tcpsocket-event-close.ts +89 -0
  66. package/src/flatbuffers/server-tcpsocket-event-connect.ts +172 -0
  67. package/src/flatbuffers/server-tcpsocket-event-connection-attempt-failed.ts +138 -0
  68. package/src/flatbuffers/server-tcpsocket-event-connection-attempt-timeout.ts +121 -0
  69. package/src/flatbuffers/server-tcpsocket-event-connection-attempt.ts +121 -0
  70. package/src/flatbuffers/server-tcpsocket-event-data.ts +113 -0
  71. package/src/flatbuffers/server-tcpsocket-event-drain.ts +75 -0
  72. package/src/flatbuffers/server-tcpsocket-event-end.ts +75 -0
  73. package/src/flatbuffers/server-tcpsocket-event-error.ts +93 -0
  74. package/src/flatbuffers/server-tcpsocket-event-lookup.ts +141 -0
  75. package/src/flatbuffers/server-tcpsocket-event-ready.ts +75 -0
  76. package/src/flatbuffers/server-tcpsocket-event-timeout.ts +75 -0
  77. package/src/flatbuffers/server-udpsocket-callback-bind.ts +141 -0
  78. package/src/flatbuffers/server-udpsocket-callback-close.ts +93 -0
  79. package/src/flatbuffers/server-udpsocket-callback-connect.ts +141 -0
  80. package/src/flatbuffers/server-udpsocket-callback-send.ts +93 -0
  81. package/src/flatbuffers/server-udpsocket-event-close.ts +75 -0
  82. package/src/flatbuffers/server-udpsocket-event-connect.ts +75 -0
  83. package/src/flatbuffers/server-udpsocket-event-error.ts +93 -0
  84. package/src/flatbuffers/server-udpsocket-event-listening.ts +124 -0
  85. package/src/flatbuffers/server-udpsocket-event-message.ts +175 -0
  86. package/src/index.ts +701 -0
  87. package/src/net.js +2442 -0
  88. package/src/test.ts +34 -0
  89. package/src/types.ts +16 -0
  90. package/src/utils.ts +45 -0
  91. package/vite-plugin-node-stdlib-browser.cjs +61 -0
  92. package/vite.config.ts +29 -0
@@ -0,0 +1,184 @@
1
+ import { BindOptions, Socket as DgramSocket, RemoteInfo, SocketOptions, SocketType } from 'dgram';
2
+ import { AddressInfo } from 'net';
3
+ import { EventEmitter } from 'events';
4
+
5
+ export type WebVPNHandshakePacket = {
6
+ type: 'udp-socket';
7
+ socketType: 'udp4' | 'udp6';
8
+ reuseAddr?: boolean;
9
+ ipv6Only?: boolean;
10
+ recvBufferSize?: number;
11
+ sendBufferSize?: number;
12
+ };
13
+ export type SocketClientPacket = {
14
+ type: 'addMembership';
15
+ multicastAddress: string;
16
+ multicastInterface?: string;
17
+ } | {
18
+ type: 'addSourceSpecificMembership';
19
+ sourceAddress: string;
20
+ groupAddress: string;
21
+ multicastInterface?: string;
22
+ } | {
23
+ type: 'bind';
24
+ uuid?: string;
25
+ port?: number;
26
+ address?: string;
27
+ exclusive?: boolean;
28
+ } | {
29
+ type: 'close';
30
+ uuid?: string;
31
+ } | {
32
+ type: 'connect';
33
+ uuid?: string;
34
+ port: number;
35
+ address?: string;
36
+ } | {
37
+ type: 'disconnect';
38
+ } | {
39
+ type: 'dropMembership';
40
+ multicastAddress: string;
41
+ multicastInterface?: string;
42
+ } | {
43
+ type: 'dropSourceSpecificMembership';
44
+ sourceAddress: string;
45
+ groupAddress: string;
46
+ multicastInterface?: string;
47
+ } | {
48
+ type: 'send';
49
+ msg: string | readonly any[] | Uint8Array;
50
+ offset?: number;
51
+ length?: number;
52
+ port?: number;
53
+ address?: string;
54
+ } | {
55
+ type: 'setBroadcast';
56
+ flag: boolean;
57
+ } | {
58
+ type: 'setMulticastInterface';
59
+ multicastInterface: string;
60
+ } | {
61
+ type: 'setMulticastLoopback';
62
+ flag: boolean;
63
+ } | {
64
+ type: 'setMulticastTTL';
65
+ ttl: number;
66
+ } | {
67
+ type: 'setRecvBufferSize';
68
+ size: number;
69
+ } | {
70
+ type: 'setSendBufferSize';
71
+ size: number;
72
+ } | {
73
+ type: 'setTTL';
74
+ ttl: number;
75
+ };
76
+ export type SocketServerPacket = {
77
+ type: 'event-close';
78
+ } | {
79
+ type: 'event-connect';
80
+ } | {
81
+ type: 'event-error';
82
+ exception: string;
83
+ } | {
84
+ type: 'event-listening';
85
+ address: {
86
+ address: string;
87
+ port: number;
88
+ family: 'IPv4' | 'IPv6';
89
+ };
90
+ } | {
91
+ type: 'event-message';
92
+ message: Uint8Array;
93
+ rinfo: {
94
+ address: string;
95
+ family: 'IPv4' | 'IPv6';
96
+ port: number;
97
+ size: number;
98
+ };
99
+ } | {
100
+ type: 'callback-bind';
101
+ uuid: string;
102
+ address: {
103
+ address: string;
104
+ port: number;
105
+ family: 'IPv4' | 'IPv6';
106
+ };
107
+ } | {
108
+ type: 'callback-close';
109
+ uuid: string;
110
+ } | {
111
+ type: 'callback-connect';
112
+ uuid: string;
113
+ remoteAddress: {
114
+ address: string;
115
+ port: number;
116
+ family: 'IPv4' | 'IPv6';
117
+ };
118
+ } | {
119
+ type: 'callback-send';
120
+ uuid: string;
121
+ };
122
+ interface EventEmitterOptions {
123
+ /**
124
+ * Enables automatic capturing of promise rejection.
125
+ */
126
+ captureRejections?: boolean | undefined;
127
+ }
128
+ export declare class Socket extends EventEmitter implements DgramSocket {
129
+ _webVPN: Promise<{
130
+ webtransport: WebTransport;
131
+ reader: ReadableStreamDefaultReader<Uint8Array>;
132
+ writer: WritableStreamDefaultWriter<Uint8Array>;
133
+ datagramReader: ReadableStreamDefaultReader<Uint8Array>;
134
+ datagramWriter: WritableStreamDefaultWriter<Uint8Array>;
135
+ }>;
136
+ _type: 'udp4' | 'udp6';
137
+ _address: {
138
+ address: string;
139
+ port: number;
140
+ family: string;
141
+ } | undefined;
142
+ _remoteAddress: {
143
+ address: string;
144
+ port: number;
145
+ family: string;
146
+ } | undefined;
147
+ constructor(options: SocketOptions & EventEmitterOptions);
148
+ addMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
149
+ address(): AddressInfo;
150
+ bind(port?: number | undefined, address?: string | undefined, callback?: (() => void) | undefined): this;
151
+ bind(port?: number | undefined, callback?: (() => void) | undefined): this;
152
+ bind(callback?: (() => void) | undefined): this;
153
+ bind(options: BindOptions, callback?: (() => void) | undefined): this;
154
+ close(callback?: (() => void) | undefined): this;
155
+ connect(port: number, address?: string, callback?: () => void): void;
156
+ connect(port: number, callback: () => void): void;
157
+ disconnect(): void;
158
+ dropMembership(multicastAddress: string, multicastInterface?: string | undefined): void;
159
+ getRecvBufferSize(): number;
160
+ getSendBufferSize(): number;
161
+ getSendQueueSize(): number;
162
+ getSendQueueCount(): number;
163
+ ref(): this;
164
+ remoteAddress(): AddressInfo;
165
+ send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
166
+ send(msg: string | readonly any[] | Uint8Array, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
167
+ send(msg: string | readonly any[] | Uint8Array, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
168
+ send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, address?: string | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
169
+ send(msg: string | Uint8Array, offset: number, length: number, port?: number | undefined, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
170
+ send(msg: string | Uint8Array, offset: number, length: number, callback?: ((error: Error | null, bytes: number) => void) | undefined): void;
171
+ send(msg: unknown, offset?: unknown, length?: unknown, port?: unknown, address?: unknown, callback?: unknown): void;
172
+ setBroadcast(flag: boolean): void;
173
+ setMulticastInterface(multicastInterface: string): void;
174
+ setMulticastLoopback(flag: boolean): boolean;
175
+ setMulticastTTL(ttl: number): number;
176
+ setRecvBufferSize(size: number): void;
177
+ setSendBufferSize(size: number): void;
178
+ setTTL(ttl: number): number;
179
+ unref(): this;
180
+ addSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
181
+ dropSourceSpecificMembership(sourceAddress: string, groupAddress: string, multicastInterface?: string | undefined): void;
182
+ }
183
+ export declare const createSocket: (options: SocketType | SocketOptions, callback?: (msg: Buffer, rinfo: RemoteInfo) => void) => Socket;
184
+ export {};