ios-hooks/AppRunMan/server/UDPHandler.m
2025-11-18 11:49:58 +08:00

93 lines
2.5 KiB
Objective-C

//
// UDPHandler.m
// nochange
//
// Created by mac on 2025/2/20.
//
#import <Foundation/Foundation.h>
#import "XSHelper.h"
#import "XSHackIos.h"
#import "MyAdTask2.h"
#import "MyEventBus.h"
#import "UDPHandler.h"
@interface UDPHandler () {
}
@end
@implementation UDPHandler
+(instancetype)sharedInstance
{
static UDPHandler* _sharedInstance = nil;
static dispatch_once_t oncePredicate;
dispatch_once (&oncePredicate, ^{
_sharedInstance = [[UDPHandler alloc] init];
});
return _sharedInstance;
}
-(instancetype)init {
if (self = [super init]) {
return self;
}
return nil;
}
- (NSString *)handle:(NSString *)data {
NSDictionary *dic = [XSHelper json2Dictionary: data];
NSString *path = dic[@"url"];
NSString *res = @"err";
NSMutableDictionary *resData = [[NSMutableDictionary alloc] init];
[resData setValue:@"Success" forKey:@"status"];
if ([XSHelper isMatch:@"^/health" test:path]) {
return [XSHelper dic2Json:resData];
}
else if ([XSHelper isMatch:@"^/unlock" test:path]) {
dispatch_async(dispatch_get_main_queue(), ^{
XSRemoteUnlock();
});
return [XSHelper dic2Json:resData];
}
else if ([XSHelper isMatch:@"^/start" test:path]) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
MyAdTask2Mangger *ad = [MyAdTask2Mangger sharedInstance];
[ad start];
});
return [XSHelper dic2Json:resData];
}
else if ([XSHelper isMatch:@"^/stop" test:path]) {
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
MyAdTask2Mangger *ad = [MyAdTask2Mangger sharedInstance];
[ad stop];
});
return [XSHelper dic2Json:resData];
}
else if([XSHelper isMatch:@"^/adtask/show" test:path]) {
[[MyEventBus sharedInstance] postEvent:@"Show" withObject:nil];
return [XSHelper dic2Json:resData];
}
else if([XSHelper isMatch:@"^/adtask/load" test:path]) {
[[MyEventBus sharedInstance] postEvent:@"Load" withObject:nil];
return [XSHelper dic2Json:resData];
}
else if([XSHelper isMatch:@"^/adtask/end" test:path]) {
MyAdTask2Mangger *ad = [MyAdTask2Mangger sharedInstance];
NSDictionary *rq = dic[@"body"];
BOOL r = [ad onEnd:rq];
[resData setValue:@(r) forKey:@"restart"];
return [XSHelper dic2Json:resData];
}
return res;
}
@end