2021-12-31 10:58:36 +04:00
|
|
|
import Foundation
|
|
|
|
|
import NetworkExtension
|
|
|
|
|
import Tun2socks
|
|
|
|
|
|
|
|
|
|
class AmneziaTun2SocksWriter: NSObject, Tun2socksTunWriterProtocol {
|
2022-02-23 18:57:06 +04:00
|
|
|
var tunnelFlow: NEPacketTunnelFlow
|
2021-12-31 10:58:36 +04:00
|
|
|
|
2022-02-23 18:57:06 +04:00
|
|
|
init( withPacketFlow nepflow: NEPacketTunnelFlow) {
|
|
|
|
|
self.tunnelFlow = nepflow
|
|
|
|
|
super.init()
|
|
|
|
|
}
|
2021-12-31 10:58:36 +04:00
|
|
|
|
2022-02-23 18:57:06 +04:00
|
|
|
func write(_ p0: Data?, n: UnsafeMutablePointer<Int>?) throws {
|
|
|
|
|
if let packets = p0 {
|
|
|
|
|
tunnelFlow.writePackets([packets], withProtocols: [NSNumber(value: PF_INET)])
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-12-31 10:58:36 +04:00
|
|
|
|
2022-02-23 18:57:06 +04:00
|
|
|
func close() throws {}
|
2021-12-31 10:58:36 +04:00
|
|
|
}
|
|
|
|
|
|