245 Commits

Author SHA1 Message Date
James Valleroy
7d80c95048 ikiwiki: Fix indentation in setup automators. 2015-07-13 19:50:58 +05:30
James Valleroy
9c717246ee deluge: Install apache conf file during Plinth install. 2015-06-26 17:34:37 +05:30
James Valleroy
be14b49c83 ikiwiki: Install conf files during Plinth install. 2015-06-26 17:34:37 +05:30
Sunil Mohan Adapa
19301e541e roundcube: New app for web based email client 2015-06-07 17:41:51 -04:00
Sunil Mohan Adapa
56c732ab10 privoxy: New web proxy application 2015-05-27 22:46:57 +05:30
James Valleroy
128aa42873 xmpp: Enable jwchat apache conf after install. 2015-05-24 17:25:54 +05:30
James Valleroy
1055787be2 Merge remote-tracking branch 'sunil/network-manager-glib' 2015-05-16 13:18:20 -04:00
James Valleroy
44b045fef7 Merge remote-tracking branch 'fonfon/pagekite-augeas-new' 2015-05-16 10:35:58 -04:00
Sunil Mohan Adapa
51e6aa3df6 deluge: Rename from bittorrent to deluge
- There could be multiple applications for the same functions.  Although
  in the interface we should we show generic names like 'BitTorrent', we
  could use specific names in the backend.

- There is already a bittorrent client: Transmission.
2015-05-10 10:08:06 +05:30
James Valleroy
55a8b445ad Add BitTorrent module (deluge-web). 2015-05-07 19:37:58 +05:30
Sunil Mohan Adapa
ef17bd8306 networks: Use libnm instead of python-networkmanager 2015-05-05 16:00:25 +05:30
fonfon
cf96797040 pagekite action: Use augeas pagekite lens
And allow setting any server as pagekite frontend.
2015-05-03 09:44:45 +02:00
Sunil Mohan Adapa
69adf1cfc5 transmission: Run from behind Apache
- Introduce Apache configuration for plinth.

- Remove Transmission service file for firewalld.

- Enable transmission on install.

- Enable/disable Apache configuration on Transmission on enable/disable.

- Remove IP address whilelisting as 127.0.0.1 is the default setting and
  is sufficient for Apache to reverse proxy.

- Update UI URL.
2015-05-01 19:00:56 +05:30
Sunil Mohan Adapa
f94d0d5414 transmission: New module for BitTorrent downloads 2015-05-01 18:52:17 +05:30
James Valleroy
fbce204180 Add ikiwiki module with initial setup and option to enable site. 2015-04-13 20:43:07 +05:30
Sunil Mohan Adapa
e09018fe9a Fix issues with configuration/parameters loading
- Change default server directory from plinth/ to /plinth as the program
  expects.

- First load the values from configuration file and then override them
  with command line parameters.

- Show default values on the command line help.

- Use configuration file values as default values to command line
  parameters.

- Log the value of script prefix (server_dir) for easy debugging.

- Make sure the server_dir is properly loaded from configuration files.
2015-04-07 22:43:25 +05:30
Sunil Mohan Adapa
2a83f29b8b Add systemd service file
- When running in an environment without systemd, the changes are completely
  ignored.

- When running under systemd, the patch introduces a systemd native service
  file to take advantages of nice feature provided by systemd.

- One of the feature currently taken advantage of is the ability to restart the
  service automatically if it ever crashes or exits with error.

- Another feature is that when we wish to kill Plinth all the processes under
  the cgroup are killed as well.
2015-04-07 22:43:25 +05:30
Sunil Mohan Adapa
6a605f777c network: Disable networks module until python3-networkmanager is available 2015-04-06 22:21:29 +05:30
James Valleroy
9b201a2daf Rename network module to networks.
Move networkmanager helper functions into a new file.
Add some network tests.
2015-04-06 22:21:28 +05:30
James Valleroy
6ad1fb9ce7 Network connection list and delete 2015-04-06 22:21:28 +05:30
Sunil Mohan Adapa
2028a63deb mumble: Add new module for installing, enabling/disabling 2015-03-28 16:02:39 -04:00
James Valleroy
af94194b7a Merge remote-tracking branch 'steglicd/dynamicdns' 2015-03-26 16:02:07 -04:00
James Valleroy
80eff7fd6e Add upgrades module that can run unattended-upgrades. 2015-01-28 19:50:26 +00:00
Daniel Steglich
0f66b22a4a refactored naming from dynamicDNS to lowercase dynamicdns 2015-01-04 18:53:39 +00:00
Daniel Steglich
56208e007d added a module and a action script to manage ez-ipupdate tool, which provides dynamic IP updates to a gnudip dynamic DNS Server 2015-01-04 12:14:23 +00:00
Sunil Mohan Adapa
90203986f2 Remove modules 'expert_mode' and 'lib'.
The login/logout URLs are now in the 'users' module.
2014-12-14 17:26:05 +05:30
Sunil Mohan Adapa
9d6e17660d For SSL redirection, use 301 permanent 2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
e2ca5e0f12 Rewrite Apache configuration files
- Don't hijack the entire SSL site for sake of Plinth.

