Skip to content

A fully interactive contact form accessible via SSH, designed for secure and efficient communication without a web interface

Notifications You must be signed in to change notification settings

jarmani/sshemesshemeya

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SSHme SSHme Ya

Hey, baby, I like it rawww...
Shimmy shimmy ya, shimmy yam, shimmy yay
— Ol' Dirty Bastard "Shimmy Shimmy Ya"

A fully interactive contact form accessible via SSH, designed for secure and efficient communication without a web interface.

Key features

  • Fully configurable using environment variable
  • Input validation
  • Navigation using Tab/Shift-Tab
  • Email submission to the configured address
  • Advanced anti-spam using last CAPTCHA technology
  • Satisfying animation to celebrate a successful submission

Demo

sshemesshemeya

Configuration

The configuration can be customized by setting the appropriate values in a .env file or directly through the environment.

BANNER

Type: string
Default: "WELCOME TO SSH FORM"
This sets the welcome banner that is displayed when a user connects to the form over SSH.
Example:

BANNER="\n\nWELCOME TO MY CUSTOM SSH FORM\n\n"

SERVER_HOST

Type: string
Default: "localhost"
Defines the SSH server host.
Example:

SERVER_HOST="0.0.0.0"

SERVER_PORT

Type: integer
Default: 2222
The port on which the SSH server listens.
Example:

SERVER_PORT=2222

SERVER_KEY_PATH

Type: string
Default: ".ssh/term_info_ed25519"
Path to the SSH server private key. This key is required to authenticate SSH connections.
Example:

SERVER_KEY_PATH="/path/to/your/ssh_key"

EMAIL_BODY

Type: string
Default: "{name} <{email}>\n{content}"
The format of the email body that will be sent upon form submission.
You can use placeholders {name}, {email}, and {content} that will be replaced by form values.
Example:

EMAIL_BODY="Name: {name}\nEmail: {email}\nMessage: {content}"

EMAIL_EXEC

Type: string
Default: "/usr/sbin/sendmail"
Command to send the email. By default, it uses the sendmail utility, but you can specify another mailer.
Example:

EMAIL_EXEC="/usr/bin/mail"

EMAIL_ARGS

Type: string
Default: ""
Optional arguments to pass to the email command when sending the message.
Example:

EMAIL_ARGS="-s 'Contact Form Submission'"

Usage example

Here’s an example .env file that sets up a custom banner, server host, and email body:

BANNER="\n\nWELCOME TO MY SSH CONTACT FORM\n\n"
SERVER_HOST="0.0.0.0"
SERVER_PORT=2222
SERVER_KEY_PATH="/etc/ssh/my_server_key"
EMAIL_BODY="New message from {name}: {content}"
EMAIL_EXEC="/usr/bin/mail"
EMAIL_ARGS="-s 'New Contact Submission'"

Based on

  • charmbracelet/lipgloss: Style definitions for terminal UIs, designed to build sophisticated, customizable terminal user interfaces.
  • charmbracelet/bubbletea: A functional Go framework for building rich terminal user interfaces based on the Elm architecture.
  • charmbracelet/bubbles: Components for Bubble Tea, providing reusable UI elements for terminal applications.
  • maaslalani/confetty: Confetti in your terminal, a fun way to celebrate inside the command line interface.
  • charmbracelet/wish: SSH-based remote shell and terminal UIs with an easy-to-use framework.
  • joho/godotenv: A Go library for managing environment variables from .env files.

About

A fully interactive contact form accessible via SSH, designed for secure and efficient communication without a web interface

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages