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
Automatic caching and invalidation for Django models through the ORM.

Cache Machine Cache Machine provides automatic caching and invalidation for Django models through the ORM. For full docs, see https://cache-machine.re

846 Nov 26, 2022
A debug/profiling overlay for Django

Django Debug Toolbar The Django Debug Toolbar is a configurable set of panels that display various debug information about the current request/respons

David Cramer 228 Oct 17, 2022
Django + Next.js integration

Django Next.js Django + Next.js integration From a comment on StackOverflow: Run 2 ports on the same server. One for django (public facing) and one fo

Quera 162 Jan 03, 2023
Automated image processing for Django. Currently v4.0

ImageKit is a Django app for processing images. Need a thumbnail? A black-and-white version of a user-uploaded image? ImageKit will make them for you.

Matthew Dapena-Tretter 2.1k Dec 17, 2022
django CMS Association 1.6k Jan 06, 2023
Serve files with Django.

django-downloadview django-downloadview makes it easy to serve files with Django: you manage files with Django (permissions, filters, generation, ...)

Jazzband 328 Dec 07, 2022
a little task queue for python

a lightweight alternative. huey is: a task queue (2019-04-01: version 2.0 released) written in python (2.7+, 3.4+) clean and simple API redis, sqlite,

Charles Leifer 4.3k Dec 29, 2022
The pytest framework makes it easy to write small tests, yet scales to support complex functional testing

The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries. An example o

pytest-dev 9.6k Jan 06, 2023
Visual DSL framework for django

Preface Processes change more often than technic. Domain Rules are situational and may differ from customer to customer. With diverse code and frequen

Dmitry Kuksinsky 165 Jan 08, 2023
A Django web application that allows you to be in the loop about everything happening in your neighborhood.

A Django web application that allows you to be in the loop about everything happening in your neighborhood. From contact information of different handyman to meeting announcements or even alerts.

Kennedy Ngugi Mwaura 3 Dec 11, 2022
Use webpack to generate your static bundles without django's staticfiles or opaque wrappers.

django-webpack-loader Use webpack to generate your static bundles without django's staticfiles or opaque wrappers. Django webpack loader consumes the

2.4k Dec 24, 2022
This is a personal django website for forum posts

Django Web Forum This is a personal django website for forum posts It includes login, registration and forum posts with date time. Tech / Framework us

5 May 12, 2022
Python CSS/Javascript minifier

Squeezeit - Python CSS and Javascript minifier Copyright (C) 2011 Sam Rudge This program is free software: you can redistribute it and/or modify it un

Smudge 152 Apr 03, 2022
This is a template tag project for django to calculate in templates , enjoy it

Calculator-Template-Django this is a template tag project for django to calculate in templates , enjoy it Get Started : 1 - Download Source Code 2 - M

1 Feb 01, 2022
Django With VueJS Blog App

django-blog-vue-app frontend Project setup yarn install Compiles and hot-reload

Flavien HUGS 2 Feb 04, 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
A CTF leaderboard for the submission of flags during a CTF challenge. Built using Django.

🚩 CTF Leaderboard The goal of this project is to provide a simple web page to allow the participants of an CTF to enter their found flags. Also the l

Maurice Bauer 2 Jan 17, 2022
Django-discord-bot - Framework for creating Discord bots using Django

django-discord-bot Framework for creating Discord bots using Django Uses ASGI fo

Jamie Bliss 1 Mar 04, 2022
Use Database URLs in your Django Application.

DJ-Database-URL This simple Django utility allows you to utilize the 12factor inspired DATABASE_URL environment variable to configure your Django appl

Jacob Kaplan-Moss 1.3k Dec 30, 2022
A Minimalistic Modern Django Boilerplate

A Minimalistic Modern Django Boilerplate This boilerplate is mainly for educational purposes. It is meant to be cloned as a starter code for future tu

Jonathan Adly 21 Nov 02, 2022