This is neat. I actually managed to run Bash and a custom executable (a 32bit compiled version of my LIL interpreter - that i compiled under 86box running Caldera OpenLinux from 1999, which i guess also shows how you can be backwards compatible if you pay attention to it :-P):
$ /usr/bin/python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import os,sys,base64
>>> os.system("/bin/bash")
bash: cannot set terminal process group (-1): Bad file descriptor
bash: no job control in this shell
user@:/$ exit
exit
0
>>> with open("/usr/lil", "wb") as f:
... f.write(base64.decodebytes(b'...base64 encoded binary goes here...'))
...
53448
>>> os.system("/bin/bash")
bash: cannot set terminal process group (-1): Bad file descriptor
bash: no job control in this shell
user@:/$ cd /usr
user@:/usr$ ls
bin foo games include lib lib64 libx32 lil local sbin share src
user@:/usr$ ./lil
Little Interpreted Language Interactive Shell
# print [reflect version]
0.1
#
Though it was kinda slow and hanged a few times during my attempts (my initial attempt was actually to try and put the entire Free Pascal installer there but pasting the base64 encoded string in there caused Firefox to eat all of the 32GB of RAM for some reason and made by system unresponsive :-P).
I did notice that reloading the page keeps some files around which makes me wonder, where are these stored? Local storage? I notice that there is 25MB of data stored for the site.
I did notice that reloading the page keeps some files around which makes me wonder, where are these stored? Local storage? I notice that there is 25MB of data stored for the site.