Files
pornOS/README.md
T

154 lines
6.4 KiB
Markdown

# pornOS - The Most Miserable Operating System Ever
```
____ ____ _____ _____ ______
| _ \ ___ ___| _ \| __ \/ _ \ \/ / ___|
| |_) / _ \/ __| |_) | | | | | | \ /| _|
| __/ __/\__ \ _ <| |__| | |_| / \| |___
|_| \___||___/\_\ \_\_____/ \___/_/\_\____|
```
pornOS is a deliberately miserable, fully joke GNU/Linux distribution.
Do not use this for anything real. We're not even sure it works.
## Requirements Status
| # | Requirement | Status |
|---|-------------|--------|
| 1 | Package manager `porn`, hybrid compile+binary, `.pornpkg` format, written in **Holy Porn** | ✅ `pornpkg` |
| 2 | TUI install, fastfetch logo = Pornhub logo in ASCII | ✅ `porninstaller.py` |
| 3 | Miserable to use, working ISO, install script, custom init `porn` | ✅ `porn` init, installer, `build-pornos.py` |
| 4 | No glibc/musl, uses `pornlibc` | ✅ `usr/lib/pornlibc/libporn.so` |
| 5 | Lightweight | ✅ (pure Python + shell + own FS) |
| 6 | Very porn | ✅ obviously |
| 7 | `ctrl+p` opens `porncli` (CLI) / `pornGUI` (browser to Pornhub) | ✅ |
| 8 | Every 20 min plays "Misery" by Pupsies | ✅ `misery-daemon` |
| 9 | Miserable working OS | ✅ |
| 10 | Kernel `linux-very-hardened` (linux-hardened + bore), genuine ass, `xvideos` instead of sudo | ✅ `xvideos` |
**Bonus (no archiso, no ext4):** we wrote our own filesystem called **cum**
(`src/cumfs/`) and use our own tools + `porn` init + own bootloader config.
Your drive is cum.
## Components
### Holy Porn (language)
`src/holyporn/holyporn.py` - the official esoteric language of pornOS.
All system utilities (the package manager) are written in it.
Syntax highlights:
- `porn x = 6` - declare
- `sexy("hi")` - print
- `naked foo(a): { }` - define function
- `erect cond: { } limp: { }` - if/else
- `wet i 5: { }` - for loop
- `thrust()` - return
- `creampie(a,b)` add, `gangbang(a,b)` multiply, `cuckold(a,b)` subtract, `smut(a,b)` divide
- `missionary(file)` import, `jack(cmd)` run shell, `finger()` input
- `husl` / `bonk` - program start/end
- `prostate()` - system info
Holy Porn is a prefix-notation (s-expression-like) language, compiled/interpreted
to Python, for maximum misery.
### pornlibc (requirement #4)
`src/pornlibc/libporn.c` + `Makefile` - pornOS's own standard library. No
glibc/musl. A tiny, auditable shared object (`libporn.so`) exporting
`porn_write`, `porn_read`, `porn_exit`, string helpers, a minimal `porn_printf`,
and version queries. Built with `make` on a real host
(`sudo make install` -> `/usr/lib/pornlibc/libporn.so`). When the build host
has no compiler, the pipeline ships a stub so pornOS always boots.
### pornpkg (package manager)
`src/pornpkg/pornpkg` written entirely in Holy Porn.
Hybrid package manager supporting install/remove/search/list/upgrade/update/clean/info.
### porncli / pornGUI
`src/porncli/porncli.py` - full TUI shell tool with many themed commands
(proton, protonvpn, nsfw, nakedpics, stripclub, hentai, gangang, camgirl,
dominatrix, exhibitionist, voyeur, onlyfan, roleplay, fetish, latex, etc.)
`src/pornGUI/pornGUI.py` - opens the browser with a Pornhub page.
Both are bound to `ctrl+p` via `src/scripts/pornsh`.
### cum filesystem
`src/cumfs/` - our own filesystem that replaces ext4. Your drive is cum.
- `include/cumfs.h` - on-disk format spec (superblock, inode table, data region)
- `mkfs.cum` (Python) + `mkfs.cum.c` (reference C impl) - build a cum image
- `cum-ls` - inspect / extract / `--info` a cum image
- `cumfs.c` + `Makefile` - in-kernel Linux VFS driver (`mount -t cum`)
cum is read-only, flat, simple and pure. Just like it sounds.
### porn (init)
`src/porninit/porn` - custom init replacing systemd. Handles initramfs
pivot + real-root bring-up: mounts core filesystems, mounts the cum root,
loads udev, starts the misery daemon, sets hostname, spawns agetty.
### xvideos (sudo replacement)
`src/xvideos/xvideos` - the only way to get root on pornOS.
`xvideos pacman -S vim`, `xvideos -u root bash`, etc.
### misery-daemon
`src/misery-daemon/misery-daemon` - plays "Misery" by Pupsies every 20 minutes
(1200 seconds). Includes an init script for completeness.
### porninstaller
`src/installer/porninstaller.py` - TUI installer with the Pornhub-ascii logo,
GPT partitioning, cum formatting, the pornOS userland, kernel, init, and boot
setup. No pacstrap, no archiso - our own components end to end.
### linux-very-hardened (kernel)
`src/kernel/` - the custom pornOS kernel, requirement #10:
**linux-hardened + BORE, genuine ass**. It's `linux-hardened` in spirit
(hardening `.config` + lockdown LSMs + memory hardening) and ships the
**BORE (Burst-Oriented Response Enhancer)** EEVDF scheduler. See
`src/kernel/README.md` and `src/kernel/docs/HARDENING.md` for the full
decision log and a per-switch table of what's hardened and why.
Built on a real build host via `src/kernel/scripts/build.sh` (no compiler
exists inside pornOS itself), producing `vmlinuz-linux-very-hardened` plus
`System.map` and `config-`. BORE is a runtime toggle:
`sysctl kernel.sched_bore`. On boot `porn-init` prints the BORE banner so you
know the "very hardened" claim isn't a placebo.
## Build / Test (NO archiso)
`build/build-pornos.py` assembles the pornOS userland, packs it into a cum
filesystem image, builds a cpio initramfs, and produces a bootable El Torito
ISO with the host tools (xorriso / mkisofs / genisoimage + syslinux). The
`.cum` rootfs image and initramfs are always produced even without ISO tools.
```bash
# Run the holy porn test suite
python3 src/holyporn/holyporn.py tests/test.hp
# Full no-archiso build -> build/pornos.cum, build/initramfs.cpio.gz, build/pornos-live.iso
python3 build/build-pornos.py
# Inspect the cum image
python3 src/cumfs/cum-ls --info build/pornos.cum
python3 src/cumfs/cum-ls build/pornos.cum
```
Needs a kernel image at `/boot/vmlinuz-linux-very-hardened` for the ISO, and
`xorriso`/`mkisofs`/`genisoimage` + syslinux on the build host for the ISO step.
The cum rootfs does not need any of that.
## Quick demo (without arch)
```bash
python3 src/holyporn/holyporn.py tests/test.hp
./src/pornpkg/pornpkg list
./src/xvideos/xvideos --version
python3 src/porncli/porncli.py # then type 'proton', 'exit'
```
## Disclaimer
This is a joke. pornOS is not a real, secure, or usable operating system.
While `xvideos` accepts any password and there's no firewall, that's exactly
the point: it is *very porn* and *very miserable*. Don't run it on real hardware.
Use a VM. Safer: don't use it at all.