TWSNMP FK

June 10, 2026 · View on GitHub

日本語版はこちら

Go Report Card GitHub Go version GitHub release (latest by date) GitHub License GitHub Repo stars 【Built with】 Go Wails Svelte

TWSNMP FK is a next-generation Network Management System. It combines the performance of Go, the simplicity of Svelte, and the seamless desktop experience of Wails to provide a lightweight yet powerful observability tool.

TWSNMP FK


Ultra lightweight SNMP manager. To keep maps and event logs, etc. always visible. It is designed to be used in Windows kiosk mode. Of course, it can also be used as a normal application.

Document

English

Status

The following functions will work

  • Network map
  • Node list
  • Polling (PING/TCP/HTTP/NTP/DNS/SNMP/gNMI)
  • Event log
  • Syslog reception
  • SNMP TRAP reception
  • ARP monitoring
  • MIB browser
  • PING Confirmation
  • Panel Display
  • Host resource MIB display
  • Wake On LAN support
  • HTML e-mail notification, periodic report
  • AI Analysis
  • NetFlow/IPFIX
  • sFlow
  • gNMI
  • PKI (CA and CRL/OCSP/ACME/SCEP server)
  • SSH Server
  • TCP Log server
  • OpenTelemetry collector
  • MCP Server
  • MQTT Server and Polling

Build

The following environment is used for development

  • go 1.24 or higher
  • wails 2.9.3 or higher
  • nsis
  • go-task

You can build it with the following command.

task

Run

Double-click from the built executable file to drive it as a normal application.

Special Notes for Linux Environments

In Linux environments, running the application as a normal user will result in permission errors during startup (e.g., socket: operation not permitted when setting up ICMP Ping, or errors when binding to privileged ports under 1024 like 514 for Syslog or 162 for Trap).

To resolve this securely, do not run the application directly with sudo (which will break connection to the X11/Wayland display server, preventing the GUI from launching). Instead, grant the executable the required Capabilities to bind to privileged ports and use raw sockets, and then run it as a normal user.

Additionally, modern Linux distributions (like Ubuntu) do not have the arp command installed by default. You must install the net-tools package to use the ARP monitoring feature.

  1. Grant Capabilities:
    sudo setcap 'cap_net_bind_service,cap_net_raw+ep' ./twsnmpfk
    
  2. Install ARP Monitoring Tools (net-tools):
    sudo apt-get update && sudo apt-get install -y net-tools
    
  3. Run as a normal user:
    ./twsnmpfk
    

This allows the application to perform ping monitoring, ARP monitoring, and receive syslog/traps while properly displaying the GUI interface under your user session.

It can also be started from the command line by specifying the following parameters:

Usage of twsnmpfk:
 -caCert string
    	CA Cert path
  -clientCert string
    	Client cert path
  -clientKey string
    	Client key path
  -datastore string
    	Path to data store directory
  -kiosk
    	Kisok mode(frameless and full screen)
  -lang string
    	Language(en|jp)
  -lock string
    	Disable edit map and lock page(map or loc)
  -maxDispLog int
    	Max log size to diplay (default 10000)
  -mcpCert string
    	MCP server cert path
  -mcpKey string
    	MCP server key path
  -mqttCert string
    	MQTT server cert path
  -mqttFrom string
    	MQTT client IP
  -mqttKey string
    	MQTT server key path
  -mqttTCPPort int
    	MQTT server TCP port (default 1883)
  -mqttUsers string
    	MQTT user and password
  -mqttWSPort int
    	MQTT server WebSock port (default 1884)
  -netflowPort int
    	Netflow port (default 2055)
  -notifyOAuth2Port int
    	OAuth2 redirect port (default 8180)
  -otelCA string
    	OpenTelementry CA cert path
  -otelCert string
    	OpenTelemetry server cert path
  -otelGRPCPort int
    	OpenTelemetry server gRPC port (default 4317)
  -otelHTTPPort int
    	OpenTelemetry server HTTP port (default 4318)
  -otelKey string
    	OpenTelemetry server key path
  -ping string
    	ping mode icmp or udp
  -sFlowPort int
    	sFlow port (default 6343)
  -sshdPort int
    	SSH server port (default 2022)
  -syslogPort int
    	Syslog port (default 514)
  -tcpdPort int
    	tcp server port (default 8086)
  -trapPort int
    	SNMP TRAP port (default 162)

