Alt1-compatible widget host for RuneScape 3

Related tags

Djangorunekit
Overview

RuneKit

No Maintenance Intended

Alt1-compatible toolbox for RuneScape 3, for Linux and macOS.

Running

This project use Poetry as package manager.

Requires Poetry 1.1.

# Try this first
poetry install
# If previous fails and you're on Big Sur, try this instead
SYSTEM_VERSION_COMPAT=1 poetry install

poetry run make dev

# If you just want to load AFKWarden
poetry run python main.py https://runeapps.org/apps/alt1/afkscape/appconfig.json
# If you'd like to pick what app you load
poetry run python main.py

Linux additional instruction

Requires libxcb to be installed

macOS additional instruction

You will need to add Python in System Preferences > Security > Privacy in these sections:

  • Accessibility
  • Screen Recording

Note that Python might appear as the closest macOS application (eg. your terminal emulator) instead of Python

Developer

Start with --remote-debugging-port=9222 to enable remote debugger protocol. To debug, go to chrome://inspect on Chrome/Chromium.

License

This project is No Maintenance Intended. It is provided as-is and may not be actively maintained. There's no support, and no promise that pull requests will be reviewed and merged. In other word: I wrote this for my own use and there's no point in keeping it to myself so I'm sharing it. However, maintaining it as a proper open source project is an ongoing work that I don't have the bandwidth to do.

This project is licensed under GPLv3, and contains code from third parties. Contains code from the Alt1 application.

Please do not contact Alt1 or RuneApps.org for support.

Comments
  • Trim the xcffib reply to 4 bytes to avoid an unpacking error

    Trim the xcffib reply to 4 bytes to avoid an unpacking error

    I kept getting a "struct.error: unpack requires a buffer of 4 bytes" upon launch. After some quick investigation I found out that this buffer for me would contain something like b'\x03\x00\xc0\x07\x00\x00\x00\x00'. Where the last 4 bytes would always be 0. This patch simply trims this buffer to the first 4 bytes, after which everything started working on my setup.

    I have no real clue why it's even 8 bytes for me to begin with, it's a pretty stock Ubuntu 20.04 installation. There probably is a better solution of solving this, but this seems to work.

    opened by schoentoon 5
  • Update lastGameActivity upon focus

    Update lastGameActivity upon focus

    So, the lobby timer in afk warden wasn't working for me at all. I assume the following is supposed to be called upon focus

    instance.game_activity_signal.connect(function(){
       lastGameActivity = window.performance.now();
    });
    

    Upon some investigating however it seems like this isn't being called, or at least not reliably. By updating from the callback a bit higher up (as seen in the pull request) it does seem to be updated more reliably.

    opened by schoentoon 2
  • add documentation for macOS setup

    add documentation for macOS setup

    This PR adds additional documentation for programming novices to get this installed and set up in their environments.

    It also includes a workaround for poetry install that helps installation on Big Sur, as well as other reformatting.

    Thanks again for the amazing app @whs!

    opened by scottpchow23 2
  • sc - dont open cors in browser because it breaks afk warden

    sc - dont open cors in browser because it breaks afk warden

    This is definitely a first draft, but this change fixes afk warden on macs at the moment.

    Some things we can do to limit this change's effect:

    • make sure it's mac only
    • make sure it's only for the afk warden app

    Let me know what you think @whs.

    hacktoberfest-accepted 
    opened by scottpchow23 1
  • Use Option for macOS instead of cmd

    Use Option for macOS instead of cmd

    Generally on macOS Option is used as a substitute for ALT, whereas CMD is generally used in place of CTRL (you use CMD+C for copy, etc).

    Most people I've spoken to just assumed the key binding doesn't work seeing as it didn't work with Option, so figured it makes sense to just update it here to avoid confusion :)

    opened by whitfin 0
Releases(continuous)
  • continuous(Oct 10, 2021)

  • mac(Aug 21, 2021)

  • platypus-initial(Feb 8, 2021)

    OUTDATED

    ~~With several hacks I managed to package the app for macOS.~~

    ~~To package this, run make dist/RuneKitApp.app. The resulting .app wouldn't work outside of terminal. Use Platypus to package the runekit.sh file and add dist/RuneKitApp inside the bundle. It seems that the window is required or it might not run as well.~~

    ~~User instructions~~

    1. Extract zip
    2. Put RuneKit.app in Applications folder (otherwise permissions might not work)
    3. Make sure RuneScape is running
    4. Run RuneKit. May take a minute to load for the first time
    5. I recommend to load example app for the first time to fix any permission request as needed.
      • Click screenshot and grant the permission
      • Click notify and grant the permission
      • In game window, press cmd+1 and make sure that the app can see the game's screen
    6. Now you can run RuneKit with any app

    The log window can be minimized to the dock, it is not automatically closed when RuneKit closes.

    Do you even need 700MB for this?

    Python is about 80MB, Qt is about 370MB and QtWebEngine weights in another 200MB. Most of the Qt parts are unused, but it would require additional compiling to cut down the unused modules.

    And for QtWebEngine it's basically Chromium so you get the entire browser in there. That includes: a network stack, a media decoder for various file formats, a JavaScript and WebAssembly runtime, WebGL and VR support and so on.

    Source code(tar.gz)
    Source code(zip)
    RuneKit.zip(211.75 MB)
