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
Comparing Database performance with Django ORM

Comparing Database performance with Django ORM Postgresql MySQL MariaDB SQLite Comparing database operation performance using django ORM. PostgreSQL v

Sarath ak 21 Nov 14, 2022
Book search Django web project that uses requests python library and openlibrary API.

Book Search API Developer: Vladimir Vojtenko Book search Django web project that uses requests python library and openlibrary API. #requests #openlibr

1 Dec 08, 2021
An API was build with Django to store and retrieve information about various musical instruments.

The project is meant to be a starting point, an experimentation or a basic example of a way to develop an API with Django. It is an exercise on using Django and various python technologies and design

Kostas Ziovas 2 Dec 25, 2021
A feature flipper for Django

README Django Waffle is (yet another) feature flipper for Django. You can define the conditions for which a flag should be active, and use it in a num

950 Dec 26, 2022
๐ŸŒŸ A social media made with Django and Python and Bulma. ๐ŸŽ‰

Vitary A simple social media made with Django Installation ๐Ÿ› ๏ธ Get the source code ๐Ÿ’ป git clone https://github.com/foxy4096/Vitary.git Go the the dir

Aditya Priyadarshi 15 Aug 30, 2022
A pluggable Django application for integrating PayPal Payments Standard or Payments Pro

Django PayPal Django PayPal is a pluggable application that integrates with PayPal Payments Standard and Payments Pro. See https://django-paypal.readt

Luke Plant 672 Dec 22, 2022
Django Query Capture can check the query situation at a glance, notice slow queries, and notice where N+1 occurs.

django-query-capture Overview Django Query Capture can check the query situation at a glance, notice slow queries, and notice where N+1 occurs. Some r

GilYoung Song 80 Nov 22, 2022
Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly.

Cookiecutter Django Powered by Cookiecutter, Cookiecutter Django is a framework for jumpstarting production-ready Django projects quickly. Documentati

10.1k Jan 08, 2023
A simple page with paypal payment and confiramtion in django

django-paypal a simple page with paypal payment and confiramtion in django Youtube Video : Paypal Smart Button : https://developer.paypal.com/demo/che

Mahmoud Ahmed 5 Feb 19, 2022
A app for managing lessons with Django

Course Notes A app for managing lessons with Django Some Ideas

Motahhar.Mokfi 6 Jan 28, 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 Jan 07, 2023
Developer-friendly asynchrony for Django

Django Channels Channels augments Django to bring WebSocket, long-poll HTTP, task offloading and other async support to your code, using familiar Djan

Django 5.5k Jan 06, 2023
Backend with Django .

BackendCode - Cookies Documentation: https://docs.djangoproject.com/fr/3.2/intro/ By @tcotidiane33 & @yaya Models Premium class Pack(models.Model): n

just to do it 1 Jan 28, 2022
Send push notifications to mobile devices through GCM or APNS in Django.

django-push-notifications A minimal Django app that implements Device models that can send messages through APNS, FCM/GCM and WNS. The app implements

Jazzband 2k Dec 26, 2022
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 Jan 04, 2023
GameStop clone with Django

GameStop clone with Django This is my side project with GameStop clone Author: HackerApe GitHub Profile: View Profile LinkedIn Profile: View Profile

Dmitriy Shin 2 Dec 26, 2021
Django CRUD REST API Generator

Django CRUD REST API Generator This is a simple tool that generates a Django REST API with the given models. Specs: Authentication, DRF generic views,

Mehmet Alp Sรผmer 57 Nov 24, 2022
PEP-484 stubs for django-rest-framework

pep484 stubs for Django REST framework Mypy stubs for DRF 3.12.x. Supports Python 3.6, 3.7, 3.8 and 3.9. Installation pip install djangorestframework-

TypedDjango 303 Dec 27, 2022
Django Federated Login provides an authentication bridge between Django projects and OpenID-enabled identity providers.

Django Federated Login Django Federated Login provides an authentication bridge between Django projects and OpenID-enabled identity providers. The bri

Bouke Haarsma 18 Dec 29, 2020
Automatically reload your browser in development.

django-browser-reload Automatically reload your browser in development. Requirements Python 3.6 to 3.10 supported. Django 2.2 to 4.0 supported. Are yo

Adam Johnson 254 Jan 04, 2023