/** https://git.zx2c4.com/wireguard-tools/plain/contrib/ncat-client-server/client.sh */
import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
import * as NodeSocket from "@effect/platform-node/NodeSocket";
import * as Console from "effect/Console";
import * as Effect from "effect/Effect";
import * as Function from "effect/Function";
import * as Option from "effect/Option";
import * as Sink from "effect/Sink";
import * as Stream from "effect/Stream";
const publicKey = "K+s4CaEyH0RrXpVuSvAX9wFPHMksks8MHA9hjk2KZUE=";
// Prints "undefined"
const program = Function.pipe(
Stream.make(`${publicKey}\n`),
Stream.encodeText,
Stream.pipeThroughChannelOrFail(
NodeSocket.makeNetChannel({
port: 42912,
host: "demo.wireguard.com"
})
),
Stream.decodeText(),
Stream.run(Sink.head()),
Effect.map(Option.getOrUndefined)
);
Effect.suspend(() => program).pipe(Effect.tap(Console.log), NodeRuntime.runMain);
/** https://git.zx2c4.com/wireguard-tools/plain/contrib/ncat-client-server/client.sh */
import * as NodeRuntime from "@effect/platform-node/NodeRuntime";
import * as NodeSocket from "@effect/platform-node/NodeSocket";
import * as Console from "effect/Console";
import * as Effect from "effect/Effect";
import * as Function from "effect/Function";
import * as Option from "effect/Option";
import * as Sink from "effect/Sink";
import * as Stream from "effect/Stream";
const publicKey = "K+s4CaEyH0RrXpVuSvAX9wFPHMksks8MHA9hjk2KZUE=";
// Prints "undefined"
const program = Function.pipe(
Stream.make(`${publicKey}\n`),
Stream.encodeText,
Stream.pipeThroughChannelOrFail(
NodeSocket.makeNetChannel({
port: 42912,
host: "demo.wireguard.com"
})
),
Stream.decodeText(),
Stream.run(Sink.head()),
Effect.map(Option.getOrUndefined)
);
Effect.suspend(() => program).pipe(Effect.tap(Console.log), NodeRuntime.runMain);