apps/cmm: update HTTPS proxy
Build system / Check kernel codestyle (pull_request) Successful in 1m29s
Build system / Build (pull_request) Successful in 11m0s

- new proxy address
- fix proxy for downloader
- fix buffers overflow
- optimize memory usage
- explicit notify error for downloader when URL is HTTPS and proxy is not found
This commit is contained in:
2026-05-10 12:37:56 +03:00
parent e7698cbfb6
commit debe9f7834
4 changed files with 31 additions and 22 deletions
+1 -1
View File
@@ -23,7 +23,7 @@ path=/usbhd0/1/kolibri.img
autoclose=0
[WebView]
proxy_address=http://proxy.kolibrios.org:82/?site=
proxy_address=http://proxy.kolibrios.org/?site=
search_engine=http://wiby.me/?q=
;search_engine=http://bing.com/search?q=
;search_engine=https://html.duckduckgo.com/html/?q=
+17 -17
View File
@@ -72,8 +72,8 @@ progress_bar prbar;
proc_info Form;
char settings_file[256];
char proxy_address[768];
char search_engine[768];
char proxy_address[256];
char search_engine[256];
#include "settings.h"
#include "tabs.h"
@@ -307,14 +307,14 @@ void ProcessButtonClick(dword id__)
case SANDWICH_BUTTON: EventShowMainMenu(); return;
case VIEW_SOURCE: EventViewSource(); return;
case EDIT_SOURCE: EventEditSource(); return;
case VIEW_HISTORY: OpenPage(URL_SERVICE_HISTORY); return;
case DOWNLOAD_MANAGER: EventOpenDownloader(""); return;
case UPDATE_BROWSER: EventUpdateBrowser(); return;
case OPEN_SETTINGS: RunProgram("/sys/@open", #settings_file); return;
case CLEAR_CACHE: EventClearCache(); return;
case IN_NEW_TAB: EventClickLink(TARGET_NEW_TAB); return;
case IN_NEW_WINDOW: EventClickLink(TARGET_NEW_WINDOW); return;
case COPY_LINK_URL: EventCopyLinkToClipboard(); return;
case VIEW_HISTORY: OpenPage(URL_SERVICE_HISTORY); return;
case DOWNLOAD_MANAGER: EventOpenDownloader(""); return;
case UPDATE_BROWSER: EventUpdateBrowser(); return;
case OPEN_SETTINGS: RunProgram("/sys/@open", #settings_file); return;
case CLEAR_CACHE: EventClearCache(); return;
case IN_NEW_TAB: EventClickLink(TARGET_NEW_TAB); return;
case IN_NEW_WINDOW: EventClickLink(TARGET_NEW_WINDOW); return;
case COPY_LINK_URL: EventCopyLinkToClipboard(); return;
case DOWNLOAD_LINK_CT: EventOpenDownloader( GetAbsoluteActiveURL() ); return;
case OPEN_FILE: EventOpenDialog(); return;
}
@@ -331,10 +331,10 @@ void ProcessKeyEvent()
if (key_modifier&KEY_LCTRL) || (key_modifier&KEY_RCTRL) switch(key_scancode)
{
case SCAN_CODE_KEY_O: EventOpenDialog(); return;
case SCAN_CODE_KEY_H: ProcessButtonClick(VIEW_HISTORY); return;
case SCAN_CODE_KEY_E: ProcessButtonClick(OPEN_SETTINGS); return;
case SCAN_CODE_KEY_U: EventViewSource(); return;
case SCAN_CODE_KEY_T: EventOpenNewTab(URL_SERVICE_HOMEPAGE); return;
case SCAN_CODE_KEY_H: ProcessButtonClick(VIEW_HISTORY); return;
case SCAN_CODE_KEY_E: ProcessButtonClick(OPEN_SETTINGS); return;
case SCAN_CODE_KEY_U: EventViewSource(); return;
case SCAN_CODE_KEY_T: EventOpenNewTab(URL_SERVICE_HOMEPAGE); return;
case SCAN_CODE_KEY_N: RunProgram(#program_path, NULL); return;
case SCAN_CODE_KEY_J: ProcessButtonClick(DOWNLOAD_MANAGER); return;
case SCAN_CODE_KEY_R: ProcessButtonClick(REFRESH_BUTTON); return;
@@ -533,12 +533,12 @@ bool GetLocalFileData(dword _path)
bool GetUrl(dword _http_url)
{
char new_url_full[URL_SIZE+1];
char new_url_full[URL_SIZE + sizeof(proxy_address) + 1];
if (!strncmp(_http_url,"http://",7)) {
http.get(_http_url);
return true;
} else if (!strncmp(_http_url,"https://",8)) {
if (#proxy_address) {
if (proxy_address[0]) {
strcpy(#new_url_full, #proxy_address);
strncat(#new_url_full, _http_url, URL_SIZE);
http.get(#new_url_full);
@@ -840,7 +840,7 @@ void ProcessMenuClick()
void EventSearchWeb()
{
char new_url[URL_SIZE+1];
char new_url[URL_SIZE + sizeof(search_engine) + 1];
// replace the spaces with '+' for the search query
replace_char(#editURL, ' ', '+', URL_SIZE);
strcpy(#new_url, #search_engine);
+12 -3
View File
@@ -27,7 +27,7 @@ char filepath[4096];
char save_dir[4096];
char settings_file[256];
char proxy_address[768];
char proxy_address[256];
#include "settings.h"
@@ -177,14 +177,23 @@ void DrawWindow()
void StartDownloading()
{
char get_url[URL_SIZE+33];
char get_url[URL_SIZE + sizeof(proxy_address) + 1];
if (http.transfer > 0) return;
ResetDownloadSpeed();
pb.back_color = 0xFFFfff;
if (!strncmp(#uEdit,"https://",8)) {
if (!proxy_address[0]) {
pb.progress_color = PB_COL_ERROR;
notify("'HTTPS URLs require a proxy.\nSet proxy_address in app.ini' -E");
StopDownloading();
EditBox_UpdateText(#ed, ed_focus + ed_always_focus);
DrawWindow();
return;
}
miniprintf(#get_url, "%s%s", #proxy_address, #uEdit);
} else {
strcpy(#get_url, #uEdit);
}
strcpy(#get_url, #uEdit);
if (http.get(#get_url)) {
pb.value = 0;
+1 -1
View File
@@ -5,5 +5,5 @@ void LoadIniConfig()
ini.path = GetIni(#settings_file, "app.ini");
ini.section = "WebView";
ini.GetString("proxy", #proxy_address, sizeof(proxy_address), NULL);
ini.GetString("proxy_address", #proxy_address, sizeof(proxy_address), NULL);
}