aboutsummaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/.gitignore10
-rw-r--r--data/PubSubHubbub/feeds/.gitignore3
-rw-r--r--data/PubSubHubbub/feeds/README.md7
-rw-r--r--data/PubSubHubbub/keys/.gitignore1
-rw-r--r--data/PubSubHubbub/keys/README.md4
-rw-r--r--data/config.default.php149
-rw-r--r--data/do-install.txt0
-rw-r--r--data/force-https.default.txt7
-rw-r--r--data/log/.gitignore1
-rw-r--r--data/persona/.gitignore1
-rw-r--r--data/shares.php92
-rw-r--r--data/tokens/.gitignore1
-rw-r--r--data/tokens/index.html (renamed from data/log/index.html)0
-rw-r--r--data/users/.gitignore5
-rw-r--r--data/users/_/config.default.php75
-rw-r--r--data/users/index.html (renamed from data/persona/index.html)0
16 files changed, 348 insertions, 8 deletions
diff --git a/data/.gitignore b/data/.gitignore
index afb16d9aa..76314fc12 100644
--- a/data/.gitignore
+++ b/data/.gitignore
@@ -1,8 +1,6 @@
-application.ini
config.php
-*_user.php
-*.sqlite
-touch.txt
+config.php.bak.php
+force-https.txt
+last_update.txt
no-cache.txt
-*.bak.php
-*.lock.txt
+update.php
diff --git a/data/PubSubHubbub/feeds/.gitignore b/data/PubSubHubbub/feeds/.gitignore
new file mode 100644
index 000000000..d8f9df042
--- /dev/null
+++ b/data/PubSubHubbub/feeds/.gitignore
@@ -0,0 +1,3 @@
+*/
+*/*.json
+*/*.txt
diff --git a/data/PubSubHubbub/feeds/README.md b/data/PubSubHubbub/feeds/README.md
new file mode 100644
index 000000000..a01a3197f
--- /dev/null
+++ b/data/PubSubHubbub/feeds/README.md
@@ -0,0 +1,7 @@
+List of canonical URLS of the various feeds users have subscribed to.
+Several users can have subscribed to the same feed.
+
+* ./base64url(canonicalUrl)/
+ * ./!hub.json
+ * ./user1.txt
+ * ./user2.txt
diff --git a/data/PubSubHubbub/keys/.gitignore b/data/PubSubHubbub/keys/.gitignore
new file mode 100644
index 000000000..2211df63d
--- /dev/null
+++ b/data/PubSubHubbub/keys/.gitignore
@@ -0,0 +1 @@
+*.txt
diff --git a/data/PubSubHubbub/keys/README.md b/data/PubSubHubbub/keys/README.md
new file mode 100644
index 000000000..bb1e57cd4
--- /dev/null
+++ b/data/PubSubHubbub/keys/README.md
@@ -0,0 +1,4 @@
+List of keys given to PubSubHubbub hubs
+
+* ./sha1(random + salt).txt
+ * base64url(canonicalUrl)
diff --git a/data/config.default.php b/data/config.default.php
new file mode 100644
index 000000000..433207a9c
--- /dev/null
+++ b/data/config.default.php
@@ -0,0 +1,149 @@
+<?php
+
+# Do not modify this file, which defines default values,
+# but edit `config.php` instead, after the install process is completed.
+return array(
+
+ # Set to `development` to get additional error messages,
+ # or to `production` to get only the most important messages.
+ 'environment' => 'production',
+
+ # Used to make crypto more unique. Generated during install.
+ 'salt' => '',
+
+ # Specify address of the FreshRSS instance,
+ # used when building absolute URLs, e.g. for PubSubHubbub.
+ # Examples:
+ # https://example.net/FreshRSS/p/
+ # https://freshrss.example.net/
+ 'base_url' => '',
+
+ # Specify address of the FreshRSS auto-update server.
+ 'auto_update_url' => 'https://update.freshrss.org',
+
+ # Natural language of the user interface, e.g. `en`, `fr`.
+ 'language' => 'en',
+
+ # Title of this FreshRSS instance in the Web user interface.
+ 'title' => 'FreshRSS',
+
+ # Meta description used when `allow_robots` is true.
+ 'meta_description' => '',
+
+ # Name of the user that has administration rights.
+ 'default_user' => '_',
+
+ # Allow or not visitors without login to see the articles
+ # of the default user.
+ 'allow_anonymous' => false,
+
+ # Allow or not anonymous users to start the refresh process.
+ 'allow_anonymous_refresh' => false,
+
+ # Login method:
+ # `none` is without password and shows only the default user;
+ # `form` is a conventional Web login form;
+ # `http_auth` is an access controled by the HTTP Web server (e.g. `/FreshRSS/p/i/.htaccess` for Apache)
+ # if you use `http_auth`, remember to protect only `/FreshRSS/p/i/`,
+ # and in particular not protect `/FreshRSS/p/api/` if you would like to use the API (different login system).
+ 'auth_type' => 'form',
+
+ # Allow or not the use of the API, used for mobile apps.
+ # End-point is http://example.net/FreshRSS/p/api/greader.php
+ # You need to set the user's API password.
+ 'api_enabled' => false,
+
+ # Allow or not the use of an unsafe login,
+ # by providing username and password in the login URL:
+ # http://example.net/FreshRSS/p/i/?c=auth&a=login&u=alice&p=1234
+ 'unsafe_autologin_enabled' => false,
+
+ # Enable or not the use of syslog to log the activity of
+ # SimplePie, which is retrieving RSS feeds via HTTP requests.
+ 'simplepie_syslog_enabled' => true,
+
+ # Enable or not support of PubSubHubbub.
+ # /!\ It should NOT be enabled if base_url is not reachable by an external server.
+ 'pubsubhubbub_enabled' => false,
+
+ # Allow or not Web robots (e.g. search engines) in HTML headers.
+ 'allow_robots' => false,
+
+ # If true does nothing, if false restricts HTTP Referer via: meta referrer origin
+ 'allow_referrer' => false,
+
+ 'limits' => array(
+
+ # Duration in seconds of the login cookie.
+ 'cookie_duration' => 2592000,
+
+ # Duration in seconds of the SimplePie cache,
+ # during which a query to the RSS feed will return the local cached version.
+ # Especially important for multi-user setups.
+ 'cache_duration' => 800,
+
+ # SimplePie HTTP request timeout in seconds.
+ 'timeout' => 15,
+
+ # If a user has not used FreshRSS for more than x seconds,
+ # then its feeds are not refreshed anymore.
+ 'max_inactivity' => PHP_INT_MAX,
+
+ # Max number of feeds for a user.
+ 'max_feeds' => 16384,
+
+ # Max number of categories for a user.
+ 'max_categories' => 16384,
+
+ # Max number of accounts that anonymous users can create
+ # 0 for an unlimited number of accounts
+ # 1 is to not allow user registrations (1 is corresponding to the admin account)
+ 'max_registrations' => 1,
+ ),
+
+ # Options used by cURL when making HTTP requests, e.g. when the SimplePie library retrieves feeds.
+ # http://php.net/manual/function.curl-setopt
+ 'curl_options' => array(
+ # Options to disable SSL/TLS certificate check (e.g. for self-signed HTTPS)
+ //CURLOPT_SSL_VERIFYHOST => 0,
+ //CURLOPT_SSL_VERIFYPEER => false,
+
+ # Options to use a proxy for retrieving feeds.
+ //CURLOPT_PROXYTYPE => CURLPROXY_HTTP,
+ //CURLOPT_PROXY => '127.0.0.1',
+ //CURLOPT_PROXYPORT => 8080,
+ //CURLOPT_PROXYAUTH => CURLAUTH_BASIC,
+ //CURLOPT_PROXYUSERPWD => 'user:password',
+ ),
+
+ 'db' => array(
+
+ # Type of database: `sqlite` or `mysql`.
+ 'type' => 'sqlite',
+
+ # MySQL host.
+ 'host' => 'localhost',
+
+ # MySQL user.
+ 'user' => '',
+
+ # MySQL password.
+ 'password' => '',
+
+ # MySQL database.
+ 'base' => '',
+
+ # MySQL table prefix.
+ 'prefix' => 'freshrss_',
+
+ 'pdo_options' => array(
+ //PDO::MYSQL_ATTR_SSL_KEY => '/path/to/client-key.pem',
+ //PDO::MYSQL_ATTR_SSL_CERT => '/path/to/client-cert.pem',
+ //PDO::MYSQL_ATTR_SSL_CA => '/path/to/ca-cert.pem',
+ ),
+
+ ),
+
+ # List of enabled FreshRSS extensions.
+ 'extensions_enabled' => array(),
+);
diff --git a/data/do-install.txt b/data/do-install.txt
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/data/do-install.txt
diff --git a/data/force-https.default.txt b/data/force-https.default.txt
new file mode 100644
index 000000000..044620098
--- /dev/null
+++ b/data/force-https.default.txt
@@ -0,0 +1,7 @@
+dailymotion.com
+feedburner.com
+gravatar.com
+gstatic.com
+tumblr.com
+wordpress.com
+youtube.com
diff --git a/data/log/.gitignore b/data/log/.gitignore
deleted file mode 100644
index bf0824e59..000000000
--- a/data/log/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.log \ No newline at end of file
diff --git a/data/persona/.gitignore b/data/persona/.gitignore
deleted file mode 100644
index 314f02b1b..000000000
--- a/data/persona/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-*.txt \ No newline at end of file
diff --git a/data/shares.php b/data/shares.php
new file mode 100644
index 000000000..1295a26ac
--- /dev/null
+++ b/data/shares.php
@@ -0,0 +1,92 @@
+<?php
+
+/*
+ * This is a configuration file. You shouldn't modify it unless you know what
+ * you are doing. If you want to add a share type, this is where you need to do
+ * it.
+ *
+ * For each share there is different configuration options. Here is the description
+ * of those options:
+ * - url is a mandatory option. It is a string representing the share URL. It
+ * supports 3 different placeholders for custom data. The ~URL~ placeholder
+ * represents the URL of the system used to share, it is configured by the
+ * user. The ~LINK~ placeholder represents the link of the shared article.
+ * The ~TITLE~ placeholder represents the title of the shared article.
+ * - transform is an array of transformation to apply on links and titles
+ * - help is a URL to a help page
+ */
+
+return array(
+ 'shaarli' => array(
+ 'url' => '~URL~?post=~LINK~&amp;title=~TITLE~&amp;source=FreshRSS',
+ 'transform' => array('rawurlencode'),
+ 'help' => 'http://sebsauvage.net/wiki/doku.php?id=php:shaarli',
+ 'form' => 'advanced',
+ ),
+ 'blogotext' => array(
+ 'url' => '~URL~/admin/links.php?url=~LINK~',
+ 'transform' => array(),
+ 'help' => 'http://lehollandaisvolant.net/blogotext/fr/',
+ 'form' => 'advanced',
+ ),
+ 'wallabag' => array(
+ 'url' => '~URL~?action=add&amp;url=~LINK~',
+ 'transform' => array(
+ 'link' => array('base64_encode'),
+ 'title' => array(),
+ ),
+ 'help' => 'http://www.wallabag.org/',
+ 'form' => 'advanced',
+ ),
+ 'wallabagv2' => array(
+ 'url' => '~URL~/bookmarklet?url=~LINK~',
+ 'transform' => array(
+ 'link' => array('rawurlencode'),
+ 'title' => array(),
+ ),
+ 'help' => 'http://www.wallabag.org/',
+ 'form' => 'advanced',
+ ),
+ 'diaspora' => array(
+ 'url' => '~URL~/bookmarklet?url=~LINK~&amp;title=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'help' => 'https://diasporafoundation.org/',
+ 'form' => 'advanced',
+ ),
+ 'movim' => array(
+ 'url' => '~URL~/?share/~LINK~',
+ 'transform' => array('rawurlencode', 'urlencode'),
+ 'help' => 'https://github.com/edhelas/movim',
+ 'form' => 'advanced',
+ ),
+ 'twitter' => array(
+ 'url' => 'https://twitter.com/share?url=~LINK~&amp;text=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ ),
+ 'g+' => array(
+ 'url' => 'https://plus.google.com/share?url=~LINK~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ ),
+ 'facebook' => array(
+ 'url' => 'https://www.facebook.com/sharer.php?u=~LINK~&amp;t=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ ),
+ 'email' => array(
+ 'url' => 'mailto:?subject=~TITLE~&amp;body=~LINK~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ ),
+ 'print' => array(
+ 'url' => '#',
+ 'transform' => array(),
+ 'form' => 'simple',
+ ),
+ 'jdh' => array(
+ 'url' => 'https://www.journalduhacker.net/stories/new?url=~LINK~&title=~TITLE~',
+ 'transform' => array('rawurlencode'),
+ 'form' => 'simple',
+ ),
+);
diff --git a/data/tokens/.gitignore b/data/tokens/.gitignore
new file mode 100644
index 000000000..2211df63d
--- /dev/null
+++ b/data/tokens/.gitignore
@@ -0,0 +1 @@
+*.txt
diff --git a/data/log/index.html b/data/tokens/index.html
index 85faaa37e..85faaa37e 100644
--- a/data/log/index.html
+++ b/data/tokens/index.html
diff --git a/data/users/.gitignore b/data/users/.gitignore
new file mode 100644
index 000000000..3705c06b7
--- /dev/null
+++ b/data/users/.gitignore
@@ -0,0 +1,5 @@
+*/
+*/config.php
+*/db.sqlite
+!_/
+*/log*.txt
diff --git a/data/users/_/config.default.php b/data/users/_/config.default.php
new file mode 100644
index 000000000..f28ef9724
--- /dev/null
+++ b/data/users/_/config.default.php
@@ -0,0 +1,75 @@
+<?php
+
+return array (
+ 'language' => 'en',
+ 'old_entries' => 3,
+ 'keep_history_default' => 50,
+ 'ttl_default' => 3600,
+ 'mail_login' => '',
+ 'token' => '',
+ 'passwordHash' => '',
+ 'apiPasswordHash' => '',
+ 'posts_per_page' => 20,
+ 'since_hours_posts_per_rss' => 168,
+ 'min_posts_per_rss' => 2,
+ 'max_posts_per_rss' => 400,
+ 'view_mode' => 'normal',
+ 'default_view' => 'adaptive',
+ 'default_state' => FreshRSS_Entry::STATE_NOT_READ,
+ 'auto_load_more' => true,
+ 'display_posts' => false,
+ 'display_categories' => false,
+ 'hide_read_feeds' => true,
+ 'onread_jump_next' => true,
+ 'lazyload' => true,
+ 'sticky_post' => true,
+ 'reading_confirm' => false,
+ 'auto_remove_article' => false,
+
+ # In the case an article has changed (e.g. updated content):
+ # Set to `true` to mark it unread, or `false` to leave it as-is.
+ 'mark_updated_article_unread' => false, //TODO: -1 => ignore, 0 => update, 1 => update and mark as unread
+
+ 'sort_order' => 'DESC',
+ 'anon_access' => false,
+ 'mark_when' => array (
+ 'article' => true,
+ 'site' => true,
+ 'scroll' => true,
+ 'reception' => false,
+ ),
+ 'theme' => 'Origine',
+ 'content_width' => 'thin',
+ 'shortcuts' => array (
+ 'mark_read' => 'r',
+ 'mark_favorite' => 'f',
+ 'go_website' => 'space',
+ 'next_entry' => 'j',
+ 'prev_entry' => 'k',
+ 'first_entry' => 'home',
+ 'last_entry' => 'end',
+ 'collapse_entry' => 'c',
+ 'load_more' => 'm',
+ 'auto_share' => 's',
+ 'focus_search' => 'a',
+ 'user_filter' => 'u',
+ 'help' => 'f1',
+ 'close_dropdown' => 'escape',
+ ),
+ 'topline_read' => true,
+ 'topline_favorite' => true,
+ 'topline_date' => true,
+ 'topline_link' => true,
+ 'bottomline_read' => true,
+ 'bottomline_favorite' => true,
+ 'bottomline_sharing' => true,
+ 'bottomline_tags' => true,
+ 'bottomline_date' => true,
+ 'bottomline_link' => true,
+ 'sharing' => array (
+ ),
+ 'queries' => array (
+ ),
+ 'html5_notif_timeout' => 0,
+ 'extensions_enabled' => array(),
+);
diff --git a/data/persona/index.html b/data/users/index.html
index 85faaa37e..85faaa37e 100644
--- a/data/persona/index.html
+++ b/data/users/index.html