@coffeerunhobby/mcp-ha-connect 2.4.6 → 2.4.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.env.example +10 -0
- package/README.md +25 -8
- package/dist/config.d.ts +2 -0
- package/dist/config.js +4 -0
- package/dist/config.js.map +1 -1
- package/dist/net/adapters/omada.d.ts +96 -10
- package/dist/net/adapters/omada.js +909 -68
- package/dist/net/adapters/omada.js.map +1 -1
- package/dist/net/adapters/omadaPorts.d.ts +62 -0
- package/dist/net/adapters/omadaPorts.js +212 -0
- package/dist/net/adapters/omadaPorts.js.map +1 -0
- package/dist/net/adapters/omadaRules.d.ts +141 -0
- package/dist/net/adapters/omadaRules.js +595 -0
- package/dist/net/adapters/omadaRules.js.map +1 -0
- package/dist/net/model.d.ts +38 -11
- package/dist/net/model.js.map +1 -1
- package/dist/omadaClient/accessControl.js +4 -1
- package/dist/omadaClient/accessControl.js.map +1 -1
- package/dist/omadaClient/index.d.ts +4 -0
- package/dist/omadaClient/index.js +3 -0
- package/dist/omadaClient/index.js.map +1 -1
- package/dist/omadaClient/networkConfig.d.ts +30 -0
- package/dist/omadaClient/networkConfig.js +69 -0
- package/dist/omadaClient/networkConfig.js.map +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/net/index.d.ts +148 -1
- package/dist/tools/net/index.js +246 -10
- package/dist/tools/net/index.js.map +1 -1
- package/dist/tools/omada/listClients.js +1 -1
- package/dist/tools/omada/listClients.js.map +1 -1
- package/dist/upstreams.d.ts +1 -0
- package/dist/upstreams.js +2 -1
- package/dist/upstreams.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -6
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omadaPorts.js","sourceRoot":"","sources":["../../../src/net/adapters/omadaPorts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* net_ rules on Omada (2.4.7): the neutral Rule <-> Omada gateway ACL.
|
|
3
|
+
*
|
|
4
|
+
* The gateway (ER605) routes between the VLANs, so network-to-network policy lives in
|
|
5
|
+
* gateway ACLs with direction LAN→LAN; rules towards the internet are LAN→WAN.
|
|
6
|
+
*
|
|
7
|
+
* Verified on the live controller (6.3.0.45, ER605 v2, 2026-10-20):
|
|
8
|
+
* - LAN→LAN rules between networks (endpoint type 0) and towards an IP-port group
|
|
9
|
+
* (endpoint type 2); IP-port groups {type: 1, ipList, portType: 0, portList: ["1883"]};
|
|
10
|
+
* - stateMode 0 ("Auto") is stateful on the ER605: TP-Link's one-way VLAN guide (deny
|
|
11
|
+
* IoT→LAN, Auto) leaves the LAN able to reach IoT and IoT unable to reach the LAN, so a
|
|
12
|
+
* block rule does not drop replies. "Manual" connection states are not verified, so a
|
|
13
|
+
* rule that also matches replies is refused.
|
|
14
|
+
* Not offered through the API, so refused: the gateway itself as a destination (gateway
|
|
15
|
+
* ACLs filter traffic passing through it), one device by MAC, schedules (the omada_
|
|
16
|
+
* time-range tools do those).
|
|
17
|
+
*
|
|
18
|
+
* Addresses given in a rule become an IP group (or IP-port group) the rule owns: its
|
|
19
|
+
* name starts with the rule's tag "[net:<key>]", which also ends the ACL description, so
|
|
20
|
+
* they are listed as part of the rule and removed with it.
|
|
21
|
+
*/
|
|
22
|
+
import type { RawRecord } from '../../omadaClient/networkConfig.js';
|
|
23
|
+
import { type Network, type Ref, type Rule } from '../model.js';
|
|
24
|
+
export declare const POLICY: {
|
|
25
|
+
readonly block: 0;
|
|
26
|
+
readonly allow: 1;
|
|
27
|
+
};
|
|
28
|
+
export declare const ENDPOINT: {
|
|
29
|
+
readonly network: 0;
|
|
30
|
+
readonly ipGroup: 1;
|
|
31
|
+
readonly ipPortGroup: 2;
|
|
32
|
+
readonly ssid: 4;
|
|
33
|
+
};
|
|
34
|
+
export declare const GROUP_TYPE: {
|
|
35
|
+
readonly ip: 0;
|
|
36
|
+
readonly ipPort: 1;
|
|
37
|
+
};
|
|
38
|
+
/** Omada's ACL description limit, minus room for the " [net:xxxxxxxx]" tag. */
|
|
39
|
+
export declare const MAX_RULE_NAME: number;
|
|
40
|
+
/** Everything the rule mapping reads from the controller. */
|
|
41
|
+
export interface RuleWorld {
|
|
42
|
+
networks: Network[];
|
|
43
|
+
/** Gateway ACLs in evaluation order. */
|
|
44
|
+
acls: RawRecord[];
|
|
45
|
+
ipGroups: RawRecord[];
|
|
46
|
+
ipPortGroups: RawRecord[];
|
|
47
|
+
ssids: Array<{
|
|
48
|
+
id: string;
|
|
49
|
+
name: string;
|
|
50
|
+
}>;
|
|
51
|
+
/** The controller's and this server's IPv4 addresses (numbers), or 'unknown' when one can't be resolved. */
|
|
52
|
+
controllerAddresses: number[] | 'unknown';
|
|
53
|
+
}
|
|
54
|
+
type Direction = 'lanToLan' | 'lanToWan';
|
|
55
|
+
/** One side of a rule: existing Omada objects, or a group the rule will own. */
|
|
56
|
+
export type Endpoint = {
|
|
57
|
+
type: number;
|
|
58
|
+
ids: string[];
|
|
59
|
+
label: string;
|
|
60
|
+
} | {
|
|
61
|
+
type: number;
|
|
62
|
+
newGroup: {
|
|
63
|
+
groupType: 0 | 1;
|
|
64
|
+
body: RawRecord;
|
|
65
|
+
};
|
|
66
|
+
label: string;
|
|
67
|
+
};
|
|
68
|
+
export interface RuleDraft {
|
|
69
|
+
name: string;
|
|
70
|
+
direction: Direction;
|
|
71
|
+
policy: number;
|
|
72
|
+
protocols: number[];
|
|
73
|
+
source: Endpoint;
|
|
74
|
+
destination: Endpoint;
|
|
75
|
+
enabled: boolean;
|
|
76
|
+
effects: string[];
|
|
77
|
+
}
|
|
78
|
+
export type RuleFields = Pick<Rule, 'name' | 'action' | 'from' | 'to' | 'protocol' | 'replies' | 'schedule' | 'enabled'>;
|
|
79
|
+
export declare function ruleKey(description: string): string | undefined;
|
|
80
|
+
export declare function ruleName(description: string): string;
|
|
81
|
+
export declare function newRuleKey(): string;
|
|
82
|
+
export declare function tagged(name: string, key: string | undefined): string;
|
|
83
|
+
/** A name for a group the rule owns, not among `taken` (an update must never reuse the name of the group it replaces). */
|
|
84
|
+
export declare function ownedGroupName(key: string, side: 'from' | 'to', taken: Set<string>): string;
|
|
85
|
+
export declare function ownsGroup(key: string | undefined, group: RawRecord): boolean;
|
|
86
|
+
/** Whether a group belongs to some net_ rule (never shared: it goes when its last user does). */
|
|
87
|
+
export declare function isOwnedGroup(group: RawRecord): boolean;
|
|
88
|
+
/** The rule's direction as stored on the controller, when it is a plain one. */
|
|
89
|
+
export declare function rawDirection(raw: RawRecord): Direction | undefined;
|
|
90
|
+
/** By id, or by unique name (case-insensitive); an exact id given as a name wins. */
|
|
91
|
+
export declare function resolve<T extends {
|
|
92
|
+
id: string;
|
|
93
|
+
name: string;
|
|
94
|
+
}>(items: T[], ref: Ref, what: string): T;
|
|
95
|
+
export declare function toRule(raw: RawRecord, position: number, world: RuleWorld): Rule;
|
|
96
|
+
/**
|
|
97
|
+
* Validates a rule and works out its Omada shape. `self` is the rule being changed (its
|
|
98
|
+
* own name doesn't collide; on update, sides that didn't change keep their Omada objects).
|
|
99
|
+
*/
|
|
100
|
+
export declare function draftRule(value: RuleFields, world: RuleWorld, self?: {
|
|
101
|
+
raw: RawRecord;
|
|
102
|
+
rule: Rule;
|
|
103
|
+
}): RuleDraft;
|
|
104
|
+
/** A rule that may apply to the controller's internet traffic; `key` changes when anything that matters about it does. */
|
|
105
|
+
export interface PathRule {
|
|
106
|
+
key: string;
|
|
107
|
+
name: string;
|
|
108
|
+
allow: boolean;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The rules that may apply to the controller's (and this server's) internet traffic, in
|
|
112
|
+
* the order the gateway checks them: enabled, towards the internet, with a source that
|
|
113
|
+
* may hold the controller (also when that can't be read or its address is unknown),
|
|
114
|
+
* whatever destination, protocol or schedule they name.
|
|
115
|
+
* - `active`: those that can still decide, up to and including the first complete
|
|
116
|
+
* exception (an allow of everything, all protocols, no schedule, Auto states, whose
|
|
117
|
+
* source surely holds the controller); `shadowed`: those after it, which never apply.
|
|
118
|
+
* - `certain`: the first active rule is a complete block that surely holds the
|
|
119
|
+
* controller, so it is cut off today whatever else the list says.
|
|
120
|
+
*/
|
|
121
|
+
export declare function controllerPath(acls: RawRecord[], world: RuleWorld): {
|
|
122
|
+
active: PathRule[];
|
|
123
|
+
shadowed: Set<string>;
|
|
124
|
+
certain: boolean;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* Why a change would put the controller's internet traffic at risk, or undefined if it
|
|
128
|
+
* can't. Conservative: among the rules that may apply to that traffic, a change may only
|
|
129
|
+
* add allows and remove blocks. A new or changed block, a removed or changed allow, or
|
|
130
|
+
* a different order among them could expose some of its traffic to a block.
|
|
131
|
+
*/
|
|
132
|
+
export declare function controllerRisk(before: ReturnType<typeof controllerPath>, after: ReturnType<typeof controllerPath>): string | undefined;
|
|
133
|
+
/**
|
|
134
|
+
* The ACL a draft will become, for evaluating rule lists before anything is written: a
|
|
135
|
+
* group the rule will create is added to `world` under a placeholder id.
|
|
136
|
+
*/
|
|
137
|
+
export declare function draftAsAcl(draft: RuleDraft, id: string, world: RuleWorld, status?: boolean): {
|
|
138
|
+
acl: RawRecord;
|
|
139
|
+
world: RuleWorld;
|
|
140
|
+
};
|
|
141
|
+
export {};
|