Alt1-compatible widget host for RuneScape 3

Related tags

Django runekit
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
A better and faster multiple selection widget with suggestions

django-searchable-select A better and faster multiple selection widget with suggestions for Django This project is looking for maintainers! Please ope

Andrew Dunai 105 Oct 22, 2022
This Django app will be used to host Source.Python plugins, sub-plugins, and custom packages.

Source.Python Project Manager This Django app will be used to host Source.Python plugins, sub-plugins, and custom packages. Want to help develop this

null 2 Sep 24, 2022
Inject an ID into every log message from a Django request. ASGI compatible, integrates with Sentry, and works with Celery

Django GUID Now with ASGI support! Django GUID attaches a unique correlation ID/request ID to all your log outputs for every request. In other words,

snok 300 Dec 29, 2022
Automation for grabbing keys from a Linux host. Useful during red team exercises to quickly help assess what access to a Linux host can lead to.

keygrabber Automation for grabbing keys from a Linux host. This can be helpful during red team exercises when you gain access to a Linux host and want

Cedric Owens 14 Sep 27, 2022
A host-guest based app in which host can CREATE the room. and guest can join room with room code and vote for song to skip. User is authenticated using Spotify API

A host-guest based app in which host can CREATE the room. and guest can join room with room code and vote for song to skip. User is authenticated using Spotify API

Aman Raj 5 May 10, 2022
Multi-handle range slider widget for PyQt/PySide

QtRangeSlider The missing multi-handle range slider widget for PyQt & PySide The goal of this package is to provide a Range Slider (a slider with 2 or

Talley Lambert 28 Dec 26, 2022
Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

django-location-field Let users pick locations using a map widget and store its latitude and longitude. Stable version: django-location-field==2.1.0 D

Caio Ariede 481 Dec 29, 2022
A better and faster multiple selection widget with suggestions

django-searchable-select A better and faster multiple selection widget with suggestions for Django This project is looking for maintainers! Please ope

Andrew Dunai 105 Oct 22, 2022
Django model field that can hold a geoposition, and corresponding widget

django-geoposition A model field that can hold a geoposition (latitude/longitude), and corresponding admin/form widget. Prerequisites Starting with ve

Philipp Bosch 324 Oct 17, 2022
Location field and widget for Django. It supports Google Maps, OpenStreetMap and Mapbox

django-location-field Let users pick locations using a map widget and store its latitude and longitude. Stable version: django-location-field==2.1.0 D

Caio Ariede 481 Dec 29, 2022
FrostedGlass is a translucent frosted glass effect widget, that creates a context with the background behind it.

FrostedGlass FrostedGlass is a translucent frosted glass effect widget, that creates a context with the background behind it. The effect is drawn on t

Kivy Garden 24 Dec 10, 2022
A GUI widget for Linux to show current time in different timezones.

A GUI widget to show current time in different timezones (under development). To use this widget: Run scripts/startup.py Select a country. A list of t

B.Jothin kumar 11 Nov 10, 2022
A Windows Dock Widget Written In Pure Python

VEПUS A Windows Dock Widget Written In Pure Python What is Venus? Venus is a Dock Widget for your desktops interface. It adds a couple of really cool

Secrets 18 Dec 30, 2022
A small bot to interact with the reddit API. Get top viewers and update the sidebar widget.

LiveStream_Reddit_Bot Get top twitch and facebook stream viewers for a game and update the sidebar widget and old reddit sidebar to show your communit

Tristan Wise 1 Nov 21, 2021
Gaphas is the diagramming widget library for Python.

Gaphas Gaphas is the diagramming widget library for Python. Gaphas is a library that provides the user interface component (widget) for drawing diagra

Gaphor 144 Dec 14, 2022
A clock widget for linux ez to use no need for cmd line ;)

A clock widget in LINUX A clock widget for linux ez to use no need for cmd line ;) How to install? oh its ez just go to realese! what are the paltform

null 1 Feb 15, 2022
Securely and anonymously share files, host websites, and chat with friends using the Tor network

OnionShare OnionShare is an open source tool that lets you securely and anonymously share files, host websites, and chat with friends using the Tor ne

Micah Lee 5.4k Jan 2, 2023
The system to host your files on the Discord application

Distorage The system to host your files on the Discord application Documentation Documentation Distorage How to use the package You can install it wit

null 6 Jun 27, 2022
Custom bot I've made to host events on my personal Discord server.

discord_events Custom bot I've made to host events on my personal Discord server. You can try the bot out in my personal server here: https://discord.

AlexFlipnote 5 Mar 16, 2022
This script helps us to add IP, host name entry in hosts file and create directory run nmap scan and directory scan with your favourite tools

A python script to automate your set-up for Hack The Box, It sets up Workspace, Opens TMUX session, connects to OpenVPN, Runs Nmap and many more...

Cognizance 7 Mar 25, 2022