• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

decentraland / comms-gatekeeper / 26661766696
85%
main: 85%

Build:
Build:
LAST BUILD BRANCH: feature/ip-banning
DEFAULT BRANCH: main
Ran 29 May 2026 08:58PM UTC
Jobs 1
Files 160
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

29 May 2026 08:56PM UTC coverage: 84.791% (-0.5%) from 85.325%
26661766696

Pull #263

github

decentraland-bot
Add IP banning feature: connection logging, IP bans, and transitive banning

- New migration (1772000000000_ip-banning) adds connection_logs and ip_bans
  tables. connection_logs records wallet↔IP pairs on every successful token
  request; a 90-day TTL cleanup cron is a follow-up item.

- IP extraction (x-forwarded-for → x-real-ip) runs on every comms-scene
  request; the (address, ip) pair is logged after credentials are issued.

- IP ban check is performed before issuing a token; banned IPs receive 403.

- New DB adapter (ip-moderation-db) and logic component (ip-moderation)
  mirror the existing user-moderation layer: banIp, liftIpBan,
  getIpBanStatus, logConnection, getIpsByAddress, getAddressesByIp,
  banAllIpsForAddress, banAllAddressesForIp.

- New REST endpoints: POST/GET/DELETE /ips/:ip/bans, GET /users/:address/ips,
  GET /ips/:ip/users; all protected by the existing moderator middleware.

- POST /users/:address/bans gains an optional banAllKnownIps boolean for
  transitive banning; POST /ips/:ip/bans gains banAllKnownAddresses.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Pull Request #263: Add IP banning: connection logging, IP bans, and transitive banning

1102 of 1440 branches covered (76.53%)

Branch coverage included in aggregate %.

162 of 196 new or added lines in 17 files covered. (82.65%)

2 existing lines in 1 file now uncovered.

3163 of 3590 relevant lines covered (88.11%)

73.87 hits per line

Uncovered Changes

Lines Coverage ∆ File
10
76.47
-13.22% src/controllers/handlers/comms-scene-handler.ts
4
90.24
src/adapters/ip-moderation-db.ts
3
77.27
src/controllers/handlers/ip-moderation/ban-ip-handler.ts
3
50.0
src/controllers/handlers/ip-moderation/get-addresses-by-ip-handler.ts
3
50.0
src/controllers/handlers/ip-moderation/get-ips-by-address-handler.ts
3
50.0
src/controllers/handlers/ip-moderation/ip-ban-status-handler.ts
3
70.59
src/controllers/handlers/ip-moderation/lift-ip-ban-handler.ts
2
42.86
src/logic/ip-moderation/extract-ip.ts
2
81.82
src/migrations/1772000000000_ip-banning.ts
1
63.64
-8.59% src/controllers/handlers/user-moderation/ban-player-handler.ts

Coverage Regressions

Lines Coverage ∆ File
2
20.93
-2.33% src/adapters/scene-stream-access-manager.ts
Jobs
ID Job ID Ran Files Coverage
1 26661766696.1 29 May 2026 08:58PM UTC 320
86.13
GitHub Action Run
Source Files on build 26661766696
  • Tree
  • List 160
  • Changed 99
  • Source Changed 6
  • Coverage Changed 99
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26661766696
  • Pull Request #263
  • PR Base - main (#25802318683)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc