
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
freedom.js is a runtime for distributed web applications
Building distributed systems is hard! Debugging machines out of your control or in states you don't fully understand is accompanied by a plethora of potential missteps.
The freedom.js runtime gives you the benefits of distribution without the headaches. The runtime comes with a solid set of service implementations for storage, communication, and navigating a social graph, and an architecture to allow building, thinking about, and debugging your application from the perspective of a single user.
A generated one-file version of freedom.js is maintained here.
Documentation for generating freedom.js yourself, or including it in your project, is maintained on the github wiki.
Several demonstrations of the freedom.js library are available as included demos
.
To run the demonstrations locally, freedom.js must be generated on your machine. Note that the freedom.js library cannot work when included as a file://
URL (where xhr requests are not allowed by browser security policies). For testing locally, we recommend running python -m SimpleHTTPServer
to access your page via a local HTTP URL.
Note: FreeDOM has only been tested using Chrome and Firefox. Other browsers may experience issues.
You can get started with freedom.js by using the generated version linked above. If you want to bundle freedom.js with custom providers, or otherwise need to generate your own version, run grunt
in the main repository. This will compile, lint, unit test, and optionally compress the code base. freedom.js can also be included in your project as an NPM dependency:
npm install freedom --save-dev
We welcome contributions and pull requests! A set of current issues are maintained in the issues section of this repository. In addition, we would be happy to help you work through bugs with your use of the library and suggest solutions on our mailing list (freedom@cs.washington.edu).
Pull requests are automatically reviewed by travis to verify code quality and unit tests. You can predict that a pull request will fail if running grunt
locally fails.
Internal documentation for the library is also automatically generated and provides a reasonable starting point for understanding how the internals of freedom.js work together.
FAQs
Embracing a distributed web
We found that freedom demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 4 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.