All Projects → minexew → Shrine

minexew / Shrine

Licence: other
A TempleOS distro for heretics

Projects that are alternatives of or similar to Shrine

Buckaroo
The decentralized package manager for C++ and friends 🏝️
Stars: ✭ 820 (-11.06%)
Mutual labels:  package-manager
Macports Ports
The MacPorts ports tree
Stars: ✭ 891 (-3.36%)
Mutual labels:  package-manager
Opam
opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
Stars: ✭ 905 (-1.84%)
Mutual labels:  package-manager
Cargo
The Rust package manager
Stars: ✭ 7,615 (+725.92%)
Mutual labels:  package-manager
P2p
Practice project to demonstrate p2p file sharing.
Stars: ✭ 16 (-98.26%)
Mutual labels:  networking
Tcp Connection Hijack Reset
Simple scapy-based tool to hijack and reset existing TCP connections
Stars: ✭ 17 (-98.16%)
Mutual labels:  networking
Kube Ovn
A Kubernetes Network Fabric for Enterprises that is Rich in Functions and Easy in Operations
Stars: ✭ 798 (-13.45%)
Mutual labels:  networking
Trafficengine
a high performance TCP traffic generator
Stars: ✭ 22 (-97.61%)
Mutual labels:  networking
Gleri
Network protocol, service, and API for using OpenGL remotely.
Stars: ✭ 16 (-98.26%)
Mutual labels:  networking
Titun
Simple, fast, and cross-platform IP tunnel written in Rust. WireGuard compatible.
Stars: ✭ 19 (-97.94%)
Mutual labels:  networking
Zerotierone
A Smart Ethernet Switch for Earth
Stars: ✭ 7,839 (+750.22%)
Mutual labels:  networking
Nexer
Content based network multiplexer or redirector made with love and Go
Stars: ✭ 7 (-99.24%)
Mutual labels:  networking
Gotit
Help You Got It (golang dependencies)
Stars: ✭ 19 (-97.94%)
Mutual labels:  package-manager
Xonotic Map Manager
A command line package manager for Xonotic community maps
Stars: ✭ 5 (-99.46%)
Mutual labels:  package-manager
Pavlos
A light-weight container runtime for Linux with NVIDIA gpu support, allows developers to quicky setup development environments for dev and test. Pavlos can emulate any Linux rootfs image as a container.
Stars: ✭ 22 (-97.61%)
Mutual labels:  networking
Nimble
Package manager for the Nim programming language.
Stars: ✭ 815 (-11.61%)
Mutual labels:  package-manager
Parcel
Cross-platform PowerShell package manager and provisioner
Stars: ✭ 17 (-98.16%)
Mutual labels:  package-manager
Diffios
Cisco IOS diff tool
Stars: ✭ 23 (-97.51%)
Mutual labels:  networking
Simpleunitytcp
🖧 Simple Unity Project to show how TCP communication are builded in C# without multi-threading or Unity network (Unet) involved.
Stars: ✭ 22 (-97.61%)
Mutual labels:  networking
Libraries.io
📚 The Open Source Discovery Service
Stars: ✭ 903 (-2.06%)
Mutual labels:  package-manager

Shrine is a TempleOS distribution full of sin.

Screenshot


Shrine aims to be 99% compatible with TempleOS programs, but also to improve OS in several ways:

  • Ease of use: Shrine ships with Lambda Shell, which feels a bit like a classic Unix command interpreter
  • Connectivity: TCP/IP stack & internet access out of the box
  • Software discovery: Shrine includes a package downloader

You can run Shrine in a virtual machine such as VirtualBox or QEMU, or on a machine compatible with standard TempleOS. Improvements in hardware support are planned and contributions are welcome.

Software included in Shrine:

  • Mfa (minimalist file access)
  • Lsh (Lambda Shell)
  • Pkg (package downloader)
  • Wget

Networking & host-VM communication

  • With a virtual AMD PCNet adapter (recommended)

    • configure your VM networking: Adapter Type: PCnet-PCI II (in QEMU: -netdev user,id=u1 -device pcnet,netdev=u1)
    • Attached to: NAT seems to be the most reliable setting, Bridged Mode also works somewhat
    • On boot, Shrine will automatically attempt to acquire an IP address. If you don't see a message about "Configuring network", the adapter was not detected.
  • Tunelled through serial port (Snail):

    • configure your VM: COM3 - TCP, server, 7777 (in VirtualBox, server = UNCHECK Connect to existing)
    • (make sure to disable networking for the VM, otherwise Native Stack will get precedence)
    • start the VM
    • run ./snail.py
    • you will now be able to access the Internet, try for example pkg-list
  • File access through Mfa:

    • configure your VM: COM1 - TCP, server, 7770
    • start /Apps/Mfa.HC.Z in the VM
    • on the host, use ./mfa.py to transfer commands and files
    • for example: ./mfa.py list /Apps/Mfa.HC.Z Mfa.HC

Networking and Mfa can be used simultaneously.

Package management functions

Note: In Lsh, use pkg-install xyz in place of PkgInstall("xyz") etc.

  • PkgList;

    List all packages available in the repository.

  • PkgInstall(U8* package_name);

    Download & install a specific package.

  • PkgInstallFromFile(U8* manifest_path);

    Manually install a downloaded package. Manifest must reference an existing .ISO.C path.

  • PkgMakeFromDir(U8* manifest_path, U8* src_dir);

    Build a package from directory contents. For an example manifest, check here. Manifest must reference a valid .ISO.C path which will be used as output!

  • PkgMakeFromFile(U8* manifest_path, U8* file_path);

    Build a package from a single file. See above for details.

See here for more information about how packages work.

Building from source

See here

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].