Commit Graph
68 Commits
Author SHA1 Message Date
guihkxandDevilXD dbd3cd82a0 Move ClientType into Twitch class as an attribute
This allows us to use the base URL as specified in ClientInfo for
requests made to Twitch.

Previously, we'd hardcode "www.twitch.tv" as the base URL to make
channel-related requests, but because we're currently spoofing the
mobile client, that would always cause a HTTP redirect to m.twitch.tv.

This change avoids that HTTP redirect, and potentially saves a whopping
150 ms (or more 😱) when making channel-related requests.

Co-authored-by: DevilXD <4180725+DevilXD@users.noreply.github.com>
2024-02-14 14:51:37 +01:00
DevilXD f4602d40fd Fix indentation 2023-12-06 21:55:02 +01:00
guihkx a31fa375c9 linux: add support for AppImage packages
AppImage is a more flexible packaging solution for Linux than what
PyInstaller currently offers.

Some of the benefits are:

- Ability to ship the app with predefined environment variables
(solving issues like #321)
- Improved integration with the desktop environment (if you're using
go-appimage[1] or libappimage[2])
- Much lighter in size (~27 MB difference)

To actually make the AppImage, I'm using appimage-builder[3], which
makes the process a bit easier.

For more details about the AppImage technology, check out their
website[4].

[1] https://github.com/probonopd/go-appimage
[2] https://github.com/AppImageCommunity/libappimage
[3] https://appimage-builder.readthedocs.io/en/latest/index.html
[4] https://appimage.org/
2023-11-16 20:36:25 +01:00
DevilXD 5167d95051 Game slugs are now sourced from Twitch, instead of being generated 2023-11-10 21:35:49 +01:00
DevilXD 5271d6aa2d Detect completed drops via notifications feed 2023-11-04 15:31:39 +01:00
DevilXD eded7edda8 User agents update 2023-11-03 12:48:37 +01:00
DevilXD 163a056b33 Experimental drops_enabled via AvailableDrops 2023-10-15 22:37:48 +02:00
DevilXD 5e862f9543 Remove processing of tags;
- Removes all logic related to stream tags processing
- Implements a new method of fetching live non-ACL channels, with drops enabled
- Minor logic cleanup changes
2023-10-15 12:06:58 +02:00
DevilXD e03ea755bb Reimplement duplicated run detection as a file lock 2023-08-28 23:47:15 +02:00
DevilXD e16ddeaa7b Differentiate CLIENT_URL between different clients 2023-08-18 20:41:24 +02:00
DevilXD 70035cde36 Switch to MOBILE_WEB Client ID 2023-08-15 20:30:27 +02:00
DevilXD 5b8b6c7fdd Update operation hash 2023-05-20 10:23:02 +02:00
DevilXD c5bf130e4e Fix leftover selenium cert files;
Sys-dependent handling of the site-packages path
2023-04-26 08:15:11 +02:00
DevilXD 466a3aa8f2 Update drop claim GQL hash 2023-02-24 22:01:21 +01:00
DevilXD bfd3893921 Update GQL operation hashes 2023-02-19 11:39:06 +01:00
DevilXD 7dc474286f Minor cleanup of comments, typing and gitignore 2022-12-23 13:17:47 +01:00
DevilXD 28c0f8b75e Streamline user agent and client ID access 2022-12-22 13:14:44 +01:00
DevilXD 706cecec23 User agent update 2022-12-15 14:33:04 +01:00
DevilXD 5751f96882 Implement handling for broadcast-settings-update 2022-12-11 18:39:38 +01:00
DevilXD d9b3e6171e Remove extra spacing from the logger's output formatter 2022-12-07 22:45:08 +01:00
DevilXD b96d87e551 Fix duplicated logging timestamps 2022-12-07 14:55:48 +01:00
DevilXD 76467bad65 Review and adjust the logging module levels 2022-12-07 14:41:47 +01:00
DevilXD 504c6b06c0 Reimplement standard login procedure, keep chrome as backup 2022-11-19 19:03:52 +01:00
DevilXD fee022b5a4 Clear the cookie on a 5027 from login 2022-10-23 08:33:28 +02:00
DevilXD a24539a869 Add these for safe-keeping 2022-10-22 23:09:43 +02:00
DevilXD 0075e8eb8d Update client ID 2022-10-22 17:27:42 +02:00
DevilXD 5068b5429c Update user agent to the lastest Chrome one 2022-09-03 18:23:05 +02:00
DevilXD ede42e4589 WebsocketTopic uses as_str in its init now 2022-08-26 13:36:43 +02:00
DevilXD 431fa6adcc Fix a bug with GQL operations containing variables getting their defaults overwritten 2022-08-22 21:15:23 +02:00
DevilXD 05466364d1 Implement the translation feature 2022-08-18 22:28:30 +02:00
DevilXD f919850ad2 Typing update 2022-07-31 21:40:03 +02:00
DevilXD 6da3d4c14c Fix an issue with a typing_extension import not being protected by a typing check 2022-04-07 16:56:48 +02:00
DevilXD 5af4ee79c3 Remove Game Selector;
Implement multi-game mining based on the priority list
2022-03-30 14:15:26 +02:00
DevilXD f7b0a5f2cc Implement the inventory tab 2022-03-27 14:03:11 +02:00
DevilXD a30aa6f403 Fix autostart working directory breaking paths 2022-03-17 12:33:53 +01:00
DevilXD 25bc398ec1 More URLs cleanup 2022-03-11 17:28:50 +01:00
DevilXD 9ad0979d0e De-async initialize and URLs cleanup 2022-03-11 17:24:29 +01:00
DevilXD 6561f5bcd9 Update user agent 2022-03-10 19:13:39 +01:00
DevilXD 8be7c097a0 Watch interval is now whole 59 seconds 2022-03-10 18:31:38 +01:00
DevilXD a10c0bf389 Fix typing runtime problems 2022-02-27 12:23:13 +01:00
DevilXD 92d722fd0c Change typing to 3.10 syntax 2022-02-27 12:07:40 +01:00
DevilXD 82b6d59194 Fix incorrect stream state subscribtion topic 2022-02-14 18:25:12 +01:00
DevilXD 20949e7738 Unify constants variables documentation 2022-01-25 16:04:56 +01:00
DevilXD 75179dc69f Fix isEnabled KeyError 2022-01-22 19:32:13 +01:00
DevilXD bd9d818b21 Implement support for campaign ACLs 2022-01-22 15:31:44 +01:00
DevilXD 97d6ac1b29 Move asyncio loop handling to main.py 2022-01-17 17:04:31 +01:00
DevilXD cf1830cce9 Stop automatic switching between games;
IDLE state + listbox selection clear fix
2022-01-16 22:50:09 +01:00
DevilXD fd030e33f6 Quit if the application is already running 2022-01-14 15:10:36 +01:00
DevilXD a91644d6de Latest user agent, cleanup comments and docstrings;
ONLINE_DELAY: 60s -> 120s
2022-01-12 12:11:04 +01:00
DevilXD cab3c584fb Change campaigns refresh every hour to channel cleanup;
Separate off GAMES_UPDATE from INVENTORY_FETCH
2022-01-12 11:50:16 +01:00