mirror of
https://github.com/proxysu/ProxySU.git
synced 2024-11-25 06:36:08 +03:00
fix config.json issue
This commit is contained in:
parent
77cf7737f7
commit
177c09896c
@ -233,9 +233,6 @@
|
|||||||
<Generator>ResXFileCodeGenerator</Generator>
|
<Generator>ResXFileCodeGenerator</Generator>
|
||||||
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<None Include="Data\Record.json">
|
|
||||||
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
|
|
||||||
</None>
|
|
||||||
<None Include="packages.config" />
|
<None Include="packages.config" />
|
||||||
<None Include="Properties\Settings.settings">
|
<None Include="Properties\Settings.settings">
|
||||||
<Generator>SettingsSingleFileGenerator</Generator>
|
<Generator>SettingsSingleFileGenerator</Generator>
|
||||||
@ -362,6 +359,9 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</Page>
|
</Page>
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Folder Include="Data\" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
<Import Project="..\packages\MaterialDesignThemes.4.0.0\build\MaterialDesignThemes.targets" Condition="Exists('..\packages\MaterialDesignThemes.4.0.0\build\MaterialDesignThemes.targets')" />
|
<Import Project="..\packages\MaterialDesignThemes.4.0.0\build\MaterialDesignThemes.targets" Condition="Exists('..\packages\MaterialDesignThemes.4.0.0\build\MaterialDesignThemes.targets')" />
|
||||||
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
<Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"api": null
|
"api": {}
|
||||||
}
|
}
|
@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"stats": null
|
"stats": {}
|
||||||
}
|
}
|
@ -48,7 +48,7 @@ namespace ProxySU_Core.ViewModels.Developers
|
|||||||
return new
|
return new
|
||||||
{
|
{
|
||||||
log = logObj["log"],
|
log = logObj["log"],
|
||||||
api = apiObj["api"],
|
//api = apiObj["api"], api不能为空
|
||||||
dns = dnsObj["dns"],
|
dns = dnsObj["dns"],
|
||||||
routing = routingObj["routing"],
|
routing = routingObj["routing"],
|
||||||
policy = policyObj["policy"],
|
policy = policyObj["policy"],
|
||||||
@ -63,14 +63,14 @@ namespace ProxySU_Core.ViewModels.Developers
|
|||||||
public static string BuildCaddyConfig(XraySettings parameters)
|
public static string BuildCaddyConfig(XraySettings parameters)
|
||||||
{
|
{
|
||||||
var caddyStr = File.ReadAllText(Path.Combine(CaddyFileDir, "base.caddyfile"));
|
var caddyStr = File.ReadAllText(Path.Combine(CaddyFileDir, "base.caddyfile"));
|
||||||
caddyStr.Replace("##domain##", parameters.Domain);
|
caddyStr = caddyStr.Replace("##domain##", parameters.Domain);
|
||||||
if (!string.IsNullOrEmpty(parameters.MaskDomain))
|
if (!string.IsNullOrEmpty(parameters.MaskDomain))
|
||||||
{
|
{
|
||||||
caddyStr.Replace("##server_proxy##", $"reverse_proxy http://{parameters.MaskDomain} {{ header_up Host {parameters.MaskDomain} }}");
|
caddyStr = caddyStr.Replace("##reverse_proxy##", $"reverse_proxy http://{parameters.MaskDomain} {{ header_up Host {parameters.MaskDomain} }}");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
caddyStr.Replace("##server_proxy##", "");
|
caddyStr = caddyStr.Replace("##reverse_proxy##", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
return caddyStr;
|
return caddyStr;
|
||||||
|
@ -106,6 +106,7 @@ namespace ProxySU_Core.ViewModels.Developers
|
|||||||
var stream = new MemoryStream(Encoding.UTF8.GetBytes(configJson));
|
var stream = new MemoryStream(Encoding.UTF8.GetBytes(configJson));
|
||||||
RunCmd("rm -rf /usr/local/etc/xray/config.json");
|
RunCmd("rm -rf /usr/local/etc/xray/config.json");
|
||||||
UploadFile(stream, "/usr/local/etc/xray/config.json");
|
UploadFile(stream, "/usr/local/etc/xray/config.json");
|
||||||
|
RunCmd("systemctl restart xray");
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InstallCertToXray()
|
private void InstallCertToXray()
|
||||||
@ -114,7 +115,7 @@ namespace ProxySU_Core.ViewModels.Developers
|
|||||||
RunCmd(GetInstallCmd("socat"));
|
RunCmd(GetInstallCmd("socat"));
|
||||||
|
|
||||||
// 解决搬瓦工CentOS缺少问题
|
// 解决搬瓦工CentOS缺少问题
|
||||||
RunCmd(GetInstallCmd("automake autoconf libtool"));
|
RunCmd("y | " + GetInstallCmd("automake autoconf libtool"));
|
||||||
|
|
||||||
// 安装Acme
|
// 安装Acme
|
||||||
var result = RunCmd($"curl https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh | sh -s -- --install-online -m {GetRandomEmail()}");
|
var result = RunCmd($"curl https://raw.githubusercontent.com/acmesh-official/acme.sh/master/acme.sh | sh -s -- --install-online -m {GetRandomEmail()}");
|
||||||
@ -153,7 +154,7 @@ namespace ProxySU_Core.ViewModels.Developers
|
|||||||
|
|
||||||
// 安装证书到xray
|
// 安装证书到xray
|
||||||
RunCmd("mkdir -p /usr/local/etc/xray/ssl");
|
RunCmd("mkdir -p /usr/local/etc/xray/ssl");
|
||||||
RunCmd($"/root/.acme.sh/acme.sh --installcert -d {Parameters.Domain} --certpath /usr/local/etc/xray/ssl/xray_ssl.crt --keypath /usr/local/etc/xray/ssl/xray_ssl.key --capath /usr/local/etc/xray/ssl/xray_ssl.crt --reloadcmd \"systemctl restart xray\"");
|
RunCmd($"/root/.acme.sh/acme.sh --installcert -d {Parameters.Domain} --certpath /usr/local/etc/xray/ssl/xray_ssl.crt --keypath /usr/local/etc/xray/ssl/xray_ssl.key --capath /usr/local/etc/xray/ssl/xray_ssl.crt");
|
||||||
result = RunCmd(@"if [ ! -f ""/usr/local/etc/xray/ssl/xray_ssl.key"" ]; then echo ""0""; else echo ""1""; fi | head -n 1");
|
result = RunCmd(@"if [ ! -f ""/usr/local/etc/xray/ssl/xray_ssl.key"" ]; then echo ""0""; else echo ""1""; fi | head -n 1");
|
||||||
if (result.Contains("1"))
|
if (result.Contains("1"))
|
||||||
{
|
{
|
||||||
@ -164,8 +165,7 @@ namespace ProxySU_Core.ViewModels.Developers
|
|||||||
throw new Exception("安装证书失败,请联系开发者!");
|
throw new Exception("安装证书失败,请联系开发者!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RunCmd(@"chmod 755 /usr/local/etc/xray/ssl");
|
||||||
RunCmd(@"chmod 644 /usr/local/etc/xray/ssl/xray_ssl.key");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetRandomEmail()
|
private string GetRandomEmail()
|
||||||
|
@ -46,11 +46,14 @@ namespace ProxySU_Core
|
|||||||
if (File.Exists(RecordPath))
|
if (File.Exists(RecordPath))
|
||||||
{
|
{
|
||||||
var recordsJson = File.ReadAllText(RecordPath, Encoding.UTF8);
|
var recordsJson = File.ReadAllText(RecordPath, Encoding.UTF8);
|
||||||
var records = JsonConvert.DeserializeObject<List<Record>>(recordsJson);
|
if (!string.IsNullOrEmpty(recordsJson))
|
||||||
records.ForEach(item =>
|
|
||||||
{
|
{
|
||||||
Records.Add(new RecordViewModel(item));
|
var records = JsonConvert.DeserializeObject<List<Record>>(recordsJson);
|
||||||
});
|
records.ForEach(item =>
|
||||||
|
{
|
||||||
|
Records.Add(new RecordViewModel(item));
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -66,10 +69,11 @@ namespace ProxySU_Core
|
|||||||
{
|
{
|
||||||
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
ContractResolver = new CamelCasePropertyNamesContractResolver()
|
||||||
});
|
});
|
||||||
if (File.Exists("Data\\Record.json"))
|
if (!Directory.Exists("Data"))
|
||||||
{
|
{
|
||||||
File.WriteAllText("Data\\Record.json", json, Encoding.UTF8);
|
Directory.CreateDirectory("Data");
|
||||||
}
|
}
|
||||||
|
File.WriteAllText("Data\\Record.json", json, Encoding.UTF8);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LaunchGitHubSite(object sender, RoutedEventArgs e)
|
private void LaunchGitHubSite(object sender, RoutedEventArgs e)
|
||||||
|
Loading…
Reference in New Issue
Block a user