Sandstone is an experimental web proxy utilizing sandboxed iframes and no service worker.
Traditional web proxies like Ultraviolet require you to visit a domain that is unblocked, leading to a whack-a-mole situation of having these domains be blocked and trying to find new ones. Sandstone on the other hand is able to run from within a local HTML file, so it can avoid being blocked in many situations. Additionally, traditional web proxies do not sandbox the proxied pages, so any site can take control of the proxy as a whole and steal credentials. Sandstone avoids this by putting the proxied pages inside a sandboxed iframe, so they absolutely cannot access the parent page.
Try it here: https://sandstone.pages.dev/
- 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
- Discord
- The login page does work, but not the captcha
- Note: works in v0.1.1 but not v0.2.0
- Amazon
- v86
- Youtube embeds
- Some HTML5 games, such as:
- Most static sites
This is at a very early stage of development and lacks support for most web APIs.
- Fetch API
- Basic javascript
- Local storage
- Web workers
- XMLHttpRequest
- Media elements such as
<img>
- CSS rewriting
- Anchor tags
- HTML redirects
- HTML forms
- Cookies
- ES6 modules
- HTTP request caching
- Clone this repository and cd into it.
- Run
npm i
to install the dependencies. - Run
npm run build:prod
to bundle the client JS. You may also usenpm run dev
.
- Cd into the
example
subdirectory - Run
npm i
to install the server dependencies - Run
npm run build:prod
to bundle the frontend JS. - Run
npm run start
which will start the web server
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/>.