|
- using Shadowsocks.Protocol;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Net;
- using System.Text;
- using System.Threading.Tasks;
-
- namespace Shadowsocks.CLI.Client
- {
- public class Pipelines
- {
- private TcpPipeListener? _tcpPipeListener;
-
- public Task Start(string listenSocks, string serverAddress, int serverPort, string method, string? password, string? key, string? plugin, string? pluginOpts, string? pluginArgs)
- {
- // TODO
- var localEP = IPEndPoint.Parse(listenSocks);
- var remoteEp = new DnsEndPoint(serverAddress, serverPort);
- byte[]? mainKey = null;
- if (!string.IsNullOrEmpty(key))
- mainKey = Encoding.UTF8.GetBytes(key);
- _tcpPipeListener = new(localEP);
- return _tcpPipeListener.Start(localEP, remoteEp, method, password, mainKey);
- }
-
- public void Stop() => _tcpPipeListener?.Stop();
- }
- }
|