Skip to content

Repository files navigation

ssh-profile

Display your personal profile card in any terminal:

ssh john-profile

Quick Start

# 1. Clone and configure
cp .env.example .env       # copy template
# edit .env with your info
# replace assets/profile.JPG with your photo

# 2. Run
go run .                   # starts on localhost:2222 (from .env)

# 3. Test
ssh -p 2222 -o StrictHostKeyChecking=no localhost

Host keys are auto-generated on first run — no manual keygen needed.

Features

  • Interactive TUI — navigate with arrow keys between tabs
  • Figlet ASCII Name — "slant" font rendered in CYAN
  • Three tabs: About · Experience · Contacts
  • Career Timeline — vertical timeline with box-drawing characters
  • OSC-8 Hyperlinks — clickable links in supporting terminals
  • Intro Animation — boot-sequence style connection animation
  • CYAN Accent — consistent #00FFFF accent color throughout

Navigation

Key Action
Switch between tabs
Navigate contact links
Tab Cycle tabs
q Exit

Configuration

All profile fields can be set via environment variables in .env:

Variable Description
PORT SSH listen port (default: 22)
PROFILE_NAME Your display name
PROFILE_ROLE Your title / role
PROFILE_BIO Short bio
PROFILE_AVATAR Path to profile image
PROFILE_GITHUB GitHub URL
PROFILE_LINKEDIN LinkedIn URL
PROFILE_LEETCODE LeetCode URL
PROFILE_EMAIL Email address
PROFILE_LOCATION Location
PROFILE_STATUS Current status

Env vars override profile.yaml values. You can also edit profile.yaml directly.

SSH Shortcut

Add to ~/.ssh/config:

Host john-profile
  HostName yourapp.fly.dev
  Port 22
  StrictHostKeyChecking no

Then just ssh john-profile.

Deploy to Fly.io

fly launch
fly secrets set HOST_KEY="$(cat assets/host_key)"
fly ips allocate-v4
fly deploy

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages