mirror of
https://github.com/maxgoedjen/secretive.git
synced 2026-08-20 16:19:00 +02:00
Adding host reader xpc service and connection info
This commit is contained in:
11
Sources/SecretAgentHostsfileReader/Info.plist
Normal file
11
Sources/SecretAgentHostsfileReader/Info.plist
Normal file
@@ -0,0 +1,11 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>XPCService</key>
|
||||
<dict>
|
||||
<key>ServiceType</key>
|
||||
<string>Application</string>
|
||||
</dict>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.hardened-process</key>
|
||||
<true/>
|
||||
<key>com.apple.security.hardened-process.checked-allocations</key>
|
||||
<true/>
|
||||
<key>com.apple.security.hardened-process.dyld-ro</key>
|
||||
<true/>
|
||||
<key>com.apple.security.hardened-process.enhanced-security-version-string</key>
|
||||
<string>2</string>
|
||||
<key>com.apple.security.hardened-process.hardened-heap</key>
|
||||
<true/>
|
||||
<key>com.apple.security.hardened-process.platform-restrictions-string</key>
|
||||
<string>2</string>
|
||||
</dict>
|
||||
</plist>
|
||||
@@ -0,0 +1,26 @@
|
||||
import Foundation
|
||||
import OSLog
|
||||
import XPCWrappers
|
||||
import SSHProtocolKit
|
||||
|
||||
final class SecretAgentHostsfileReader: NSObject, XPCProtocol {
|
||||
|
||||
private let logger = Logger(subsystem: "com.maxgoedjen.secretive.SecretAgentHostsfileReader", category: "SecretAgentHostsfileReader")
|
||||
|
||||
func process(_ data: Data) async throws -> [Data: String] {
|
||||
logger.log("Parser parsed certificate")
|
||||
var result: [Data: String] = [:]
|
||||
// FIXME: THIS
|
||||
for try await line in URL(filePath: "/Users/max/.ssh/known_hosts").lines {
|
||||
let split = line.split(separator: " ").map(String.init)
|
||||
guard split.count == 3 else { continue }
|
||||
guard let decoded = Data(base64Encoded: split[2]) else { continue }
|
||||
let reader = OpenSSHReader(data: decoded)
|
||||
_ = try reader.readNextChunk()
|
||||
let key = try reader.readNextChunk()
|
||||
result[key] = split[0]
|
||||
}
|
||||
return result
|
||||
}
|
||||
|
||||
}
|
||||
7
Sources/SecretAgentHostsfileReader/main.swift
Normal file
7
Sources/SecretAgentHostsfileReader/main.swift
Normal file
@@ -0,0 +1,7 @@
|
||||
import Foundation
|
||||
import XPCWrappers
|
||||
|
||||
let delegate = XPCServiceDelegate(exportedObject: SecretAgentHostsfileReader())
|
||||
let listener = NSXPCListener.service()
|
||||
listener.delegate = delegate
|
||||
listener.resume()
|
||||
Reference in New Issue
Block a user