@mtcute/bun 0.27.8 → 0.27.9

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.
package/index.js CHANGED
@@ -2,7 +2,7 @@ import { BaseTelegramClient, TelegramClient } from "./client.js";
2
2
  import { BunPlatform } from "./platform.js";
3
3
  import { SqliteStorage } from "./sqlite/index.js";
4
4
  import { BunCryptoProvider } from "./utils/crypto.js";
5
- import { HttpProxyTcpTransport, MtProxyTcpTransport, SocksProxyTcpTransport } from "./utils/proxies.js";
5
+ import { HttpProxyTcpTransport, MtProxyTcpTransport, SocksProxyTcpTransport, proxyTransportFromUrl } from "./utils/proxies.js";
6
6
  import { TcpTransport } from "./utils/tcp.js";
7
7
  import { TelegramWorker, TelegramWorkerPort } from "./worker.js";
8
8
  export * from "@mtcute/core";
@@ -24,5 +24,6 @@ export {
24
24
  TcpTransport,
25
25
  TelegramClient,
26
26
  TelegramWorker,
27
- TelegramWorkerPort
27
+ TelegramWorkerPort,
28
+ proxyTransportFromUrl
28
29
  };
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@mtcute/bun",
3
3
  "type": "module",
4
- "version": "0.27.8",
4
+ "version": "0.27.9",
5
5
  "description": "Meta-package for Bun",
6
6
  "license": "MIT",
7
7
  "dependencies": {
8
- "@mtcute/core": "^0.27.8",
9
- "@mtcute/html-parser": "^0.27.8",
10
- "@mtcute/markdown-parser": "^0.27.8",
8
+ "@mtcute/core": "^0.27.9",
9
+ "@mtcute/html-parser": "^0.27.9",
10
+ "@mtcute/markdown-parser": "^0.27.9",
11
11
  "@mtcute/wasm": "^0.27.8",
12
12
  "@fuman/utils": "0.0.19",
13
13
  "@fuman/bun": "0.0.19",
@@ -25,3 +25,15 @@ export declare class SocksProxyTcpTransport implements TelegramTransport {
25
25
  export declare class MtProxyTcpTransport extends BaseMtProxyTransport {
26
26
  _connectTcp(endpoint: TcpEndpoint): Promise<ITcpConnection>;
27
27
  }
28
+ /**
29
+ * Create a proxy transport based on an url.
30
+ *
31
+ * Supported URLs (self-explanatory):
32
+ * - `socks4://user:pass@1.2.3.4:80`
33
+ * - `socks5://user:pass@1.2.3.4:80`
34
+ * - `http://user:pass@1.2.3.4:80`
35
+ * - `https://user:pass@1.2.3.4:443`
36
+ * - `https://t.me/proxy?server=example.com&port=443&secret=3dpBFlW2hP6Hq_WOwiNeKBY`
37
+ * @returns Transport for that proxy
38
+ */
39
+ export declare const proxyTransportFromUrl: (url: string) => TelegramTransport;
package/utils/proxies.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { connectTls, connectTcp } from "@fuman/bun";
2
2
  import { performHttpProxyHandshake, performSocksHandshake } from "@fuman/net";
3
3
  import { HttpProxyConnectionError, SocksProxyConnectionError } from "@fuman/net";
4
- import { IntermediatePacketCodec, BaseMtProxyTransport } from "@mtcute/core";
4
+ import { createProxyTransportFactory, IntermediatePacketCodec, BaseMtProxyTransport } from "@mtcute/core";
5
5
  class HttpProxyTcpTransport {
6
6
  constructor(proxy) {
7
7
  this.proxy = proxy;
@@ -53,10 +53,16 @@ class MtProxyTcpTransport extends BaseMtProxyTransport {
53
53
  return connectTcp(endpoint);
54
54
  }
55
55
  }
56
+ const proxyTransportFromUrl = createProxyTransportFactory({
57
+ SocksProxyTcpTransport,
58
+ HttpProxyTcpTransport,
59
+ MtProxyTcpTransport
60
+ });
56
61
  export {
57
62
  HttpProxyConnectionError,
58
63
  HttpProxyTcpTransport,
59
64
  MtProxyTcpTransport,
60
65
  SocksProxyConnectionError,
61
- SocksProxyTcpTransport
66
+ SocksProxyTcpTransport,
67
+ proxyTransportFromUrl
62
68
  };