# The Owner Free File System

Home of the world's first Bightnet. Own nothing. Access everything!

![](/files/-LOguijlluzoySh13LsW)

## Introduction

The Owner Free File System (OFF System)(OFFS) is the world's first "brightnet". It facilitates legal data sharing activity over its network through the use of its ingenious data storage mechanisms. This allows it to perform its operations in the open without divulging the privacy, intent, or security of its network participants. The storage mechanism is unique in that it never stores whole files but instead stores completely random data blocks which contain large randomly generated numbers.  These blocks have no discrete mapping to any single file but instead are shared by infinite combinations of data representations that are arbitrarily created by its users.  This creates a universal public storage cloud with similar properties as national public radio or public broadcasting. Unlike torrents who’s life span stems from the popularity of individual files, files represented in the off system are constantly extending their availability as new files are being represented. Because no one can own mathematics or numbers neither can users own the blocks of data thus making the file system "owner free". The key to retrieving a file from the network is the URL for the data representation created by its importer. This provides the variables to the equation for file retrieval and can be accessed by any web browser or HTTP client. No tangible works, files, or copyrighted materials cross the network boundaries nor are they contained by the local storage maintained by the application nodes.

## Current Work

The current implementation is being maintained by Prometheus: The Social Currency Network on Github at <https://github.com/Prometheus-SCN/js-offs>

## Prior Work

The original implementation is credited to The Big Hack  and an older version can be found on SourceForge at <https://sourceforge.net/projects/offsystem/>


# Installation

Install The Owner Free File System for Mac, Windows,  and Linux

## Installation for Windows

1. Download the most recent version of the windows `EXE` from the Github Release Page: <https://github.com/Prometheus-SCN/js-offs/releases>
2. Open Installer and follow its prompts

## Installation for MacOS

1. Download the most recent version of the Mac `DMG` file from the Github Release Page: <https://github.com/Prometheus-SCN/js-offs/releases>
2. Open the `DMG` file from your file system
3. Drag contents to the Application directory

## Installation for Linux

1. Download the most recent version of the Linux `AppImage` file from the Github Release Page: <https://github.com/Prometheus-SCN/js-offs/releases>
2. &#x20;From the terminal, make the `AppImage` executable with the command replacing `<version>` and `<arch>` with that of your chosen linux release`$ chmod a+x OFF_System_<version>_linux_<arch>.AppImage`
3. Run `$ ./OFF_System_<version>_linux_<arch>.AppImage`


# Configuration

Configure your optional settings

### Opening the configuration window&#x20;

The configuration window may be opened by right clicking on the Off System logo in your computer's tray and selecting `configuration` from the menu.

## Bootstrap

Peers are predominantly discovered arbitrarily as a result of searches for content. The bootstrap section of the configuration window determines the peers hat your node will attempt to make connections with upon start up and during maintenance.  **Having no bootstrap peers will inhibit a node from making connections when searching for content**.

#### Adding a Bootstrap Peer

1. &#x20;Obtain the `locator` of the Peer you wish to bootstrap
2. Paste the  `locator` text into the text field labeled `Locator`
3. Click the `add` button

#### Removing a Bootstrap Peer

1. Find the row with the  `Node ID`  of the desired peer in the table
2. Click the `x` icon on the furthest right portion of the row

#### Boostrapping to Last Known Connections

This feature will upon restart attempt a best effort restoration of your node's most recent connections before it went offline.

1. Check the checkbox labeled `Bootstrap to last known connections`

## Network

The network section of the configuration defines how your node will make connections to other peers as well as http clients. Your may need to configure your router or firewall to allow port forwarding for the ports listed in this configuration. By default peer connections are received on port `8200` and http clients are received on `23402`.

| Configuration Option            | Description                                                                                                                                                      |
| ------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Start Port                      | Defines the TCP port peer connections will be received on                                                                                                        |
| Port Retries                    | Defines how many time a node will attempt to reserve a port before failure                                                                                       |
| HTTP Port                       | Defines the port that the http server will accept connections on                                                                                                 |
| Socket Timeout                  | Defines how long a connection can sit idle before failure occurs                                                                                                 |
| Use Internal IP for Connections | Defines whether to use internal network ip's only to define the node's peer location. This option may prevent connections to nodes outside your internal network |

## Storage

The storage section of the configuration defines the size and location parameters of each of the node's block caches. There are three type of blocks in the system block, mini, and nano. Files that are over 128kb stored in the block cache. Files between 128kb and 1000b are store in the mini cache. Files less than 1000b are stored in the nano cache. You may want to size the storage of each cache based upon your usage of the node. **Block Cache's are not free space and the network will try to fill or empty themselves based upon network usage and the size limitations created by their node's installers**.

| Configuration Option                     | Description                                           |
| ---------------------------------------- | ----------------------------------------------------- |
| Cache Location                           | The location of your cache on your local file system  |
| <p>Block Cache Storage Size<br></p>      | The size of your cache in mb for storing 128kb blocks |
| Mini Block Cache Storage Size            | The of your cache in mb for storing 1kb blocks        |
| <p>Nano Block Cache Storage Size<br></p> | The size of you cache for storing 136b blocks         |

###


