1.9 KiB
libcurl.js
This is an experimental port of libcurl to WebAssembly for use in the browser. It provides an interface compatible with the Fetch API, allowing you to proxy HTTPS requests from the browser with full TLS encryption. Unlike previous implementations, the proxy server cannot read the contents of your requests.
Features:
- Fetch compatible API
- End to end encryption between the browser and the destination server
- Support for up to TLS 1.3
Building:
You can build this project by cloning this repo and running the following commands:
cd libcurl.js/client
./build.sh
Make sure you have emscripten, git, and the various C build tools installed.
Documentation:
Javascript API:
This library provides an interface compatible with the standard Fetch API. You can call it using the libcurl_fetch
function, which works identically to the regular fetch
function.
Proxy Server:
The proxy server consists of a SOCKS5 proxy server behind a websocket TCP reverse proxy. Code for running this as a single program is planned.
Copyright:
This project is licensed under the GNU AGPL v3.
Copyright Notice:
ading2210/libcurl.js - A port of libcurl to WASM
Copyright (C) 2023 ading2210
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.