Skip to content
This repository

Official Privly Reference Implementation Content Server - Stores Information for Private Viewing of Content Via Any Website

README.mkd

About

Privly is a developing set of browser extensions for protecting content wherever it is posted on the internet. It allows users to view content on any website, without the host site being able to read the content. This content server is meant to store content for users with a Privly extension, but it also provides support for extension-less operation using the Privly Applications.

For more information on what Privly is, read about us.

Development Status

Alpha

For information about our development path, please see the central wiki.

The Privly-Web content server is currently maintained by Sean McGregor, on behalf of the Privly Foundation.

About this Content Server

This server currently supports:

  • All the applications found in the Privly Applications repository.
  • Serialized JSON storage for any text content.
  • Sharing by email, domain, and IP Address.

Server API

Read about the API.

Development Server Installation

Prerequisites:

  • Ruby 1.9.2+ (Ruby 2.* is not recommended due to gem conflicts)
    • To check what version of Ruby you are running, type ruby --version in your terminal
    • To update/install Ruby, check out the Ruby website
  • Bundler

These shell commands step through a standard installation.

# Clone this repository and the privly-applications repository.
# The `--recursive` flag ensures you get the privly-applications
# repository.
git clone --recursive https://github.com/privly/privly-web.git
cd privly-web

# You need to setup a database. For a development install you should use
# option 1 since you will not need to setup MySQL.
# Option 1: SQLite.
    cp config/database.yml.sqlite.example config/database.yml
    emacs gemfile # or use the editor of your choice on gemfile
    # uncomment the gemfile line: gem 'sqlite3'
    # comment the gemfile line: gem 'mysql2'
# Option 2: MySQL.
  cp config/database.yml.mysql.example config/database.yml
  # Edit the database.yml file appropriately

# Run installation scripts
bundle install #Installs the required gems
rake db:create #Creates the Database
rake db:schema:load #Loads the Scheme
rake db:seed #Seeds the DB
rails server #Starts the server

Managing Users

The seed file (run with rake db:seed) will create several users for you in development, including: admin@priv.ly, demonstration@priv.ly, development@priv.ly. All these accounts have the same password, password. Use the admin account to login to the admin interface found at /admin. Use the development or demonstration accounts for other purposes.

User Account States
User accounts could be in one of several states:

  1. Signed up for an invitation: When a user submits their email to the invitation form, they do not automatically get an active account. You can invite the user via the administrative interface, or a user who has invitation credits can invite the user at a later date.
  2. Invited: A user who has been invited by an administrator or a user with invitation credits has been "invited." They need to verify their email address before they may begin creating content.
  3. Can Post: The user can create content on the server. This is usually the state after the user has verified their email address and has paid whatever toll they need to support hosting expenses.
  4. Can't Post: In order to create new content on the server, a user must have posting permission. You will only generally use this option if the user is abusing the content server or not contributing enough to hosting costs. There is no option for locking a user account completely, because they should maintain access to content they have already created.

Retrieving User Account Activation Tokens
You can retrieve emails when you are running a development server by examining the web server's log.

Testing/Submitting Bugs

If you have discovered a bug, only open a public issue on GitHub if it could not possibly be a security related bug. If the bug affects the security of the system, please report it privately at privly.org. If it is an urgent issue, please email privly@privly.org. We will then fix the bug and follow a process of responsible disclosure.

Developer Documentation

Discussion of system concepts and high level processes are found in the central wiki.

Resources

Foundation Home
Privly Project Repository List
Development Mailing List
Testing Mailing List
Announcement Mailing List
Central Wiki
Submit a Bug
IRC
Production Content Server
Development Content Server
Download Extension

Contacts

Email:
Community [the 'at' sign] privly.org

Mail:
Privly
PO Box 79
Corvallis, OR 97339

IRC:
Contact the Nick "smcgregor" on irc.freenode.net #privly

Issue:
If you open an issue on this repository, you'll get someone's attention.

Something went wrong with that request. Please try again.