summaryrefslogtreecommitdiff
path: root/src/process_url.c
AgeCommit message (Collapse)AuthorFilesLines
2024-03-02process_url: merge_and_cleanup: do not block ui threadMole Shang1-13/+25
2024-03-02tree-wide: use FREE_AND_NULLIFY macro and reformat codeMole Shang1-8/+9
Jeez idk why i forgot the pass-by-value feature, so the original version never gets the pointer nullified. Fix it by using our favourite C-style macro.
2024-03-02process_url: do not update curl status during callbackMole Shang1-2/+4
... and in turn fixes the race condition
2024-03-01status: support large file sizes on 64bit systemsMole Shang1-3/+3
Convert all unsigned long nums to unsigned long long in order to let the UI safely display sizes >= 4GB
2024-03-01tree-wide: fix uaf bugsMole Shang1-17/+16
2024-03-01process_url: initialize curl_c to NULLMole Shang1-0/+1
... to avoid accessing garbage value of curl_c->outfn, which leads to SIGSEGV.
2023-08-10process_url: lower low-speed timeout to 30sMole Shang1-1/+1
2023-08-10process_url: do not run callback if corruptedMole Shang1-2/+2
2023-08-10ui: show progress while remuxingMole Shang1-2/+3
2023-08-09process_url: set callback_struct_t as an alias to str_array_tMole Shang1-6/+4
... for flexibility concern.
2023-08-09tree-wide: pass pointer-to-pointer to correctly free pointersMole Shang1-26/+28
2023-08-09process_url: copy only if p_cookie is validMole Shang1-2/+4
2023-08-09Revert "process_url: always match substrings instead of comparing"Mole Shang1-1/+1
Target video files can also be under the domain, revert the commit for now. Needs further implemention. This reverts commit 9c2b0b39d73da02bb9d255e9dc7f81db200930b1.
2023-08-09process_url: set referer in the separate functionMole Shang1-9/+2
2023-08-09process_url: only get content length when requestedMole Shang1-4/+6
2023-08-09process_url: expose some new functions to be control cookies and refererMole Shang1-5/+28
2023-08-09process_url: always match substrings instead of comparingMole Shang1-1/+1
2023-08-08process_url: expose get_info with a new param `p_content_type`Mole Shang1-7/+12
2023-08-08process_url: copy full URLMole Shang1-2/+2
2023-08-08process_url: change strings to be dynamic allocatedMole Shang1-5/+6
2023-08-08process_url: do not block ui thread on callbackMole Shang1-2/+4
2023-08-07hinata: support specifying cookies in curl_easyMole Shang1-1/+5
We use tomlc99 to parse strings. To use cookies for higher resolution video downloading, add a config.toml in the executable path. e.g. ```filename: config.toml cookie="SESSDATA=xxx; some_more_cookie=xxx" ```
2023-08-07process_url: use goto to simplify error processingMole Shang1-8/+5
2023-08-07process_url: add retries while downloadingMole Shang1-3/+10
2023-08-07process_url: free malloc'd dataMole Shang1-3/+4
2023-08-07utils: split type definition code into utils/typesMole Shang1-1/+2
2023-08-07utils: move to a separate folderMole Shang1-1/+1
2023-08-07extractors/bilibili: use ffmpeg to merge files once downloadedMole Shang1-13/+33
2023-08-06process_url: initial callback supportMole Shang1-8/+27
2023-08-06process_url: move constant macros to constants.hMole Shang1-1/+0
2023-08-06process_url: strip illegal characters in filenameMole Shang1-0/+8
There are edge cases when a retrived title contains illegal characters (e.g. '/'). Replace it with a space to ensure a valid filename. Reproducible case: https://www.bilibili.com/video/av20827366/ (title="【2K/60fps】这可能是我做过最美的miku了【boomclap布料解算版】")
2023-08-05hinata: initial commitMole Shang1-0/+526