GithubHelp home page GithubHelp logo

incognico / xonlist Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 0.0 771 KB

Online Server Server List for Xonotic

Home Page: http://xonotic.lifeisabug.com/

CSS 49.56% Perl 28.14% JavaScript 1.96% HTML 20.34%
perl qstat server-list website xonotic xonotic-game-server

xonlist's People

Contributors

incognico avatar mend-bolt-for-github[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

xonlist's Issues

Implement scorelabel and scoreflags

string GetScoreLogLabel(string label, float fl)
{
   if(fl & SFL_LOWER_IS_BETTER)
      label = strcat(label, "<");
   if((fl & SFL_SORT_PRIO_MASK) == SFL_SORT_PRIO_PRIMARY)
      label = strcat(label, "!!");
   else if((fl & SFL_SORT_PRIO_MASK) == SFL_SORT_PRIO_SECONDARY)
      label = strcat(label, "!");
   return label;
}

"qcstatus": "cts:git:P196:S9:F5:MXDF::fastest<!!

New field in qcstatus

"qcstatus": "dm:0.8.2autobuild:P1:S32:F5:TINVALID:MXonotic::score!!",

T is new, can be 'TINVALID' or some url.

Make more fields searchable

Allow for searching of player names or address etc.

WIP: main.js.new

TODO:

  • Make everything searchable including inner table but do not toggle in inner table
  • Use the new URL parameter single=<server address> and work with xhr requests so applying any styles is not needed anymore, just replace the rows
  • Apply correct :nth table row styles after every update
    • addEventListener('colorschemechange') can be used to detect dark/light theme changes, it is also fired when the website is first opened
    • on colorschemechange: Query and save the backgroundColor and use that to apply it in the filter function

CVE-2019-11358 (Medium) detected in jquery-3.3.1.min.js

CVE-2019-11358 - Medium Severity Vulnerability

Vulnerable Library - jquery-3.3.1.min.js

JavaScript library for DOM operations

Library home page: https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js

Path to vulnerable library: /xonlist/www/htdocs/js/jquery-3.3.1.min.js

Dependency Hierarchy:

  • โŒ jquery-3.3.1.min.js (Vulnerable Library)

Found in HEAD commit: 79185346d90141792367da0c3150606694bb3410

Vulnerability Details

jQuery before 3.4.0, as used in Drupal, Backdrop CMS, and other products, mishandles jQuery.extend(true, {}, ...) because of Object.prototype pollution. If an unsanitized source object contained an enumerable proto property, it could extend the native Object.prototype.

Publish Date: 2019-04-20

URL: CVE-2019-11358

CVSS 3 Score Details (6.1)

Base Score Metrics:

  • Exploitability Metrics:
    • Attack Vector: Network
    • Attack Complexity: Low
    • Privileges Required: None
    • User Interaction: Required
    • Scope: Changed
  • Impact Metrics:
    • Confidentiality Impact: Low
    • Integrity Impact: Low
    • Availability Impact: None

For more information on CVSS3 Scores, click here.

Suggested Fix

Type: Upgrade version

Origin: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-11358

Release Date: 2019-04-20

Fix Resolution: 3.4.0


Step up your Open Source Security Game with WhiteSource here

Duplicate keys not allowed

This should not happen at all.

[xonlist:1912] error @2020-06-08 21:48:58> Exception caught in 'core.app.before_request' filter: Hook error: Duplicate keys not allowed, at character offset 121218 (before "gamename": "Xonotic"...") at /usr/share/perl5/site_perl/Dancer2/Serializer/JSON.pm line 20.
 at /usr/share/perl5/site_perl/Dancer2/Core/App.pm line 35. in /usr/share/perl5/site_perl/Dancer2/Core/App.pm l. 678
[xonlist:1912] error @2020-06-08 21:48:58> Route exception: Exception caught in 'core.app.before_request' filter: Hook error: Duplicate keys not allowed, at character offset 121218 (before "gamename": "Xonotic"...") at /usr/share/perl5/site_perl/Dancer2/Serializer/JSON.pm line 20.

Implement CTS scoring

Implement CTS scoring

Maybe check the score rules in qcstatus for "fastest" or the other possible values.

"qcstatus": "cts:git:P196:S9:F5:MXDF::fastest<!!"

FT team score info broken

FT team score info broken:

         "qcstatus": "ft:git:P0:S8:F7:MXonotic::score!!:score!!,rounds!!:5:0,2:14:0,0",

         "scoreinfo" : {
            "team" : {
               "prefer" : "sec",
               "sec" : {
                  "flags" : "!!",
                  "score" : {
                     "2" : null,
                     "1" : null
                  },
                  "order" : 0,
                  "label" : "rounds"
               },
               "pri" : {
                  "label" : "score",
                  "order" : 0,
                  "score" : {
                     "2" : 2,
                     "1" : 2
                  },
                  "flags" : "!!"
               }
            },
            "player" : {
               "order" : 0,
               "label" : "score",
               "flags" : "!!"
            }
         },

CA works:

         "qcstatus": "ca:git:P0:S7:F7:MXonotic::score!!:rounds!!:5:0:14:0",

         "scoreinfo" : {
            "player" : {
               "label" : "score",
               "order" : 0,
               "flags" : "!!"
            },
            "team" : {
               "pri" : {
                  "score" : {
                     "1" : 2,
                     "2" : 2
                  },
                  "flags" : "!!",
                  "order" : 0,
                  "label" : "rounds"
               },
               "prefer" : "pri"
            }
         },

Save long-term data

Use sqlite to save long term data on the servers. Thinking of doing it like zabbix does, a history and a trends table, the trends later can be used in the website to show (past) server activity.

Invalid character encountered while parsing JSON string

[xonlist:2652206] error @2020-09-10 23:01:22> Route exception: Exception caught in 'core.app.before_request' filter: Hook error: invalid character encountered while parsing JSON string, at character offset 37694 (before "\t// this name will ...") at /usr/share/perl5/site_perl/Dancer2/Serializer/JSON.pm line 20.
 at /usr/share/perl5/site_perl/Dancer2/Core/App.pm line 35.
 at /usr/share/perl5/site_perl/Dancer2/Core/Role/Hookable.pm line 115. in /usr/share/perl5/site_perl/Dancer2/Core/App.pm l. 1493
[xonlist:2652207] error @2020-09-10 23:02:44> Exception caught in 'core.app.before_request' filter: Hook error: invalid character encountered while parsing JSON string, at character offset 37694 (before "\t// this name will ...") at /usr/share/perl5/site_perl/Dancer2/Serializer/JSON.pm line 20.
 at /usr/share/perl5/site_perl/Dancer2/Core/App.pm line 35. in /usr/share/perl5/site_perl/Dancer2/Core/App.pm l. 678
[xonlist:2652207] error @2020-09-10 23:02:44> Route exception: Exception caught in 'core.app.before_request' filter: Hook error: invalid character encountered while parsing JSON string, at character offset 37694 (before "\t// this name will ...") at /usr/share/perl5/site_perl/Dancer2/Serializer/JSON.pm line 20.

Implement team scores and figure out the last part of qcstatus

Figure out the last part of qcstatus, :5:0:14:0 and maybe do something with it.

Probably :?:<score team 1>:?:<score team 2>

  • What happens with 3 or 4 teams?
  • What is the 5 and the 14, they seem to be static?

Examples:

"qcstatus": "dom:0.8.2:P0:S16:F7:MXonotic::score!!:score!!:5:0:10:0:13:0:14:0",
"qcstatus": "ons:0.7.0:P1:S30:F2:MXonotic::score!!:score!!:5:0:14:0",
"qcstatus": "ons:0.8.2:P3:S64:F7:MInstaGib::score!!:destroyed!!:5:0:14:0",
"qcstatus": "ctf:git:P39:S14:F7:MInstaGib::score!!:caps!!:5:0:10:0:13:0:14:0",
"qcstatus": "ctf:git:P81:S24:F7:MInstaGib::score!!:caps!!:5:0:14:0",
"qcstatus": "ctf:git:P40:S9:F7:MInstaGib::score!!:caps!!:5:9:14:4",
"qcstatus": "ctf:git:P42:S0:F7:MInstaGib::score!!:caps!!:5:18:14:0",
"qcstatus": "ca:git:P0:S5:F7:MXonotic::score!!:rounds!!:5:6:14:4",
"qcstatus": "ca:git:P17:S20:F7:MXonotic::score!!:rounds!!:5:0:14:0",

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.