Provides a web server that allows for x86/AArch64 assembling & disassembling through a RESTful API and serves a Single-page application (SPA) website for clients to program in.
Well... because it was fun. While other websites like this exist (and some are even better), I wanted to take my own approach to it and make it open source.
The preferred way to use this project with little hassle is to just use Docker. For your convenience, I've provided Dockerfile and docker-compose files in the repository.
This project is only tested and working on Windows (Windows 10 w/ MSVC) & Linux (Debian (Bullseye) w/ GCC).
The web server currently only serves over HTTP (Port 80 by default) and does not rate limit. Ideally you'd run this all behind a reverse proxy and configure rate limits, etc yourself.
If someone wants to contribute and add HTTPS support then go right ahead.
Prerequisites:
Oh and for Linux you'll need bash too.
If you haven't already, clone the repository into some directory.
> git clone https://github.com/angelfor3v3r/eccologic-asm.gitTo build for Windows:
> cd eccologic-asm/backend
> ./build.batTo build for Linux:
> cd eccologic-asm/backend
> ./build.shAnd finally, you need to build the frontend inside it's directory too:
> cd eccologic-asm/frontend
> npm install
> npm run buildOnce finished, you'll end up with a bin folder in eccologic-asm.
- On Windows, you can just run the
asm.exe. - On Linux you MUST run the binary with
libmimalloc.solike so:env LD_PRELOAD=/eccologic-asm/bin/libmimalloc.so /eccologic-asm/bin/asm.
If all went well then the website will be accessible from port 80! 🎉
- Angelfor3v3r - Creator & Lead programmer.
- Cursey - Backend programming, General help & Library recommendations.
- JosiahWhite - Frontend programming.
- Dom - General help & Library recommendations.
... And an additional thank you to all the amazing creators & contributors from the following projects:
- Drogon
- {fmt}
- mimalloc
- Keystone
- Capstone
- Vcpkg
- CMake
- Docker
- Node.js
- npm
- Webpack
- Preact
- Bootstrap
- bootswatch
- CodeMirror
None of this would've been possible without you! Thank you for all of your hard work.