| 14 | func (m aboutModel) Update(tea.Msg) (aboutModel, tea.Cmd) { return m, nil } |
| 15 | |
| 16 | func (m aboutModel) View() string { |
| 17 | version := m.app.opts.Version |
| 18 | if version == "" { |
| 19 | version = "0.0.0-dev" |
| 20 | } |
| 21 | content := lipgloss.JoinVertical(lipgloss.Left, |
| 22 | sectionStyle.Render("snix"), |
| 23 | "", |
| 24 | kvLine("Version", version), |
| 25 | kvLine("License", "GPL-3.0 (matches upstream)"), |
| 26 | kvLine("Upstream", "github.com/patterniha/SNI-Spoofing"), |
| 27 | kvLine("Author", "@patterniha (core algorithm, Python)"), |
| 28 | kvLine("This fork", "Go rewrite with cross-platform backends, TUI, scanner"), |
| 29 | "", |
| 30 | sectionStyle.Render("Acknowledgements"), |
| 31 | "", |
| 32 | "• WinDivert — by Basil Fierz (reqrypt.org/windivert.html)", |
| 33 | "• NFQUEUE / netfilter — Linux kernel", |
| 34 | "• Bubble Tea — charmbracelet/bubbletea", |
| 35 | "• Lipgloss — charmbracelet/lipgloss", |
| 36 | "• Cobra — spf13/cobra", |
| 37 | "", |
| 38 | hintStyle.Render("Support the upstream author:"), |
| 39 | " USDT (BEP20): 0x76a768B53Ca77B43086946315f0BDF21156bF424", |
| 40 | " Telegram: @patterniha", |
| 41 | ) |
| 42 | return panelStyle.Render(content) |
| 43 | } |