Skip to content

Commit 66280bf

Browse files
committed
Initial commit
1 parent 4e62db5 commit 66280bf

File tree

320 files changed

+22316
-63
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

320 files changed

+22316
-63
lines changed

.gitattributes

Lines changed: 0 additions & 17 deletions
This file was deleted.

.gitignore

Lines changed: 3 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,4 @@
1-
# Windows image file caches
21
Thumbs.db
3-
ehthumbs.db
4-
5-
# Folder config file
6-
Desktop.ini
7-
8-
# Recycle Bin used on file shares
9-
$RECYCLE.BIN/
10-
11-
# Windows Installer files
12-
*.cab
13-
*.msi
14-
*.msm
15-
*.msp
16-
17-
# Windows shortcuts
18-
*.lnk
19-
20-
# =========================
21-
# Operating System Files
22-
# =========================
23-
24-
# OSX
25-
# =========================
26-
27-
.DS_Store
28-
.AppleDouble
29-
.LSOverride
30-
31-
# Thumbnails
32-
._*
33-
34-
# Files that might appear in the root of a volume
35-
.DocumentRevisions-V100
36-
.fseventsd
37-
.Spotlight-V100
38-
.TemporaryItems
39-
.Trashes
40-
.VolumeIcon.icns
41-
42-
# Directories potentially created on remote AFP share
43-
.AppleDB
44-
.AppleDesktop
45-
Network Trash Folder
46-
Temporary Items
47-
.apdisk
2+
/data/geodatapeers.inc
3+
/data/rules.inc
4+
/data/rules.log

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
ExlectrumX Dashboard Changelog
2+
===================
3+
4+
## 0.1.0 Beta - 2017-09-20
5+
6+
### First Release

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2017 Michael Rotarius
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
# ElextrumX Dashboard Beta
2+
3+
ElextrumX Dashboard (EXD) is a lightweight dashboard for ElectrumX servers.
4+
5+
## Features
6+
7+
* Dashboard with general information about the server, establisted sessions and known peers
8+
* List of all establisted sessions (including used traffic, version country, isp, ...)
9+
* List of all known peers (including version, country, isp, ...)
10+
* Create rules to manage sessions
11+
* Disconnect or log sessions that violate rules
12+
* Set gobal events that trigger the execution of rules
13+
* Run rules manually or set up a cron job
14+
15+
## Requirements
16+
17+
* ElectrumX 1.1+
18+
* Web server
19+
* PHP 7.0.0+
20+
* cURL
21+
22+
## Installation
23+
24+
1. Download EXD either from [here](https://github.com/mirobit/electrumx-dashboard/releases) or by cloning this the repository.
25+
2. Edit `src/Config.php` to set up a password.
26+
3. Upload the folder to the public directory of your web server. If the folder is accesible via the internet, I recommed renaming the folder to something unique. Although EXD is password protected and access can be limited to a specific IP, there can be security flaws and bugs.
27+
4. Open the URL to the folder in your browser and login with the password choosen in `src/Config.php`.
28+
5. Optional: Run `chmod -R 770 /path-to-folder/{data, src, views}`. Only necessary for non Apache (`AllowOverride All` necessary) and publicly accessible web server. For more information, read next section.
29+
30+
## Security
31+
32+
* All pages and control functionality are only accessible for logged in users. The only exception is if you use the `Run Rules' cron job functionality. But a password based token is requiered
33+
and the functionality is only able to apply rules.
34+
* Access to EXD is by default limited to localhost. This can be expanded to a specific IP or disabled. If disabled, make sure to protect the EXD folder (.htaccess, rename it to something unique
35+
that an attacker will not guess). An attacker could "guess" your password, since there is no build-in brute force protection (if IP protection is disabled).
36+
* The `data` folder contains your rules, logs and geo information about sessions and peers. Make sure to protect (e.g. `chmod -R 770 data`) this sensitive information if your web server is publicly accessible. The previously mentioned
37+
IP protection doesn't work here. If you use `Apache` you are fine, since the folder is protected with `.htaccess` (make sure `AllowOverride All` is set in your `apache2.conf` file).
38+
39+
## Roadmap
40+
41+
- [ ] Improve project structure
42+
- [ ] Improve OOP
43+
- [ ] Improve error handling
44+
- [ ] Import rules functionality
45+
- [ ] Display expanded peer/sessions info (popup)
46+
- [ ] Highlight suspicious sessions

assets/css/bootstrap-multiselect.css

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)