پروژه WebVM – Linux VM را در مرورگر خود انجام دهید (بدون VPS ، بدون سرور) – 51 امنیت

- نانو / ششم
- ls -la
- نمونه های Python3/python3/fibonacci.py
- GCC -o Helloworld نمونه/c/helloworld.c && ./helloworld
- objdump -d ./helloworld | کمتر -M
- نمونه های VIM/C/HellOworld.c
- curl-max-time 15 parot.live # نیاز به کار شبکه دارد
WebVM از چهار بلوک اصلی ساختمان تشکیل شده است: موتور مجازی سازی تشویق کنندگان ، ذخیره ذخیره مجازی ، یک لایه شبکه و دستگاه گرافیکی شبیه سازی شده.
Cheerpx یک موتور منحصر به فرد مبتنی بر WebAssemply برای مجازی سازی کد باینری X86 باینری است. این موتور مبتنی بر یک کامپایلر زمان دقیق و مؤثر از دستورالعمل های x86 در WebAnsembly ، به علاوه یک لایه شبیه سازی برای تماس های سیستم لینوکس است. این ترکیب به شما امکان می دهد پرونده های باینری اصلاح نشده را در Linux x86 در مرورگر آزاد کنید و برای راه اندازی کل توزیع های لینوکس به اندازه کافی قوی و مقیاس پذیر است.
دومین مؤلفه اصلی WebVM دیسک جریان آن است. یکی از عملکرد اصلی موفقیت WebVM این است که بتوانید توزیع های کامل و بدون اصلاح لینوکس را شروع کنید ، بدون نیاز به بارگیری سیستم کامل پروندهS این حاکی از توانایی حفظ سیستم های فایل ریشه 1 گیگابایتی و بارگیری پویا از بلوک های دیسک تأخیر کم ، نگرانی اساسی برای عملکرد کلی VM است.
سرانجام ، عکس توسط لایه شبکه خصوصی که توسط دم تحقق یافته است به پایان رسیده است و پشتیبانی Xorg با استفاده از KMS Linux API. اطلاعات بیشتر در مورد آنها در بخش های کوتاه تر.
WebVM خود را در GitHub ایجاد کنید
مخزن کلون شده من و مخزن به روز شده: https://github.com/51sec/webvm
- من فقط پرونده های استقرار را به روز کردم که می توانند کل فرآیند را بدون خطا انجام دهند.
نسخه ی نمایشی: https://51sec.github.io/webvm/
مراحل اصلی:
1 ذخیره سازی از https://github.com/leaningtech/webvm

2 صفحات GitHub را در تنظیمات فعال کنید.
- روی کلیک کنید
Settingsحرف - رفتن به
Pagesبخش - انتخاب کردن
Github Actionsبه عنوان یک منبع - اگر از دامنه شخصی استفاده می کنید ، حتماً
Enforce HTTPSفعال شده است

3 گردش کار را کامل کنید.
- روی کلیک کنید
Actionsحرف - پذیرش سریع این فقط یک بار برای فعال کردن عمل برای چنگال شما لازم است.
- روی گردش کار مشخص شده کلیک کنید
Deployحرف - کلیک کردن
Run workflowو سپس یک بار دیگرRun workflowدر منو
4 در چند ثانیه ، یک فرآیند کار اجرای جدید آغاز می شود ، برای دیدن جزئیات ، روی آن کلیک کنید.
5 پس از اتمام گردش کار ، که چند دقیقه طول می کشد ، URL زیر را نشان می دهد DEPELED_TO_GITHUB_PAGES کار

دستورات لینوکس:
- دلار گربه /و غیره /OS-RELEASE
- دلار lsb_release -a
- دلار میزبان
از دامنه خود برای صفحه GitHub خود استفاده کنید:
اجرای محلی (سرور خود یا VPS)
1 کلون پروژه
- کلون گیت https://github.com/leaningtech/webvm
- cd webvm
- wget https://github.com/leaningtech/webvm/releases/download/ext2_image/debian_large_20230522_504487531.ext2
- این یکی از مخزن اصلی GitHub است ، رمز عبور حساب SU تنظیم نشده است.
- https://github.com/johnnynetec/webvm/releases/download/ext2_image/debian_mini_220250206_13186456973.ext2
- رمز عبور SU به عنوان رمز عبور تنظیم شده است.
3 ویرایش config_github_terminal.js

4 ایجاد WebVM با استفاده از npmخروجی در آن قرار می گیرد build فهرست راهنما
apt install npmnpm installnpm run build
5 nginx را شروع کنید ، به طور خودکار به آن اشاره می کند build دایرکتوری درست شده
apt install nginxnginx -p . -c nginx.conf
nginx را در یک پس زمینه قرار دهید تا اجرا شود
apt install screen
screen -S ngcd webvm
nginx -p . -c nginx.conf
ctrl + A + D (detach from the screen, going back to original session)
Other Screen commands
- Install screen (Depends on the Linux Distribution if it came pre installed or not) : yum install screen or apt install screen
- Initiate a Screen : screen or screen -S
- Detach from the screen : "CTRL+A,D" not "CTRL+A+D"
- List all the screen currently working : screen -ls
- Reattach to a screen : screen -r
or screen -r - Kill specific screen: screen -X -S
quit - Kill all screens : pkill screen
- Reattach to screen : screen -x -r
. root@instance-webvm:~# screen -x There are several suitable screens on: 64262.ng (02/02/25 23:59:16) (Detached) 63983.pts-1.instance-webvm (02/02/25 23:46:53) (Detached) 18301.nginx (01/28/25 21:11:25) (Attached) Type "screen [-d] -r [pid.]tty.host" to resume one of them. root@instance-webvm:~# screen -x -r 64262.ng
http://127.0.0.1:8081 و از WebVM محلی لذت ببرید
رمز عبور مرجع یک رمز عبور است.
user@:~$ su Password: password root@:/home/user#Command list:
- git clone https://github.com/leaningtech/webvm
- cd webvm
- wget https://github.com/JohnnyNetsec/webvm/releases/download/ext2_image/
- nano config_github_terminal.js
- apt install npm
- npm install
- npm run build
- screen -S nginx
- nginx -p . -c nginx.conf
- ctrl+A+D
HTTP را با دامنه سفارشی فعال کنید
شما ممکن است ERRO را بدست آورید “اولیه سازی Cheerleaders شکست خورده است: DataCloneError: انجام” Postmessage “در” کارگر اختصاصی WorklobalScope “انجام نشد: انتقال به اشتراک گذاری ArarrayBuffer نیاز به self.crossoriginisolated دارد.”

+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ده
| |
| WebVM یک محیط مجازی لینوکس است که از طریق WebAssembly در مرورگر کار می کند |
| |
| WebVM از موتور مجازی سازی Cheerleader استفاده می شود ، که اجازه می دهد تا ایمن باشد ، |
| اجرای مشتری Sandboxed از پرونده های باینری x86 ، کاملاً مشتری
| |
| Cheerpx شامل کامپایلر JIT x86 به sebasmbly ، یک بلوک مبتنی بر بلوک مجازی |
| سیستم فایل و شبیه ساز لینوکس Syscall |
| |
| [News] Cheerleader 1.0 رسما آزاد شد! |
| |
| https://cheerpx.io/blog/cx-10 |
| |
| Alpine/Xorg/I3 WebVM جدید را امتحان کنید: https://webvm.io/alpine.html |
| |
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ده
به WebVM خوش آمدید. اگر مطمئن نیستید ، این مثالها را امتحان کنید:
نمونه های Python3/python3/fibonacci.py
GCC -o Helloworld نمونه/c/helloworld.c && ./helloworld
objdump -d ./helloworld | کمتر -M
نمونه های VIM/C/HellOworld.c
curl-max-time 15 parot.live # نیاز به کار شبکه دارد
Cheerpx نتوانست شروع کند
انتظار می رود Cheerpx با آخرین نسخه های دسک تاپ Chrome ، Edge ، Firefox و Safari کار کند
نسخه دسک تاپ / مرورگر دیگر را امتحان کنید!
پیام خطای داخلی Cheerpx:
آغاز اولیه تشویق شکست خورد: DataCloneError: اجرای “Postmessage” در “اختصاصی WorkerGlobalScope” انجام نشد: انتقال SharedArrayBuffer به Self.crossoriginisolited نیاز داردحرف
بر اساس سؤالات متداول https://cheerpx.io/docs/faq ،
اگر پیام خطای زیر را ملاقات کردید:
به طور اولیه در مورد Cheerleaders: DataCloneError: SpeedicateWorkerGlobalScope.PostMessage: سایت SharedArrayBuffer نمی تواند سریال شود. برای اجازه دادن به این
این خطا به این دلیل رخ می دهد که cheerpx به SharedArrayBuffer متکی استکه نیاز به جداسازی سایت از مبدأ متقاطع دارد
S برای فعال کردن جداسازی متقاطع ، اطمینان حاصل کنید که سایت شما از طریق HTTPS سرویس داده می شود و در پاسخ های خود عنوان های زیر را روشن کنید:
ما یک دامنه شخصی را فعال خواهیم کرد و آن را در HTTPS کار می کنیم.
Cloudflare یک ضبط اضافه می کند.
NPM یک میزبان پروکسی جدید با HTTPS فعال شده اضافه کنید.
اکنون باید مطابق شکل زیر کار کند.

شبکه را فعال کنید
مرورگرهای مدرن API را برای استفاده مستقیم از TCP یا UDP ارائه نمی دهند. WebVM با ادغام با Tailscale ، یک شبکه VPN که از WebSockets به عنوان یک لایه حمل و نقل پشتیبانی می کند ، پشتیبانی شبکه را فراهم می کند.
- پنل شبکه را از نوار کناری باز کنید
- از پنل “تماس با دم” را کلیک کنید
- ورود به صف را وارد کنید (اگر یک حساب کاربری ندارید)
- هنگامی که توسط یک صف خوانده می شود ، روی “اتصال” کلیک کنید
- اگر با صف آشنا نیستید یا اطلاعات بیشتری می خواهید ، به WebVM و Tailscale مراجعه کنید.
برای رفتن به یک صف ، روی نماد شبکه بی سیم پانل سمت چپ کلیک کنید:


پس از اتصال ، خواهید دید که یک آدرس IP به VM اختصاص داده می شود.

اکنون می توانید انجام دهید
- curl www.google.ca
- curl ip.sb
- curl-max-time 15 parot.live
- SSH
اما بدون پینگ ، بدون ردیابی
لیست سرورهای SFTP آنلاین رایگان
| وب | بررسی کردن | نام میزبان | ورود | اظهار |
|---|---|---|---|---|
| وب | بررسی کردن | test.rebex.net:22 | نسخه ی نمایشی/رمز عبور | همچنین از پروتکل های SSH ، FTP/SSL ، FTP ، IMAP ، POP3 و زمان پشتیبانی می کند. فقط بخوانید |
| وب | بررسی کردن | itcsubmit.wustl.edu:22 | جدید | فقط برای آزمون تماس هیچ نام کاربری/رمزعبور عمومی در دسترس نیست. |
| وب | n/a | demo.wftserver.com:2222 | نسخه ی نمایشی/تظاهرات | همچنین از FTP/SSL و FTP پشتیبانی می کند. |
ssh itcsubmit.wustl.edu
تظاهرات آنلاین سرور FTP بال
ما یک سرور نمایشی آنلاین ایجاد می کنیم تا ویژگی های جدید موجود در سرور Wing FTP را کشف کنیم. شما می توانید هر دو مدیریت مبتنی بر وب و یک مشتری مبتنی بر وب را کشف کنید.
اداره ایمن وب مبتنی بر وب:
مشتری ایمن مبتنی بر وب:
با مشتری FTP ، FTPS ، SFTP با مشتری خود وارد شوید:
- مکان: demo.wftserver.com
- نام کاربری: تظاهرات
- رمز عبور: تظاهرات
- درگاه FTP: 21
- درگاه FTPS: 990
- درگاه SFTP: 2222
اظهار: همه حساب های نسخه ی نمایشی فقط حساب های خواندن هستند ، بنابراین شما نمی توانید تنظیمات سرور را تغییر دهید.
نسخه رایگان GCP
مورد نیاز برای محاسبه موتور رایگان
- 1 بی سابقه
e2-microنسخه VM در هر ماه در یکی از مناطق زیر ایالات متحده:- اورگان:
us-west1 - آیووا:
us-central1 - کارولینای جنوبی:
us-east1
- اورگان:
- دیسک دائمی استاندارد 30 گیگابایتی
- 1 گیگابایت انتقال داده های خروجی از آمریکای شمالی به کلیه مقصد های منطقه (به استثنای چین و استرالیا) در هر ماه


