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.git
To build for Windows:
> cd eccologic-asm/backend
> ./build.bat
To build for Linux:
> cd eccologic-asm/backend
> ./build.sh
And finally, you need to build the frontend inside it's directory too:
> cd eccologic-asm/frontend
> npm install
> npm run build
Once 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.so
like 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.