ParametersDescription
dataStoreDatstore Pass
kioskKiosk mode (frameless, full screen)
lock disable edit map and show fixed page
Maxdisplog Maximum number of logs (default 10000)
ping Ping operation mode (ICMP or UDP)
syslogPort Syslog receiving port (default 514)
trapPort SNMP TRAP Reception port (Default 162)
sshdPort SSH server port (Default 162)
sshdPort SSH Server Receive Port (Default 2022)
netflowPort NetFlow/IPFIX receive port (default 2055)
sFlowPort sFlow receiving port (default 6343)
tcpdPort TCP log receiving port (default 8086)
otelCAOpenTelementry CA cert path
otelCertOpenTelemetry server cert path
otelGRPCPortOpenTelemetry server gRPC port (default 4317)
otelHTTPPortOpenTelemetry server HTTP port (default 4318)
otelKeyOpenTelemetry server key path
mqttTCPPortMQTT server TCP port (default 1883)
mqttWSPortMQTT server Websock port (default 1884)
mqttCertMQTT server cert path
mqttKeyMQTT server key path
mqttFromMQTT server Client
mqttUsersMQTT server User ID and password list
mcpCertMCP server cert path
mcpKeyMCP server key path
notifyOAuth2PortOAuth2 redirect port (default 8180)

History

v1.35.0 (2026/06/11)

Custom SNMP Port Configuration

  • Custom Port Settings: Added a custom SNMP Port field to both Node and Network configuration dialogs. SNMP operations, including polling and reporting, will now respect the customized port (defaults to 161 if set to 0).

MQTT Feature Enhancements

  • Enhanced Polling Node Selection: Enhanced the node selection logic when creating MQTT polling items from MQTT statistics. It prioritizes (1) Matching remote IP address, (2) Localhost/TWSNMP broker node, (3) Falling back to the first available node.
  • Topic Operations: Added "Copy Topic" and "Create Polling" options directly into the MQTT statistics list view.
  • Auto-Cleanup of Statistics: Added automatic cleanup of old MQTT statistics based on the configured log retention days.

Security & Compliance Remediations

  • Dependency Upgrades: Upgraded go.opentelemetry.io/otel/sdk to v1.43.0 (CVE-2026-39883), go.opentelemetry.io/otel to v1.41.0 (CVE-2026-29181), and go-jose to v4.1.4 (GO-2026-4945) to patch known vulnerabilities.
  • GoSec & CodeQL Security Fixes: Fixed several code scanning security alerts (G112, G122, G204, G306, G401, G402, G505) covering file permissions, command variables, timeouts, weak hashes, TLS, and loop pointers.
  • SSHd Logging & Refactoring: Resolved integer conversion warnings in the SSH server module (logger/sshd) and cleaned up verbosity/sensitive logs.

UI/UX and Translation Polish

  • Wails Local Schema: Introduced a local VS Code schema for wails.json to resolve trust-related warning messages in editors.
  • Localization Corrections: Corrected multiple typos, spelling mistakes, and translation inconsistencies across Japanese and English locales.

v1.34.0 (2026/05/26)

