{"id":23217478,"url":"https://github.com/summertriangle-dev/sparklebox","last_synced_at":"2025-04-14T06:30:33.214Z","repository":{"id":4059476,"uuid":"44945162","full_name":"summertriangle-dev/sparklebox","owner":"summertriangle-dev","description":"Source code for starlight.kirara.ca.","archived":false,"fork":false,"pushed_at":"2024-08-08T07:23:35.000Z","size":2223,"stargazers_count":74,"open_issues_count":12,"forks_count":13,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-03-27T20:12:11.105Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/summertriangle-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2015-10-26T04:03:59.000Z","updated_at":"2024-08-08T07:23:39.000Z","dependencies_parsed_at":"2022-08-06T14:45:57.527Z","dependency_job_id":"e5a3074c-8941-4382-9e09-44ff78f320a5","html_url":"https://github.com/summertriangle-dev/sparklebox","commit_stats":{"total_commits":377,"total_committers":5,"mean_commits":75.4,"dds":0.07692307692307687,"last_synced_commit":"c3ecf8a5797915c193f660859c77236389c8182d"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/summertriangle-dev%2Fsparklebox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/summertriangle-dev%2Fsparklebox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/summertriangle-dev%2Fsparklebox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/summertriangle-dev%2Fsparklebox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/summertriangle-dev","download_url":"https://codeload.github.com/summertriangle-dev/sparklebox/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248832893,"owners_count":21168782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-18T20:48:29.636Z","updated_at":"2025-04-14T06:30:33.188Z","avatar_url":"https://github.com/summertriangle-dev.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sparklebox (2.0!)\n\nhttps://starlight.kirara.ca/\n\n##### Getting started\n\nMake a virtualenv (the app requires **at least Python 3.5**, and is tested with 3.7):\n\n    virtualenv --python=python3 .env\n    source .env/bin/activate\n    pip install -r requirements.txt\n\nGrab a copy of ENAMDICT from http://www.csse.monash.edu.au/~jwb/enamdict_doc.html ,\nthen convert it to UTF-8 so name_finder can use it:\n\n    zcat enamdict.gz | iconv -f eucjp -t utf8 \u003e _data/private/enamdictu\n\nThen configure the environment variables (I suggest saving these to a file as\nyou go, so you can restore them later).\n\n    # Development mode disables Tornado's internal caching as well as\n    # HTTPS enforcement.\n    export DEV=1\n    export TRANSIENT_DATA_DIR=\"_data/transient\"\n\n    mkdir -p $TRANSIENT_DATA_DIR\n    # Note the lack of $. This is the name of the variable that has\n    # the transient data dir.\n    export TRANSIENT_DIR_POINTER=TRANSIENT_DATA_DIR\n    export DATABASE_CONNECT='sqlite:///'$TRANSIENT_DATA_DIR'/ss.sqlite3'\n    export TLABLE_SALT='bang on the keyboard for a random string'\n    export IMAGE_HOST='https://static.myderesutesite.com'\n\nIf you do not know values for `VC_ACCOUNT`, `VC_AES_KEY`, and `VC_SID_SALT`,\nstart the app with a version number as the first argument.\n\n    python3 app.py [59234863]\n\nThat's obviously not the correct version number, but you can find it on\n[any](https://starlight.kirara.ca/) of the [sites](http://usamin.info/) which\nhave [them](https://boards.4chan.org/vg/catalog#s=idolm@ster). Alternatively,\nyou can sniff network traffic using a proxy like Charles.\n\nOtherwise, set those environment variables and run.\n\n    python3 app.py\n\nThe server will download the current truth automatically, then exit.\nYou will then be able to run the app.\n\n##### Configuration\n\nThe following environment variables are used:\n\n```\n$DEV - enables various development features, such as\n    * /tl_debug, /db/... endpoints\n    * No caching of templates\n    * No HTTPS enforcement\n    * No static file caching\n\n$TLABLE_SALT - Security salt for translation tokens. It prevents users from\n    spamming /send_tl endpoint with strings that never occur.\n\n$DATABASE_CONNECT - Connection string for the translation database. Follows\n    SQLAlchemy syntax, and you must have the right package installed to talk to\n    the particular kind of database engine you use.\n\n$IMAGE_HOST - Prepended to all static content, discussed below.\n\n$ADDRESS - IP address to bind to. Usually you want 0.0.0.0 to bind all interfaces.\n\n$PORT - Port to listen on (for HTTP/HTTPS). Defaults to 5000.\n\n$VC_ACCOUNT - Credentials for automatic updating, in the form user_id:viewer_id:udid.\n\n$VC_SID_SALT, $VC_AES_KEY - Client secrets used for automatic updating.\n\n$VC_APP_VER - Game version (not data version), e.g. \"1.9.1\". Used for automatic updating.\n    The game will reject version checks with an outdated client, so it's important to\n    keep this up to date.\n\n$VC_UNITY_VER - Unity engine version, e.g. \"5.4.5p1\".\n\n$TLE_DISABLE_CACHES - Disable local caching of TranslationEngine data. Set this to a\n    non-blank string if DB query speed doesn't matter (e.g. you use SQLite, or mysqld\n    is running on the same server as the app)\n\n$DISABLE_AUTO_UPDATES - Disables the automatic updater even if VC_* are set.\n\n$TLE_TABLE_PREFIX - Prefix for table names in TranslationSQL. Defaults to 'ss'.\n\n```\n\nFor the `IMAGE_HOST` environment variable, you should use one of these\nin most cases:\n\n- `https://hoshimoriuta.kirara.ca` (the public image server for starlight.kirara.ca)\n\nThe styles are written in Less. If the environment variable DEV is set,\nchanges to the less files will be rendered live using less.js;\nyou don't need to run lessc until you're done changing things.\n\n##### Build static directory\n\nGX is no longer part of this repo. Use SBJK to push deltas to cdn going forward.\n\n### License\n\nUnless the file says otherwise, the files in this repo are released\nunder the BSD license:\n\nCopyright (c) 2015 - 2016, The Holy Constituency of the Summer Triangle.\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or without\nmodification, are permitted provided that the following conditions are met:\n\n* Redistributions of source code must retain the above copyright\n  notice, this list of conditions and the following disclaimer.\n* Redistributions in binary form must reproduce the above copyright\n  notice, this list of conditions and the following disclaimer in the\n  documentation and/or other materials provided with the distribution.\n* Neither the name of the Holy Constituency of the Summer Triangle nor the\n  names of its contributors may be used to endorse or promote products\n  derived from this software without specific prior written permission.\n\nTHIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\nANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\nWARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\nDISCLAIMED. IN NO EVENT SHALL THE HOLY CONSTITUENCY OF THE SUMMER TRIANGLE\nBE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\nCONSEQUENTIAL DAMAGES\n(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\nLOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND\nON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\nSOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsummertriangle-dev%2Fsparklebox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsummertriangle-dev%2Fsparklebox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsummertriangle-dev%2Fsparklebox/lists"}