Owner
Manatsawin Hanmongkolchai
Software architect at @wongnai
Manatsawin Hanmongkolchai
Auto-detecting the n+1 queries problem in Python

nplusone nplusone is a library for detecting the n+1 queries problem in Python ORMs, including SQLAlchemy, Peewee, and the Django ORM. The Problem Man

Joshua Carp 837 Dec 29, 2022
Store model history and view/revert changes from admin site.

django-simple-history django-simple-history stores Django model state on every create/update/delete. This app supports the following combinations of D

Jazzband 1.8k Jan 08, 2023
Store events and publish to Kafka

Create an event from Django ORM object model, store the event into the database and also publish it into Kafka cluster.

Diag 6 Nov 30, 2022
Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Blog focused on skills enhancement and knowledge sharing. Tech Stack's: Vue.js, Django and Django-Ninja

Wanderson Fontes 2 Sep 21, 2022
A Django application that provides country choices for use with forms, flag icons static files, and a country field for models.

Django Countries A Django application that provides country choices for use with forms, flag icons static files, and a country field for models. Insta

Chris Beaven 1.2k Dec 31, 2022
The uncompromising Python code formatter

The Uncompromising Code Formatter “Any color you like.” Black is the uncompromising Python code formatter. By using it, you agree to cede control over

Python Software Foundation 30.7k Jan 03, 2023
Django Advance DumpData

Django Advance Dumpdata Django Manage Command like dumpdata but with have more feature to Output the contents of the database from given fields of a m

EhsanSafir 7 Jul 25, 2022
A Django app for managing robots.txt files following the robots exclusion protocol

Django Robots This is a basic Django application to manage robots.txt files following the robots exclusion protocol, complementing the Django Sitemap

Jazzband 406 Dec 26, 2022
Rosetta is a Django application that eases the translation process of your Django projects

Rosetta Rosetta is a Django application that facilitates the translation process of your Django projects. Because it doesn't export any models, Rosett

Marco Bonetti 909 Dec 26, 2022
Django based webapp pulling in crypto news and price data via api

Deploy Django in Production FTA project implementing containerization of Django Web Framework into Docker to be placed into Azure Container Services a

0 Sep 21, 2022
Buckshot++ is a new algorithm that finds highly stable clusters efficiently.

Buckshot++: An Outlier-Resistant and Scalable Clustering Algorithm. (Inspired by the Buckshot Algorithm.) Here, we introduce a new algorithm, which we

John Jung 1 Jul 02, 2022
Tools to easily create permissioned CRUD endpoints in graphene-django.

graphene-django-plus Tools to easily create permissioned CRUD endpoints in graphene-django. Install pip install graphene-django-plus To make use of ev

Zerosoft 74 Aug 09, 2022
Thumbnails for Django

Thumbnails for Django. Features at a glance Support for Django 2.2, 3.0 and 3.1 following the Django supported versions policy Python 3 support Storag

Jazzband 1.6k Jan 03, 2023
A fresh approach to autocomplete implementations, specially for Django.

A fresh approach to autocomplete implementations, specially for Django. Status: v3 stable, 2.x.x stable, 1.x.x deprecated. Please DO regularely ping us with your link at #yourlabs IRC channel

YourLabs 1.6k Dec 22, 2022
Transparently use webpack with django

Looking for maintainers This repository is unmaintained as I don't have any free time to dedicate to this effort. If you or your organisation are heav

Owais Lone 2.4k Jan 06, 2023
This is a repository for a web application developed with Django, built with Crowdbotics

assignment_32558 This is a repository for a web application developed with Django, built with Crowdbotics Table of Contents Project Structure Features

Crowdbotics 1 Dec 29, 2021
Customize the behavior of django.contrib.auth permissions.

Customizando o comportamento do django.contrib.auth. O que queremos? Não criar as permissões padrões automaticamente (add, delete, view, read). Criar

Henrique Bastos 7 Nov 26, 2022
Example project demonstrating using Django’s test runner with Coverage.py

Example project demonstrating using Django’s test runner with Coverage.py Set up with: python -m venv --prompt . venv source venv/bin/activate python

Adam Johnson 5 Nov 29, 2021
Plug and play continuous integration with django and jenkins

django-jenkins Plug and play continuous integration with Django and Jenkins Installation From PyPI: $ pip install django-jenkins Or by downloading th

Mikhail Podgurskiy 941 Oct 22, 2022
Modular search for Django

Haystack Author: Daniel Lindsley Date: 2013/07/28 Haystack provides modular search for Django. It features a unified, familiar API that allows you to

Haystack Search 3.4k Jan 08, 2023