npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

aero-sandbox

v0.0.2

Published

The sandboxing library for aero

Downloads

10

Readme

AeroSandbox library

This is a soon-to-be proxy-independent library (the shared code from Aero needs to move into here) that lets you modify... It will work even without SW capabilities. This is where all the non-sw code of aero lays.

This document is out of date planned to be removed, and some parts may be incorporated into other documents

It will let you

  • Freezing or faking element states. The Faker API will trick the DOM APIs into thinking that the element still exists or has properties different from what it has. Still, in reality, only a copy of it has been removed or modified from the DOM and cloned to the shadow DOM. You can also put dummy elements. This allows Adblock to be completely undetectable. It also allows panels to be injected without allowing the site to detect their use. It will also serve as the base of my middleware html ui.
    • Adding to the use case, you will soon be able to intercept HTTP requests without a Service Worker and get back mock responses, making the browser think there is no asset blocking. Soon, you can bring back your MW2 extensions from your dead using injected scripts combined with this library. I will provide polyfills for these removed APIs, which you can import into your extension.
  • Intercept redirects so that you can provide logging or link checking. A real-world example is that many social media sites change their href to be a link checker that processes the URL before finally redirecting. They usually do this to warn the user that they are leaving the site (to mitigate phishing attempts) or check the link on something like VirusTotal. When you click the links, Google Search does something similar: you are first redirected to an endpoint for analytics purposes.
  • Speed up your proxy by not parsing, turning it into an interception proxy rather than a semi-interception proxy. You will be able to patch other proxies to take advantage of the sandboxed's capabilities
  • AeroSandbox would be helpful if your client-side injects are broken, but you still want to test your SW and make sure it works properly

TODO: Fix the MD links here

Maintainability / Futureproofing

This library directly parses concealer standards, so you can ensure that most API interceptors will keep up with the latest specifications. Unless there is a significant enough change regarding how requests are made, it will parse the documentation and the WebIDL files.

Projects that make use of this library