Skip to content

Commit

Permalink
fix: importFromHTTPSubscription supports base64String decoding #28
Browse files Browse the repository at this point in the history
  • Loading branch information
tzmax committed Apr 2, 2023
1 parent 2281bf4 commit add14cd
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 9 deletions.
1 change: 1 addition & 0 deletions V2RayX/AppDelegate.h
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,7 @@ int runCommandLine(NSString* launchPath, NSArray* arguments);
@property (weak, nonatomic) IBOutlet NSMenu *serverListMenu;
@property (weak, nonatomic) IBOutlet NSMenu *pacListMenu;
@property (weak) IBOutlet NSMenuItem *editPacMenuItem;
@property (weak) IBOutlet NSMenuItem *resetPacMenuItem;

@property (weak) IBOutlet NSMenu *authMenu;

Expand Down
4 changes: 4 additions & 0 deletions V2RayX/AppDelegate.m
Original file line number Diff line number Diff line change
Expand Up @@ -660,6 +660,7 @@ - (void)updatePacMenuList {
}
[_pacListMenu addItem:[NSMenuItem separatorItem]];
[_pacListMenu addItem:_editPacMenuItem];
[_pacListMenu addItem:_resetPacMenuItem];
}

- (IBAction)editPac:(id)sender {
Expand Down Expand Up @@ -795,6 +796,9 @@ - (IBAction)updateSubscriptions:(id)sender {
for (ServerProfile* p in r[@"vmess"]) {
[self.subsOutbounds addObject:[p outboundProfile]];
}
for (ServerProfile* p in r[@"vless"]) {
[self.subsOutbounds addObject:[p outboundProfile]];
}
[self.subsOutbounds addObjectsFromArray:r[@"other"]];
}
}
Expand Down
17 changes: 9 additions & 8 deletions V2RayX/Base.lproj/MainMenu.xib
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="20037" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="20037"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
Expand All @@ -21,6 +21,7 @@
<outlet property="manualModeItem" destination="P4q-kj-6fs" id="5XH-9p-w3e"/>
<outlet property="pacListMenu" destination="yno-KX-HOj" id="qzq-pN-ala"/>
<outlet property="pacModeItem" destination="Cm9-3e-L2z" id="IvE-nJ-dW0"/>
<outlet property="resetPacMenuItem" destination="oGZ-uP-dny" id="vkO-eN-sa9"/>
<outlet property="ruleSetMenuList" destination="8Ld-d4-m0U" id="DNS-66-cYT"/>
<outlet property="serverListMenu" destination="eqU-gH-G4L" id="unc-2a-DIW"/>
<outlet property="serversItem" destination="3wi-Co-2Kd" id="kKi-8l-dDJ"/>
Expand Down Expand Up @@ -760,12 +761,6 @@
<action selector="copyExportCmd:" target="Voe-Tx-rLC" id="OMz-Lv-Wmr"/>
</connections>
</menuItem>
<menuItem title="Reset pac file" id="oGZ-uP-dny">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="resetPac:" target="Voe-Tx-rLC" id="WUw-A2-aU5"/>
</connections>
</menuItem>
<menuItem title="Authorize xray_sysconf..." id="mOc-zi-Beb">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
Expand Down Expand Up @@ -807,6 +802,12 @@
<action selector="editPac:" target="Voe-Tx-rLC" id="4jX-Hv-SpU"/>
</connections>
</menuItem>
<menuItem title="Reset pac file" id="oGZ-uP-dny">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
<action selector="resetPac:" target="Voe-Tx-rLC" id="WUw-A2-aU5"/>
</connections>
</menuItem>
<menuItem title="Update subscription" id="C3a-eC-bFQ">
<modifierMask key="keyEquivalentModifierMask"/>
<connections>
Expand Down
7 changes: 6 additions & 1 deletion V2RayX/ConfigImporter.m
Original file line number Diff line number Diff line change
Expand Up @@ -286,8 +286,13 @@ + (NSMutableDictionary*)importFromStandardConfigFiles:(NSArray*)files {
}

+ (NSMutableDictionary*)importFromHTTPSubscription: (NSString*)httpLink {
// decode base64String
NSString *base64String = [self decodeBase64String:httpLink];
if(base64String != nil && ![base64String isEqual: @""]) {
httpLink = base64String;
}
// https://blog.csdn.net/yi_zz32/article/details/48769487
NSMutableDictionary* result = [@{@"vmess": @[], @"other": @[]} mutableDeepCopy];
NSMutableDictionary* result = [@{@"vmess": @[], @"other": @[], @"vless": @[]} mutableDeepCopy];
if ([httpLink length] < 4) {
return nil;
}
Expand Down

0 comments on commit add14cd

Please sign in to comment.