فایل تصویری خود را بسازید
به عنوان مثال ، بیایید از پرونده debian_mini به عنوان کپی استفاده کنیم.
FROM --platform=i386 i386/debian:buster
ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get clean && apt-get update && apt-get -y upgrade
RUN apt-get -y install apt-utils gcc \
python3 vim unzip ruby nodejs \
fakeroot dbus base whiptail hexedit \
patch wamerican ucf manpages \
file luajit make lua50 dialog curl \
less cowsay netcat-openbsd
RUN useradd -m user && echo "user:password" | chpasswd
COPY --chown=user:user ./examples /home/user/examples
RUN chmod -R +x /home/user/examples/lua
# We set WORKDIR, as this gets extracted by Webvm to be used as the cwd. This is optional.
WORKDIR /home/user/
# We set env, as this gets extracted by Webvm. This is optional.
ENV HOME="/home/user" TERM="xterm" USER="user" SHELL="/bin/bash" EDITOR="vim" LANG="en_US.UTF-8" LC_ALL="C"
RUN echo 'root:password' | chpasswd
CMD [ "/bin/bash" ]
لیست دستورات:
- git کلون https://github.com/leaningtech/webvm
- cd webvm
- MV Dockerfiles/debian_mini dockerfile
- docker build -t mywebvm.
root@instance-webvm:~/webvm# mv dockerfiles/debian_mini Dockerfile
root@instance-webvm:~/webvm# docker build -t mywebvm .
DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
Install the buildx component to build images with BuildKit:
https://docs.docker.com/go/buildx/
Sending build context to Docker daemon 3.584kB
Step 1/11 : FROM --platform=i386 i386/debian:buster
buster: Pulling from i386/debian
دسک تاپ WebVM
https://webvm.io/alpine.html

ابتدا با Tail Net تماس بگیرید. لطفاً اطمینان حاصل کنید که خروجی پیکربندی شده دارید.
- https://youtu.be/lhybu3y_0rs
شلیک – ترمینال – SU
رمز عبور یک رمز عبور است
سیاه پوست من متن مرورگر وب. حال ، بیایید آن را نصب کنیم. مرورگرهای دیگر برای این VM کوچک بسیار سنگین هستند.
به روزرسانی APK
APK سیاهگوش اضافه کرد
Lynx www.google.ca

به دلیل محدودیت منابع ، Firefox را می توان با موفقیت در لینوکس نصب کرد اما قادر به شروع نیست.
فیلم
https://www.youtube.com/watch؟v=-tv9jupyl8a
ادبیات
- https://the-walking-fish.com/p/webvm/
- https://www.youtube.com/watch؟v=jtknhxoxx0
- https://sredevops.org/en/how- to-run-a-linux-desktop-in-your-wrowser-webvm-2-0-webssembly-is- پاسخ/
- https://www.youtube.com/watch؟v=tgjqmfxw1jo