- Serve both HTTP and HTTPS sites with default configuration.

- plinth-ssl configuration only make SSL compulsory.

- Document modules required for configuration to work properly.

- Don't disable default site during FreedomBox setup run.  This is no
  longer required.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
1b6969a8a6 Rethink how proxied headers are handled
- Request Apache to send X-Forwarded-Proto header.

- Use X-Forwarded-Proto header to understand original protocol
  requested.

- Use X-Forwarded-Host header to understand original host requested.

- Allow any incoming host header so that FreedomBox can have any
  hostname and when user requests for Plint with that hostname, it
  works.

- Don't depend on Apache to rewrite the Location: header.  Instead use
  the original host and original scheme to set proper Location: header.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
eec249d006 Don't preserve Host header during Apache proxying
When Apache proxy forwards a request it usually makes the request to the
backend server with a new Host: header but sends the original host
information using a special header X-FORWARDED-HOST: header.  It is a
common practise.  The backend can be make the choice of which header to
use based on the knowledge that it is running behind a proxy server.

Since hostname of a FreedomBox machine could be anyting and it could
change during the operation of Plinth, having a list of incoming Host:
header values is not going to be easy in Plinth.  If Apache were not to
force override this header, managing list of Host: header values will
become easiler in Plinth.  If Plinth indeed wants to know the original
host name by which user refferred to it, it can use the
X-FORWARDED-HOST: header which is the norm in these situtations.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
5d79ad6dc5 Don't service static files directly from Apache
We are allowing modules to bring their own static content.  If we need
to configure Apache to serve static URLs directly, Apache will have know
all the static URLs generated by all the modules.  If these details are
provided, it will likely effect our modularity.

The current static URL given in Apache configuration is anyway
incorrect.
2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
1e317cfb37 Allow more local IP addresses in Apache configuration 2014-11-30 15:11:50 +05:30
Sunil Mohan Adapa
5b969d9d30 Explicitly write license headers for each source file
The package license (AGPL3+) implicitly indicates the license of each
file.  However, it is desirable to have license headers in each file.
This is the case for many prominent projects like GNU project, Mozilla
etc.
2014-11-30 14:49:49 +05:30
Sunil Mohan Adapa
cc549fff61 Load modules using explict paths instead of config file name 2014-10-04 13:41:27 +05:30
Sunil Mohan Adapa
9e0d08e49d Move enabled modules list to configuration directory 2014-10-04 13:41:26 +05:30
Sunil Mohan Adapa
42d05bfe1f Use Django models to store variables
- Remove dependency on withsqlite and use Django models.
  This avoids depending on a module that is not available in PyPi.
  Withsqlite does not have Python3 support. It does not work when
  we choose a different database backend. Atleast partly duplicates
  what Django models are meant for.

- Check and update database schema on every run so that
  newly added modules can add tables and old ones can update.
2014-09-10 12:35:35 +05:30
Sunil Mohan Adapa
f243dfa3ab Allow running from working directory 2014-08-31 16:32:11 +05:30
Sunil Mohan Adapa
4625bc55df Remove unused user_dir config variable 2014-08-31 16:23:50 +05:30
Sunil Mohan Adapa
9d296a6270 Update name of PID file to plinth.pid 2014-08-31 13:09:37 +05:30
Sunil Mohan Adapa
8a6bf129f3 Fix file_root in installed plinth.config 2014-08-31 13:09:14 +05:30
Sunil Mohan Adapa
33f8015835 Make the help module read documentation directory from config 2014-08-31 13:07:00 +05:30
Sunil Mohan Adapa
e6dbcdccaa Move all misc files under misc directory 2014-08-30 09:38:24 +05:30
James Valleroy
31ffed9323 Remove users database and folder. The user db will be generated in firstboot. 2013-11-20 20:45:17 -05:00
James Vasile
d082538aee move to sqlite3 + json dict storage for users 2012-02-19 15:07:13 -05:00
James Vasile
35071d7212 ... 2011-02-22 13:32:45 -05:00