diff options
Diffstat (limited to 'packages/console/app/src')
| -rw-r--r-- | packages/console/app/src/routes/zen/util/handler.ts | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/packages/console/app/src/routes/zen/util/handler.ts b/packages/console/app/src/routes/zen/util/handler.ts index 3163de346..ebf42f4b2 100644 --- a/packages/console/app/src/routes/zen/util/handler.ts +++ b/packages/console/app/src/routes/zen/util/handler.ts @@ -239,10 +239,10 @@ export async function handler( .filter((provider) => !provider.disabled) .flatMap((provider) => Array<typeof provider>(provider.weight ?? 1).fill(provider)) - // Use last character of IP address to select a provider - const lastChar = ip.charCodeAt(ip.length - 1) || 0 - const index = lastChar % providers.length - const provider = providers[index] + // Use the last 2 characters of IP address to select a provider + const lastChars = ip.slice(-2) + const index = parseInt(lastChars, 16) % providers.length + const provider = providers[index || 0] if (!(provider.id in zenData.providers)) { throw new ModelError(`Provider ${provider.id} not supported`) |
