The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Shadow Alternatives
Similar projects and alternatives to shadow
-
-
shadow-plugin-tor
Discontinued A Shadow plug-in that runs the Tor anonymity software
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
tor
unofficial git repo -- report bugs/issues/pull requests on https://gitlab.torproject.org/ --
-
testground
🧪 A platform for testing, benchmarking, and simulating distributed and p2p systems at scale.
-
-
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
-
-
-
llvm-project
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
-
-
-
-
ds3-nrssr-rce
Documentation and proof of concept code for CVE-2022-24125 and CVE-2022-24126.
-
-
-
-
fast-caspaxos
Fast CASPaxos: Fast Paxos optimizations applies to CASPaxos for 1RTT multi-leader commit
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
shadow reviews and mentions
-
Turmoil, a framework for developing and testing distributed systems
Cool, will be interested to see how this develops! tokio's loom framework has been a big help in testing some tricky concurrency code I've worked on.
Folks interested in this space might also be interested in the system I spend most of my time working on: Shadow. It also performs deterministic simulation of a network of hosts, but it intercepts network and system interactions at the syscall level via seccomp. As such it can work with binaries compiled from ~any language, usually without any code modification or special compilation. https://shadow.github.io/
-
I reinvented another wheel, linux threads.
Nice writeup! I've also had to dig a bit into this area in my work on shadow.
-
How to avoid bounds checks in Rust (without unsafe!)
I do share this hesitation. I think for simple cases iterators are usually fine, but I've definitely run into cases where an iterator adapter caused unexpected performance problems. e.g. https://github.com/shadow/shadow/pull/2543
-
Sending signals to Unix process groups
Yes. Though I'm not sure I see the connection to the OP...?
The example I'm most familiar with, because I work on it, is Shadow. We used ptrace for a bit but now use seccomp.
-
Shadow Simlulator – run real applications over a simulated Internet topology
For anyone interested in following current development on Shadow, we've been publishing a series of updates. Most recent: https://github.com/shadow/shadow/discussions/1274
The previous update has links back to the whole series; I stopped including it in the most-recent update since it was getting a bit cumbersome: https://github.com/shadow/shadow/discussions/1060
For anyone wondering how this might actually work, "Shadow intercepts a selective set of system calls to enable seamless integration of an application to the simulated environment."
Or more expansively: "Plug-ins are shared library shims that are linked to real applications. Shadow dynamically loads these libraries to natively execute the application code. Shadow intercepts a selective set of system calls to enable seamless integration of an application to the simulated environment. In this way, the application may be unaware that it is running in the simulator and will function as if it was running in a standard UNIX environment." https://github.com/shadow/shadow/blob/main/docs/0-Design-Ove...
> I found the implementation seemed to simulate delay by waiting a bunch of time then dumping all the data at once, for example if I asked for 5s of latency I'd be sitting at 0 bytes/sec for 5 seconds then it'd be like INCOMING and I'd get a giant pile of data all at once.
Sorry, I'm not well versed in the network model; most of my work has been on the new ptrace-based syscall interposition. That sure sounds like a bug, though.
We recently added a [discussion](https://github.com/shadow/shadow/discussions) section to Shadow's GH repo. That'd be a good place for your questions. More knowledgeable folks are pretty responsive there, but aren't on HN :)
The in-repo docs have a general walk-through for getting started: https://github.com/shadow/shadow/tree/main/docs.
Shadow's primary use-case is simulating the Tor network. Shadow's tor plugin has a step-by-step for getting a tor network simulation in particular running: https://github.com/shadow/shadow-plugin-tor/wiki
-
A note from our sponsor - WorkOS
workos.com | 28 Mar 2024
Stats
shadow/shadow is an open source project licensed under GNU General Public License v3.0 or later which is an OSI approved license.
The primary programming language of shadow is Rust.