Oh, I forgot about the problem with the key. As it turns out, Transmission generates them by picking a random number between 1 and 2^31 minus 1 and converting it to hexadecimal, without leading zeros.
Code:
"keyGenerator": {
"type": "digit_range_transformed_to_hex",
"randomDigitLowerBound": 1,
"randomDigitUpperBound": 2147483647,
"refreshOn": "NEVER",
"case": "lower",
},
However, neither RatioMaster Plus nor mRatio can handle the "without leading zeros" clause. I fixed that by using the regular expression [1-7][0-9a-f]{7}, dodging the problem by only generating keys between 10000000 and 7fffffff. However, a side effect is that if/when Transmission generates a key below 10000000 (which would occur on ~12.5% of startups), the memory reader will not consider it valid. The only solution is to restart the client until the memory reader works.
Bookmarks