144 lines
3.7 KiB
Markdown
144 lines
3.7 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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
|
|
|