Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
This is a tool for creating a dashboard for clan participation in ClashRoyale. See https://developer.clashroyale.com to sign up for a developer account and create an API key to use with this.
For an example dashboard created for the clan Agrassar (#JY8YVV), see: https://agrassar.com/
This tool is a static site generator -- it generates static HTML, JavaScript, and CSS used to render the dashboard. If you wish to use this, you should set it up to run once per hour on your web server.
This requires Python 3 and pip on your machine. To install, use
.. code::
pip3 install crtools
If you have an older version installed, to upgrade to the latest version, run:
.. code::
pip3 install -U crtools
Usage:
.. code::
crtools [-h] [--locale LOCALE] [--config CONFIG-FILE] [--api_key KEY] [--clan TAG] [--out PATH] [--favicon PATH] [--clan_logo PATH] [--description PATH] [--canonical_url URL] [--debug] [--version]
optional arguments:
-h, --help show this help message and exit
--locale LOCALE Locale if language other than English is desired (see Other languages/locales
_).
--config FILE configuration file for this app.
--api_key KEY API key for developer.clashroyale.com
--clan CLAN Clan ID from Clash Royale. If it starts with a '#', clan ID must be quoted.
--out PATH Output path for HTML.
--favicon PATH Source path for favicon.ico. If provided, we will copy to the output directory.
--clan_logo PATH Source path for clan logo PNG. Recommended at least 64x64 pizels. If provided, we will copy to the output directory.
--description PATH Source path snippet of HTML to replace the clan description. Should not be a complete HTML document. Sample here: https://github.com/AaronTraas/crtools-agrassar-assets/blob/master/description.html If provided, we will copy to the output directory.
--canonical_url URL Canonical URL for this site. Used for setting the rel=canonical link in the web site, as well as generating the robots.txt and sitemap.xml
--debug Turns on debug mode
--version List the version of crtools.
crtools looks for a config file in your home directory called .crtools
This is an INI file. As of current version, there's only one possible parameter: api_key. The file should look like:
.. code:: ini
[API]
api_key=
clan_id=#JY8YVV
#proxy=https://my-proxy.com
#proxy_headers=headers
[Paths]
out=/var/www/html
clan_logo=~/myclan/logo.png
favicon=~/myclan/favicon.ico
description_html=~/myclan/body.html
[www]
canonical_url=https://yourclan.com/
For more details, see samples/crtools.ini <https://github.com/AaronTraas/Clash-Royale-Clan-Tools/blob/master/samples/crtools.ini>
_
You can optionally use a Google Sheets log to keep track of demerits
and vacations. If you want that info to be integrated with crtools, you
need to copy the
crtools member log template <https://docs.google.com/spreadsheets/d/1_8YKfJf-2HVZOgtuosVaGM_50kB8q7YYR3H2d8p0Wzw>
_
to your Google Docs account and use that. Fill in with info about your
clan. Be sure not to re-name any of the tabs, or add/remove any columns.
You will also need to sign up for a Google Cloud API key <https://developers.google.com/sheets/api/guides/authorizing#APIKey>
_.
Then you will have to go to the Google Developer API library page <https://console.developers.google.com/apis/library/sheets.googleapis.com>
_, and enable the Google Sheets library for your account.
You will then need to go the the Google credential management page <https://console.developers.google.com/apis/credentials>
_, edit the API key you created, giving it access to the Sheets API.
Once you have created a key that you can use for this purpose, find the sheet ID from your spreadsheet URL, add the following to your config file:
.. code:: ini
[google_docs] api_key= sheet_id=
The design of this site is optionally enhanced by the fan kit provided by Supercell here. To enable automated downloading of the fan kit, add:
.. code::
use_fankit=True
To the :code:[Paths]
section of your config file.
NOTE: This requires about 5GB free in your temp forlder on the machine that crtools runs on. It will take 10-15 minutes to download and extract, but only the first time you run with the fankit enabled.
If you have problems, you can manually install the fan kit. See
Fan Kit Manual Install Instructions <https://github.com/AaronTraas/Clash-Royale-Clan-Tools/blob/master/fankit-manual-install.md>
_
Crtools currently supports the following languages:
======= ================= locale language ======= ================= cn Chinese de German en English (default) fr French it Italian pt Portugese ru Russian ======= =================
If you'd like to use a language other than English, add the following switch on the command line:
.. code::
--locale=fr
The above example is French. Use the locale code listed above
If you wish for crtools to be available in another languages, reach out to me. I'm unable to do the translation myself (I speak only English), but I can help you provide a translation for this.
This tool is a static site generator -- it generates static HTML, JavaScript,
and CSS used to render the dashboard. If you wish to use this, you should set
it up to run once per hour on your web server using :code:cron
or similar.
Below is an example setup on Linux.
Assuming root is going to be running the script:
/var/www/html
)/root/.crtools
file as specified above, and add your
API key (from https://developer.clashroyale.com), output path (the
document root), and clan tag.. code::
0 * * * * crtools
This project uses SonarQube for static analysis. The results of analysis
are at SonarCloud <https://sonarcloud.io/dashboard?id=AaronTraas_Clash-Royale-Clan-Tools>
_.
The code quality and test coverage are a work in progress.
All of the non-code contributors are listed in
CONTRIBUTORS.rst <https://github.com/AaronTraas/Clash-Royale-Clan-Tools/blob/master/CONTRIBUTORS.rst>
_
All images except the flags included in this repository were created by the team, and are included in the GPL license. The SVGs were all created in Inkscape.
The flags included are from http://www.famfamfam.com/lab/icons/flags/, which as of 5/27/2019 stated it required no attribution or license. We are interpreting this to mean these are available in the public domain.
It was important to us to make sure the entirety of this application is open source, and not subject to takedown request. We will not ever extract assets from the game or from any other web properties.
Optionally, crtools can download the official Clash Royale fan kit and use some of the content contained. This is not the default behavior, and no works copywritten by Supercell are contained within this code.
This content is not affiliated with, endorsed, sponsored, or specifically approved by Supercell and Supercell is not responsible for it. For more information see Supercell's Fan Content Policy: https://supercell.com/en/fan-content-policy/
FAQs
Python tools for creating a clan management dashboard for Clash Royale
We found that crtools demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.