mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-03-11 09:04:54 +00:00
I'm sure there are still some exploits in the code, but there are certainly fewer now. Instead of just executing whatever arguments are passed into privilegedactions.privilegedaction_run, we now limit the actions that can be run in the following ways: - Only actions that exist in the actions directory can be executed. Attempting to run the action "echo; rm -rf /" will look for a file named "actions/echo; rm -rf /", of which there are none. - Shell literals are escaped: attempting to run the "echo" action with options like "'hi'; rm -rf /") will echo "'hi'; rm -rf /". - It is difficult to interact with the spawned process through this interface. We can't control whether the spawned process allows interaction. The details of the contract are included in privilegedactions.py, and this contract is tested in privilegedactions_test.py.
…
% PLINTH(1) Version 0.1 | Plinth User Manual
%
% February 2011
# Introduction
## Name
plinth - a web front end for administering every aspect of a Freedom Box.
## Synopsis
plinth.py
## Description
The Freedom Box is a net appliance conceived by Eben Moglen. It
contains free software and is designed to allow you to interface with
the rest of the net under conditions of protected privacy and data
security.
The Plinth front end is a web interface to administer the functions of
the Freedom Box. For example, the Freedom Box is a wireless router,
and the front end is where you can adjust its settings.
## Overview
The front end is an extensible web platform for forms and menus. It
allows authenticated users to fill out forms. The interface saves the
form data and from them generates configuration files for the various
services running on the box.
The interface is pluggable. Drop modules into place to add new
capabilities to Plinth and your Freedom Box. Replace existing modules
to get newer, better shinier functions. The modules will
automatically integrate into the existing menu system so you can
control all of the box's parts from one central location.
The interface will eventually have a 'basic' and an 'expert' mode. In
basic mode, much of Plinth's configuration and capability are hidden.
Sane defaults are chosen whenever possible. In expert mode, you can
get down into the details and configure things the average user never
thinks about. For example, experts can turn off ntp or switch ntp
servers. Basic users should never even know those options exist.
## Getting Started
See the INSTALL file for additional details. Run:
$ make
Once make finishes, run Plinth on the local system with:
$ bash start.sh
Description
Easy to manage, privacy oriented home server. Read-only mirror of https://salsa.debian.org/freedombox-team/freedombox
Readme
Languages
Python
84.2%
HTML
9.4%
JavaScript
4%
CSS
1.1%
Augeas
0.7%
Other
0.4%