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.
Alpha
The Privly-Web content server is currently maintained by Sean McGregor, on behalf of the Privly Foundation.
This server currently supports:
- All the applications found in the Privly Applications repository.
- Serialized JSON storage for any text content.
Server API
Read about the API.
Prerequisites:
- Ruby 2+
- 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, you may need to add "sudo" in front of command
rake db:create #Creates the Database
rake db:schema:load #Loads the Scheme
rake db:seed #Seeds the DB
rails server #Starts the server
The seed file (run with rake db:seed
) will create several users for you in development, including: [email protected]
, [email protected]
, [email protected]
. 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:
- 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.
- 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.
- 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.
- 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 for Development Server
You can retrieve emails by examining the web server's log that is usually printed in the console that launched the web server.
If you have discovered a bug, only open a public issue on GitHub if it could not possibly be a security related bug. If it is an urgent issue, please email [email protected]. We will then fix the bug and follow a process of responsible disclosure if it is a security bug.
Developers should start with the development guide. We also have a central wiki and a blog.
Foundation Home
Privly Project Repository List
Development Mailing List
Testing Mailing List
Announcement Mailing List
Central Wiki
Production Content Server
Development Content Server
Download Extension
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.