Official Linux Support and Enhancements

  • CI Auto-Build & Release Pipeline: Added a GitHub Actions workflow (build-linux.yml) to automatically build and package the Linux version (.tar.gz).
  • Ubuntu 24.04 Compatibility in CI: Upgraded WebKit2Gtk to 4.1 to ensure compatibility and smooth building on Ubuntu 24.04 in CI.
  • Linux Capability and Execution Instructions: Added step-by-step instructions to the README and web docs on running twsnmpfk as a standard user with proper Linux Capabilities (setcap for cap_net_bind_service and cap_net_raw) rather than sudo.
  • ARP Monitoring Dependency: Documented that net-tools is required for Linux ARP monitoring.

Cleanup of Deprecated Features

  • Removal of Unsupported SNMPv1: Completely removed SNMPv1 options and controls from map, node, and network configuration UIs.
  • Import & Help Docs Synchronization: Refactored the v4 map import logic to align with the SNMPv1 deprecation, and updated corresponding English and Japanese help files (editnetwork.md, editnode.md, mapconf.md).

UI Improvements and Bug Fixes

  • Long URL Menu Layout Fix: Resolved a layout bug in the node right-click menu where extremely long URLs would squash the associated menu icons.
  • Network Report VPanel Port Wrap: Enhanced the virtual panel (VPanel) under Network/Node reports by introducing customizable Port Wrap and zoom settings.

Security and Maintenance

  • Vulnerability Mitigations: Audited and upgraded Go modules and frontend NPM dependencies to patch known security vulnerabilities.
  • Framework Updates: Bumped Wails framework to v2.12.0 and upgraded TypeScript to 5.5.x.

Documentation and Presentation Slide Updates

  • Marp Presentation Theme Fix: Resolved the "graph_paper" theme error in Marp by introducing a local graph_paper.css file and registering it in VS Code settings. Regrew and updated the distributable PDF slide manuals.
  • Custom Website Headers: Added a custom head snippet (head-custom.html) to the Jekyll-based web docs for easier customization of theme settings, analytics, and OGP metadata.

v1.33.0 (2026/03/17)

SNMPv3 Security Enhancements

  • Enhanced Security Modes: Added support for SHA256/AES128 and SHA512/AES256 authentication and encryption modes, providing stronger security for SNMP monitoring.

Map and UI Improvements

  • Node IP Display: Added an option to display node IP addresses directly on the map for easier identification.
  • Group Drawing Items: Introduced new "group" (frame/background) drawing items to better organize nodes and areas on the map.
  • VPanel Enhancements: Added zoom control and port wrap control for the virtual panel (VPanel) in both node and network reports.
  • Clean Map Style: Removed the background rectangle for unselected nodes to provide a cleaner and less cluttered map interface.

Drawing Item Enhancements

  • Opacity Support: Added support for setting the opacity (transparency) of drawing items.
  • Background Image UI: Improved the user interface for background image settings, making it more intuitive to customize map backgrounds.

Security and Maintenance

  • Vulnerability Fixes: Updated Go and npm dependencies to address the latest security concerns.

v1.32.0 (2026/02/27)

AI (LLM) Integration Features

  • MIB Browser Enhancements: Added natural language MIB search and AI-powered MIB object explanation.
  • Log Analysis Support: Integrated AI explanations for NetFlow, Syslog, and SNMP Trap logs.
  • Periodic Report Summarization: Added an AI-driven summary feature for periodic reports to quickly grasp network status.
  • Multi-Provider Support: Supports multiple LLM providers including Gemini (Google AI), OpenAI, Anthropic (Claude), and Ollama (local LLM).

Map and Display Improvements

  • SVG Format Support: Added support for SVG node images on maps, ensuring high quality at any scale.
  • Node Display Adjustments: Optimized icon sizing and layout based on node selection status.
  • Component Refactoring: Reusable "Neko" animation component for consistent UI across MIB Browser and other views.

Security and Maintenance

  • Vulnerability Fixes: Updated Go and npm dependencies to address security concerns.
  • Documentation Update: Separated README into English and Japanese versions for better maintainability.
  • Bug Fixes: Resolved translation issues in LLM settings and fixed minor UI typos.