sandstone-proxy
v0.2.0
Published
An experimental web proxy utilizing sandboxed iframes and no service worker.
Downloads
54
Readme
Sandstone
Sandstone is an experimental web proxy utilizing sandboxed iframes and no service worker. It is able to run from within a local HTML file, so it can avoid being blocked in many situations.
Try it here: https://sandstone.pages.dev/
Features
- Every proxied page runs in a sandboxed iframe
- Can be used from an HTML file or as a data URL
- Does not use service workers
- Uses libcurl.js and Wisp for end-to-end encryption
Site Support
- Discord
- The login page does work, but not the captcha
- Works in v0.1.1 but not v0.2.0
- Amazon
- v86
- Minecraft Classic
- Youtube embeds
- Some HTML5 games
- Most static sites
Status
This is at a very early stage of development and lacks support for most web APIs.
Working Features
- Fetch API
- Basic javascript
- Local storage
- Web workers
- XMLHttpRequest
- Media elements such as
<img> - CSS rewriting
- Anchor tags
- HTML redirects
- HTML forms
Notable Unimplemented Features
- Cookies
- ES6 modules
- HTTP request caching
Usage
Building
- Clone this repository and cd into it.
- Run
npm ito install the dependencies. - Run
npm run build:prodto bundle the client JS. You may also usenpm run dev.
Running the Example Frontend
- Cd into the
examplesubdirectory - Run
npm ito install the server dependencies - Run
npm run build:prodto bundle the frontend JS. - Run
npm run startwhich will start the web server
License
ading2210/sandstone - A web proxy using sandboxed iframes
Copyright (C) 2025 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/>.