Improve: Use FRP to proxy payload download request

This commit is contained in:
yuanyuanxiang
2026-01-18 12:47:56 +01:00
parent 0b65a24ac2
commit f4fe81be34
6 changed files with 19 additions and 3 deletions

Binary file not shown.

View File

@@ -1432,6 +1432,11 @@ void CMy2015RemoteDlg::ApplyFrpSettings()
cfg.SetStr(udp, "local_port", arr[i]);
cfg.SetStr(udp, "remote_port", arr[i]);
}
int fileServerPort = THIS_CFG.GetInt("settings", "FileSvrPort", 80);
std::string name = "YAMA-FileServer";
cfg.SetStr(name, "type", "tcp");
cfg.SetInt(name, "local_port", fileServerPort);
cfg.SetInt(name, "remote_port", fileServerPort);
}
void CMy2015RemoteDlg::OnSysCommand(UINT nID, LPARAM lParam)

View File

@@ -290,7 +290,7 @@ bool IsValidFileName(const CString& strName)
}
CString BuildPayloadUrl(const char* ip, const char* name) {
static int port = THIS_CFG.GetInt("settings", "FileSvrPort", 80);
int port = THIS_CFG.GetInt("settings", "FileSvrPort", 80);
CString url = CString("http://") + CString(ip) + ":" + std::to_string(port).c_str() + CString("/payloads/") + name;
return url;
}

View File

@@ -24,6 +24,7 @@ CSettingDlg::CSettingDlg(CWnd* pParent)
, m_sUdpOption(_T(""))
, m_nFrpPort(7000)
, m_sFrpToken(_T(""))
, m_nFileServerPort(0)
{
}
@@ -62,6 +63,9 @@ void CSettingDlg::DoDataExchange(CDataExchange* pDX)
DDX_Text(pDX, IDC_EDIT_FRP_TOKEN, m_sFrpToken);
DDV_MaxChars(pDX, m_sFrpToken, 24);
DDX_Control(pDX, IDC_COMBO_VIDEO_WALL, m_ComboVideoWall);
DDX_Control(pDX, IDC_EDIT_FILESERVER_PORT, m_EditFileServerPort);
DDX_Text(pDX, IDC_EDIT_FILESERVER_PORT, m_nFileServerPort);
DDV_MinMaxInt(pDX, m_nFileServerPort, 1, 65535);
}
BEGIN_MESSAGE_MAP(CSettingDlg, CDialog)
@@ -147,6 +151,7 @@ BOOL CSettingDlg::OnInitDialog()
#endif
m_nFrpPort = THIS_CFG.GetInt("frp", "server_port", 7000);
m_sFrpToken = THIS_CFG.GetStr("frp", "token").c_str();
m_nFileServerPort = THIS_CFG.GetInt("settings", "FileSvrPort", 80);
int size = THIS_CFG.GetInt("settings", "VideoWallSize");
m_ComboVideoWall.InsertString(0, "");
@@ -187,6 +192,7 @@ void CSettingDlg::OnBnClickedButtonSettingapply()
THIS_CFG.SetInt("frp", "UseFrp", frp);
THIS_CFG.SetInt("frp", "server_port", m_nFrpPort);
THIS_CFG.SetStr("frp", "token", m_sFrpToken.GetString());
THIS_CFG.SetInt("settings", "FileSvrPort", m_nFileServerPort);
THIS_CFG.SetInt("settings", "VideoWallSize", m_ComboVideoWall.GetCurSel()+1);

View File

@@ -49,4 +49,6 @@ public:
CEdit m_EditFrpToken;
CString m_sFrpToken;
CComboBox m_ComboVideoWall;
CEdit m_EditFileServerPort;
int m_nFileServerPort;
};

View File

@@ -444,6 +444,7 @@
#define IDC_CHECK_FILESERVER 2222
#define IDC_STATIC_DOWNLOAD 2223
#define IDC_EDIT_DOWNLOAD_URL 2224
#define IDC_EDIT_FILESERVER_PORT 2225
#define ID_ONLINE_UPDATE 32772
#define ID_ONLINE_MESSAGE 32773
#define ID_ONLINE_DELETE 32775
@@ -622,6 +623,8 @@
#define ID_FILEMANGER_UNCOMPRESS 32992
#define ID_32993 32993
#define ID_RANDOM_NAME 32994
#define ID_32995 32995
#define ID_DOWNLOAD_SERVERPORT 32996
#define ID_EXIT_FULLSCREEN 40001
// Next default values for new objects
@@ -629,8 +632,8 @@
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE 324
#define _APS_NEXT_COMMAND_VALUE 32995
#define _APS_NEXT_CONTROL_VALUE 2225
#define _APS_NEXT_COMMAND_VALUE 32997
#define _APS_NEXT_CONTROL_VALUE 2226
#define _APS_NEXT_SYMED_VALUE 105
#endif
#endif