{"id":14990024,"url":"https://github.com/negrutiu/nsis-nscurl","last_synced_at":"2025-04-12T02:03:46.971Z","repository":{"id":143468511,"uuid":"251014815","full_name":"negrutiu/nsis-nscurl","owner":"negrutiu","description":"NSIS plugin with advanced HTTP/S capabilities","archived":false,"fork":false,"pushed_at":"2025-03-12T15:04:41.000Z","size":711,"stargazers_count":35,"open_issues_count":0,"forks_count":11,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-12T02:03:35.281Z","etag":null,"topics":["curl","download","http","http-client","https","https-client","installer","libcurl","marius","negrutiu","nscurl","nsis","nsis-installer","nsis-plugin","openssl","ssl"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/negrutiu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-03-29T11:21:55.000Z","updated_at":"2025-04-01T07:57:58.000Z","dependencies_parsed_at":"2024-01-13T21:29:25.526Z","dependency_job_id":"b299369f-fbb5-4d69-b600-fe7daa12e36e","html_url":"https://github.com/negrutiu/nsis-nscurl","commit_stats":{"total_commits":464,"total_committers":3,"mean_commits":"154.66666666666666","dds":"0.049568965517241326","last_synced_commit":"c422bf9f62d490b9595bbb2b140005f184054a81"},"previous_names":[],"tags_count":41,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrutiu%2Fnsis-nscurl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrutiu%2Fnsis-nscurl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrutiu%2Fnsis-nscurl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/negrutiu%2Fnsis-nscurl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/negrutiu","download_url":"https://codeload.github.com/negrutiu/nsis-nscurl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248505863,"owners_count":21115354,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curl","download","http","http-client","https","https-client","installer","libcurl","marius","negrutiu","nscurl","nsis","nsis-installer","nsis-plugin","openssl","ssl"],"created_at":"2024-09-24T14:19:21.055Z","updated_at":"2025-04-12T02:03:46.945Z","avatar_url":"https://github.com/negrutiu.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NScurl ([NSIS](https://github.com/negrutiu/nsis) plugin)\n\n`NScurl` is a [NSIS](https://github.com/negrutiu/nsis) (Nullsoft Scriptable Install System) plugin with advanced HTTP/HTTPS capabilities.  \nIt's included in the unofficial [NSIS](https://github.com/negrutiu/nsis) fork.\n\nImplemented in `C` on top of [libcurl](https://curl.haxx.se/libcurl) with [OpenSSL](https://www.openssl.org) as SSL backend.\n\n\n[![License: BSD3](https://img.shields.io/badge/License-BSD3-blue.svg)](LICENSE.md)\n[![Latest Release](https://img.shields.io/badge/dynamic/json.svg?label=Latest%20Release\u0026url=https%3A%2F%2Fapi.github.com%2Frepos%2Fnegrutiu%2Fnsis-nscurl%2Freleases%2Flatest\u0026query=%24.name\u0026colorB=orange)](../../releases/latest)\n[![Downloads](https://img.shields.io/github/downloads/negrutiu/nsis-nscurl/total.svg?label=Downloads\u0026colorB=orange)](../../releases/latest)\n[![GitHub issues](https://img.shields.io/github/issues/negrutiu/nsis-nscurl.svg?label=Issues)](../../issues)\n\n## Features\n\n- Supports modern protocols and ciphers including `HTTP/2`, `TLS1.3`, etc.\n- Works well on Windows NT4, Windows 11 and everything in between\n- Multi-threaded design to transfer multiple files in parallel\n- Background transfers are available, while your installer performs other installation tasks\n- Multiple attempts to connect and resume failed/dropped transfers\n- Plenty of useful information is available for querying (transfer size, speed, HTTP status, HTTP headers, etc.)\n- Works at any `NSIS` install stage (in `.onInit` callback function, in un/install sections, custom pages, silent installers, etc.)\n- Supports custom certificate stores and certificate pinning\n- Supports `HTTP` and `TLS` authentication\n- Supports all relevant HTTP methods (`GET`, `POST`, `PUT`, `HEAD`, etc.)\n- Supports `DNS-over-HTTPS` secure name resolution\n- Supports custom HTTP headers and data\n- Supports proxy servers (both authenticated and open)\n- Supports files larger than 4GB\n- Can download remote content in-memory instead of a file\n- Works well in **64-bit** installers created with this [NSIS](https://github.com/negrutiu/nsis) fork\n- Many more...\n\n## Basic usage\n\nCheck out the [Getting Started](https://github.com/negrutiu/nsis-nscurl/wiki/Getting-Started) wiki page.  \nCheck out the [documentation](src/nscurl/NScurl.readme.md) page.  \nCheck out the [NSIS test script](tests/NScurl-Test.nsi).  \n\n```nsis\n; Quick transfer\nNScurl::http GET \"https://download.sysinternals.com/files/SysinternalsSuite.zip\" \"$TEMP\\SysinternalsSuite.zip\" /INSIST /CANCEL /RESUME /END\nPop $0 ; transfer status (\"OK\" for success)\n\n; Quick transfer with GET parameters and request headers\nNScurl::http GET \"https://httpbin.org/get?param1=value1\u0026param2=value2\" \"$TEMP\\httpbin_get.json\" /HEADER \"Header1: Value1\" /HEADER \"Header2: Value2\" /END\nPop $0\n\n; POST json data\nNScurl::http POST \"https://httpbin.org/post\" Memory /HEADER \"Content-Type: application/json\" /DATA '{\"number_of_the_beast\":666}' /END\nPop $0\n\n; POST json data as MIME multi-part form\nNScurl::http POST \"https://httpbin.org/post\" Memory /POST \"User\" \"My user name\" /POST \"Password\" \"My password\" /POST FILENAME=MyFile.json TYPE=application/json \"Details\" '{\"number_of_the_beast\":666}' /END\nPop $0\n```\n\n## Licenses\nProject        | License\n:------        | :----------------------------------------------------\nNScurl itself  | [BSD3](LICENSE.md)\nbrotli         | [MIT](https://github.com/google/brotli/blob/master/LICENSE)\ncurl           | [MIT/X inspired](https://curl.haxx.se/docs/copyright.html)\nnghttp2        | [MIT](https://github.com/nghttp2/nghttp2/blob/master/COPYING)\nOpenSSL        | [Apache v2](https://www.openssl.org/source/license.html)\nzlib           | [zlib](https://www.zlib.net/zlib_license.html)\nzstd           | [BSD3](https://github.com/facebook/zstd/blob/dev/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegrutiu%2Fnsis-nscurl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnegrutiu%2Fnsis-nscurl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnegrutiu%2Fnsis-nscurl/lists"}