blob: cc8f06f3bd70ed60f13c53a6e300ff979fb97417 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
vim: set filetype=markdown:
# Description
Magma was originally designed and developed by Ladar Levison for lavabit.com. This Magma Classic release is the based on the development branch for Lavabit's service. Because we started with the development branch, some of the features and functions are unstable. It needs work. Happy hacking.
# Downloads
##### Magma Classic v6.0.1
https://darkmail.info/downloads/magma-classic-6.0.1.tar.gz
https://darkmail.info/downloads/magma-classic-6.0.1.tar.gz.sha512
5bbafc8778ef1da9a4afc1c8cb8b17dca19c98d370d9fbdbc1ee6f136abaed76a04d86df4d4b63660e4c79cc261d22fbca781e775f7db9ed83de9358c62fb681
##### Magma Development Machine, v1.0.0
https://darkmail.info/downloads/dark-mail-development-machine-1.0.0.tar.gz
https://darkmail.info/downloads/dark-mail-development-machine-1.0.0.tar.gz.sha512
https://darkmail.info/downloads/dark-mail-development-machine-1.0.0.torrent
88d38c8c1f64fa03611f635ad478e75e7e3911a1717e5ca899ffd5f14bb1fa7083a1040aa5bb6bfd908796842a9eed0390afb8abd1ec9607227e8064d7115afa
# Credits
Greg Brown
Ivan Tolkachev
Ladar Levison
Princess Levison
Ryan Crites
Sean Benson
Stephen Watt
And the army of Kickstarter supporters who contributed to this project.
# Tarball Contents
```
magma/
bin/
check/
dev/
docs/
sandbox/
scripts/
tools/
lib/
res/
src/
web/
configure.ac
INSTALL
Makefile.am
README.md
```
# Installation Instructions
These instructions are targeted at systems running CentOS 6.
### Prerequisites
List of packages to be installed: mysql-server, memcached, gettext-devel
**MySQL**
To install MySQL and configure the magma username run the commands below. The supplied password should be replaced with value unique to your environment. You may also want to limit the permissions of the magma database user to the database it will need to access. The global permission is only needed to setup the table schema.
```shell
yum install mysql-server
service mysqld start
chkconfig mysqld on
mysql -u root < echo "CREATE USER 'magma'@'localhost' IDENTIFIED BY 'volcano';"
mysql -u root < echo "GRANT ALL PRIVILEGES ON *.* TO 'magma'@'localhost' WITH GRANT;"
```
**Memcached**
To install Memcached run the commands below.
```shell
yum install memcached
service memcached start
chkconfig memcached on
```
**EnvSubst**
```shell
yum install gettext-devel
```
**ClamAV**
The freshen.clamav.sh script will update, or download, the ClamAV virus definitions.
```shell
magma/dev/scripts/freshen/freshen.clamav.sh
```
### Compiling
After running through the prerequisites above, load the project into Eclipse and build magma.so, magma.check and magma.
### Deploying
Run the INSTALL script.
```shell
./INSTALL -d ~/ -u magma -p volcano -s Lavabit
```
### Development
To link up the development scripts run linkup.sh.
```shell
magma/dev/scripts/linkup.sh
```
Development environments need to create the database manually.
```shell
# Usage: schema.init <mysql_user> <mysql_password> <mysql_schema>
schema.init magma volcano Lavabit
```
To launch magma using the sandbox configuration.
```shell
magma.run
```
# Webmail
Inside the resources/pages/ directory is a copy of the webmail code. Locate script.js file and change the magma.portalUrl = true variable to false, and it will use a set of hard coded test requests/responses. Its useful for checking/developing the webmail code without involving a server. Currently the files are configured to access the JSON-RPC interface using the hostname "localhost" and the HTTP port 10000. This should work using the default magma.config file.
|