1
0

Compare commits

..

5 Commits

Author SHA1 Message Date
f226b34fb3 Actually there's a reason 2025-08-22 22:33:54 +00:00
630e73dbad Add more information to README 2025-08-19 17:34:44 +00:00
eb98e8a37e Add version to __init__.py
I might be incredibly stupid, if there's any better way to do this because I'm currently referencing it twice which is like.. potentially decoupling.. let me know please ;-;
2025-08-19 02:54:25 -04:00
d66585b87b Add custom tracked AppSettings configuration option 2025-08-19 01:10:59 -04:00
8febbba940 Make assignment logic smarter, so that I am not beheaded 2025-08-19 01:10:28 -04:00
4 changed files with 12 additions and 16 deletions

1
.gitignore vendored
View File

@@ -2,7 +2,6 @@
config.py
# Ignore Poetry garbage
poetry.lock
__pycache__
# IDIOT! IDIOT IDIOT IDIOT!

View File

@@ -2,7 +2,7 @@
I was asked to make an AppSettings archiver, so this should work as a rough attempt ... for now.
# How to install
Copy `config.example.py` to `config.py`. Configure your destination directory, and your ROBLOSECURITY cookie if you wish to provide one. I would recommend using an alternate Roblox account, mostly out of precaution. Your ROBLOSECURITY is not transmitted to any third party with this script, only Roblox will see your ROBLOSECURITY.
Copy `config.example.py` to `config.py`. Configure your destination directory, and your ROBLOSECURITY cookie if you wish to provide one. I would recommend using an alternate Roblox account, mostly out of precaution. Your ROBLOSECURITY is not transmitted to any third party with this script, only Roblox will see your ROBLOSECURITY. Some additional configuration options if you want to configure them are for overwriting the AppSettings list with your own (it could really just be anything with JSON), and a log level if you want to make things a little noisier.
This project uses [Poetry](https://python-poetry.org/), which has very clear documentation on how to install it:

View File

@@ -5,22 +5,15 @@ import logging
import sys
import json
VERSION = "0.0.1"
__version__ = "1.0.0"
# Load configuration
ROBLOSECURITY = config.roblosecurity or None
DST_DIR = config.dst_dir or './AppSettings'
LOG_LEVEL = config.log_level or 'INFO'
ROBLOSECURITY = getattr(config, 'roblosecurity', None)
DST_DIR = getattr(config, 'dst_dir', './AppSettings')
LOG_LEVEL = getattr(config, 'log_level', 'INFO')
# Collect AppSettings endpoints
AppSettings = {
"PCStudioApp": "https://clientsettingscdn.roblox.com/v2/settings/application/PCStudioApp",
"PCDesktopClient": "https://clientsettingscdn.roblox.com/v2/settings/application/PCDesktopClient",
"MacDesktopClient": "https://clientsettingscdn.roblox.com/v2/settings/application/MacDesktopClient",
"MacStudioClient": "https://clientsettingscdn.roblox.com/v2/settings/application/MacStudioApp",
"UWPApp": "https://clientsettingscdn.roblox.com/v2/settings/application/UWPApp",
"XboxClient": "https://clientsettingscdn.roblox.com/v2/settings/application/XboxClient",
"AndroidApp": "https://clientsettingscdn.roblox.com/v2/settings/application/AndroidApp",
}
AppSettings = getattr(config, 'CustomTrackedAppSettings', {"PCDesktopClient": "https://clientsettingscdn.roblox.com/v2/settings/application/PCDesktopClient", "MacDesktopClient": "https://clientsettingscdn.roblox.com/v2/settings/application/MacDesktopClient"})
# Prepare logs
if not os.path.exists("logs"):
@@ -37,6 +30,8 @@ log.setLevel(LOG_LEVEL)
log.addHandler(stdout_handler)
log.addHandler(logfile_handler)
log.info(f"AppSettings-archiver version {__version__} started")
if ROBLOSECURITY is None:
log.warning(f"{"#"*6} ROBLOSECURITY IS NOT SET, SOME FFLAGS MAY BE MISSING {"#"*6}")

View File

@@ -5,4 +5,6 @@ roblosecurity = ""
dst_dir = "./AppSettings"
# Log levels
log_level = "INFO"
log_level = "INFO"
CustomTrackedAppSettings = None