Files
smartnftables/ts/index.ts
2026-03-26 10:32:05 +00:00

60 lines
1.2 KiB
TypeScript

// Main facade
export { SmartNftables } from './nft.manager.js';
// Sub-managers
export { NatManager } from './nft.manager.nat.js';
export { FirewallManager } from './nft.manager.firewall.js';
export { RateLimitManager } from './nft.manager.ratelimit.js';
// Executor
export { NftExecutor, NftNotRootError, NftCommandError } from './nft.executor.js';
// Rule builders (for advanced usage)
export {
buildTableSetup,
buildFilterChains,
buildTableCleanup,
} from './nft.rulebuilder.table.js';
export {
buildDnatRules,
buildSnatRule,
buildMasqueradeRule,
} from './nft.rulebuilder.nat.js';
export {
buildRateLimitRule,
buildPerIpRateLimitRule,
buildConnectionRateRule,
} from './nft.rulebuilder.ratelimit.js';
export {
buildFirewallRule,
buildIPSetCreate,
buildIPSetAddElements,
buildIPSetRemoveElements,
buildIPSetDelete,
buildIPSetMatchRule,
} from './nft.rulebuilder.firewall.js';
// Types
export type {
TNftProtocol,
TNftFamily,
TNftChainHook,
TNftChainType,
TNftPolicy,
TFirewallAction,
TCtState,
INftDnatRule,
INftSnatRule,
INftMasqueradeRule,
INftRateLimitRule,
INftConnectionRateRule,
INftFirewallRule,
INftIPSetConfig,
INftRuleGroup,
ISmartNftablesOptions,
INftStatus,
} from './nft.types.js';