- Python 100%
|
|
||
|---|---|---|
| units | ||
| install.py | ||
| install_units.py | ||
| README.md | ||
| runelite-logback.xml | ||
| runelite_logging.py | ||
| upload_bank.py | ||
osrsprices uploader
Sends your bank, GE trades and GE offers from RuneLite to osrsprices.korvanick.com, so its Flip, Buy, Sell and Home pages work from what you really own and trade. Linux, Python 3.9 or newer, no sudo.
Install
-
In RuneLite, from the Plugin Hub (the plug icon in the sidebar):
Plugin By Needed for Character Export DZWNK your bank, inventory, equipment, skills and collection log (required) Flipping Utilities Beliael, Gamersriseup, Anyny0 your GE trades and open offers (required) Item Charges Improved TicTac7x what your charged gear holds: blowpipe, tridents, scythe, tomes... (optional) Dude, Where's My Stuff? Thource your rune pouch (optional) Character Export's settings: leave Export bank, inventory, equipment, character and collection log on (they are on by default). Then log in and open your bank once; open your collection log once too. With two accounts, do that on each.
-
In a terminal:
git clone https://git.korvanick.com/nick/osrsprices-uploader.git ~/osrsprices-uploader python3 ~/osrsprices-uploader/install.py --player <your character name>With two accounts, name both:
--player <one> --player <other>(or run it again later with the other; the first is kept). Each account must be one the site's owner has added.It checks the plugins, asks for the site's password once (ask the site's owner; it is saved in
~/.config/osrsprices/password, readable only by you), checks it with the site, and starts background services: one per account that sends its bank each time you close it in game, and one that sends your GE offer changes every 5 minutes while RuneLite runs. It asks two questions, both no by default: desktop pop-ups when the Flip list says to do something, and the live offer log (below).
Status any time: python3 ~/osrsprices-uploader/install.py --check.
What it sent: journalctl --user -u 'osrsprices-bank-upload@*' -u osrsprices-live-upload.
Update: cd ~/osrsprices-uploader && git pull, then run install.py again
(since 2026-10-21 the services are one per account: set up before that,
run python3 install.py --player <one> --player <other> once).
Remove: python3 ~/osrsprices-uploader/install.py --uninstall.
What it reads, sends and never does
The uploader is a separate program on your computer. It is not a RuneLite plugin, never runs inside RuneLite, never connects to RuneLite or the game, and never sends anything to either: it only reads files that RuneLite and its plugins already save on your disk.
It reads (and never changes) these, in your RuneLite folder:
character-exporter/<you>/: bank, inventory, equipment, character (skills) and collection log, as Character Export saves them;plugin-data/flipping-utilities/<you>.json(and the olderflipping/): your GE offers, as Flipping Utilities saves them (each account's own file only, by its name in any case);profiles2/: RuneLite's saved settings, and only the keys of Item Charges Improved (tictac7x-charges.*), Dude, Where's My Stuff?'s rune pouch, which settings profile belongs to your character, and your accounts' character names (to tell their GE lines apart);logs/client*.log: only the Grand Exchange plugin's "GE offer updated" lines and the Loot Tracker's "Switched to profile" line (which account logged in). GE lines of an account you did not set up are not sent;- whether RuneLite is running (its process, by name), so it asks the site nothing while RuneLite is closed.
It sends that, over HTTPS, only to osrsprices.korvanick.com (with the site's
password), and nowhere else. It writes only its own files: the password in
~/.config/osrsprices/ and what it last sent in ~/.local/state/osrsprices/.
Everything it does is in upload_bank.py, plain Python with nothing else
installed.
You act on what the site says yourself, in game; nothing is automated.
The live offer log (optional)
RuneLite's own Grand Exchange plugin writes a line to RuneLite's log file
each time one of your offers changes, but only in RuneLite's debug mode,
which logs everything (and on some setups stops RuneLite from closing).
runelite_logging.py (install.py asks first) does two things and nothing
else: it puts logback-osrsprices.xml in your RuneLite folder (RuneLite's
own logging settings, unchanged, plus two lines that send the Grand
Exchange plugin's offer lines and the Loot Tracker's few lines, which say
which account logged in, to the log file; install.py updates that file when
it is already there), and in the RuneLite
launcher's settings.json it turns debug mode off and adds one Java option
pointing at that file. It only changes which lines RuneLite writes to its
own log on your disk; it adds no code to RuneLite and changes nothing in the
game. python3 runelite_logging.py --undo puts it back (a copy of your
settings is kept). Without it the site still gets your trades, from
Flipping Utilities, when you log out.
With two accounts, each GE line goes to the account logged in when it was written. Play them one at a time in one client: two clients logged in at once write to the same log, and their lines cannot be told apart.