View on GitHub

fourDeltaOne-Status

fourDeltaOne Status Project

Download this project as a .zip file Download this project as a tar.gz file

fourDeltaOne Status Project

The most recent version of the original code of the fourDeltaOne status website.

Development on this code by Icedream has been dropped in March and the ownership has been given over to MAGIC. The code is pretty much useless as of the cancelling of fourDeltaOne due to its C&D. It should be only used as a reference or as an opportunity for bug fixing and maybe reviving the code.

Don't rely on it as in expecting it to be bug-free. It is not.

Will I get support for this code?

I expect from you as the code user to know what you're doing. Don't contact me if you don't know how to properly set up a virtual host on Apache or compile C# stuff or similar, that will just tell me that you're not okay to maintain this project properly. Instead look it up on Google and educate yourself. Only if that fails, and only then, you can give it a try on IRC. But no guarantees.

tl;dr: No.

What does this repository include

Right at the moment, this repository includes the source code from the following parts of the project:

I want to have this on my own server!

  1. It's the least important problem, but you will need to compile the latest Mono (or at least 2.11 or 3.x) to get the backend running since it uses .NET 4.5. If the server is a Windows server, just install the latest .NET Framework, you won't need Mono. You need also the rewrite module for Apache.
  2. You will need the complete source code tree of fourdeltaone-status. This means you have to check out all the submodules too. This is done by using git submodule update --init or whatever you prefer.
  3. Compile the backend with the build.bat for Windows or the build.sh for Linux. At this point, all requirements are expected to be installed.
  4. Check backend/bin/Release and edit the configuration to your needs. Especially the authentication part is important. Make sure you add port forwarding to the port 29001 on every firewall which may block connections. Note: If you are going to run the backend on a different port than 29001 or even on a different server than the website (or you generally changed important API source bits), you need to create a website/config.json. How to do that is explained under "Customizing the frontend".
  5. Run the backend binary (fdocheck.exe), on Linux in some screen session or whatever you prefer to run background tasks. You can even do mono fdocheck.exe &disown.
  6. Configure your apache with a virtualhost pointing to the website/ directory.
  7. Test the website. It should work now.

Customizing the frontend

The website code is customizable without changes in the code itself. It saves you a lot of time in case you want to have backend and frontend on different servers or if you can't use port 29001 (or generally changed the source code). For this you need to make a JSON file config.json in the website/ folder.

If you don't know how a JSON file looks like, you should look it up on Google. It is easy and short, it's only { key: value, key: value, key: { key: value, key: value } }.

So let's look at a complete example of a configuration file:

{
    "backend": {
        "port": 29001,
        "host": "s.mufff.in",
        "path": "/",
        "secure": false
    }
}

This contains all currently available options which you can customize. All parameters can be left out, in this case they will be set to the default. Below the explaination:

  1. Backend The backend configuration allows you to give details about where the frontend can access the data generated by the backend.
    • int port: This shouldn't be changed unless you edited the server API code in the backend. Default is 29001.
    • string host: The host on which the backend runs. IP or hostname is both okay. Default is same host as frontend (looked up via JavaScript from the client).
    • string path: This shouldn't be changed unless you edited the server API code in the backend. Default is "/".
    • boolean secure: This shouldn't be changed unless you edited the server API code in the backend. Default is false.

License

The whole project is published under the terms of the GNU General Public License Version 3, you can read the whole text in the LICENSE.txt. The license applies to the website too, it doesn't have its own license any longer.