Files
gsinghpal d6bac8e623 updates
2026-02-22 01:37:50 -05:00
..
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00
2026-02-22 01:37:50 -05:00

Disable Odoo Online Services

Version: 18.0.1.0.0
License: LGPL-3
Odoo Version: 18.0

Overview

This module comprehensively disables all external communications between your Odoo instance and Odoo's servers. It prevents:

  • License/subscription checks
  • User count reporting
  • IAP (In-App Purchase) credit checks
  • Publisher warranty communications
  • Partner autocomplete/enrichment
  • Expiration warnings in the UI

Features

1. IAP JSON-RPC Blocking

Patches the core iap_jsonrpc function to prevent all IAP API calls:

  • Returns fake successful responses
  • Logs all blocked calls
  • Provides unlimited credits for services that check

2. License Parameter Protection

Protects critical ir.config_parameter values:

  • database.expiration_date → Always returns 2099-12-31 23:59:59
  • database.expiration_reason → Always returns renewal
  • database.enterprise_code → Always returns PERMANENT_LOCAL

3. Session Info Patching

Modifies session_info() to prevent frontend warnings:

  • Sets expiration date to 2099
  • Sets warning to False
  • Removes "already linked" subscription prompts

4. User Creation Protection

Logs user creation without triggering subscription checks:

  • Blocks any external validation
  • Logs permission changes

5. Publisher Warranty Block

Disables all warranty-related server communication:

  • _get_sys_logs() → Returns empty response
  • update_notification() → Returns success without calling server

6. Cron Job Blocking

Blocks scheduled actions that contact Odoo:

  • Publisher Warranty Check
  • Database Auto-Expiration Check
  • Various IAP-related crons

Installation

  1. Copy the module to your Odoo addons directory
  2. Restart Odoo
  3. Go to Apps → Update Apps List
  4. Search for "Disable Odoo Online Services"
  5. Click Install

Verification

Check that blocking is active:

docker logs odoo-container 2>&1 | grep -i "BLOCKED\|DISABLED"

Expected output:

IAP JSON-RPC calls have been DISABLED globally
Module update_list: Scanning local addons only (Odoo Apps store disabled)
Publisher warranty update_notification BLOCKED
Creating 1 user(s) - subscription check DISABLED

Configuration

No configuration required. The module automatically:

  • Sets permanent expiration values on install (via _post_init_hook)
  • Patches all necessary functions when loaded
  • Protects values from being changed

Technical Details

Files

File Purpose
models/disable_iap_tools.py Patches iap_jsonrpc globally
models/disable_online_services.py Blocks publisher warranty, cron jobs
models/disable_database_expiration.py Protects ir.config_parameter
models/disable_session_leaks.py Patches session info, user creation
models/disable_partner_autocomplete.py Blocks partner enrichment
models/disable_all_external.py Additional external call blocks

Blocked Endpoints

All redirected to http://localhost:65535:

  • iap.endpoint
  • publisher_warranty_url
  • partner_autocomplete.endpoint
  • iap_extract_endpoint
  • olg.endpoint
  • mail.media_library_endpoint
  • sms.endpoint
  • crm.iap_lead_mining.endpoint
  • And many more...

Dependencies

  • base
  • web
  • iap
  • mail
  • base_setup

Compatibility

  • Odoo 18.0 Community Edition
  • Odoo 18.0 Enterprise Edition

Disclaimer

This module is intended for legitimate use cases such as:

  • Air-gapped environments
  • Development/testing instances
  • Self-hosted deployments with proper licensing

Ensure you comply with Odoo's licensing terms for your use case.

Changelog

1.0.0 (2025-12-29)

  • Initial release
  • IAP blocking
  • Publisher warranty blocking
  • Session info patching
  • User creation protection
  • Config parameter protection