DEV Community

JiMeJi Jin
JiMeJi Jin

Posted on AI-assisted

JTerm: iPhone, iPad, and Mac sync, clipboard tools, hosts mappings, and device IPs

Hi everyone, I’m the developer of JTerm.

If you manage servers on a Mac, use your iPhone to handle an issue while you’re out, or work from an iPad with a keyboard, these problems probably sound familiar: configuring the same server on three devices, keeping useful commands scattered across notes, repeatedly editing hosts entries for test environments, and checking your Mac’s current IP address before connecting to it.

JTerm brings these tasks into one workflow: syncing across iPhone, iPad, and Mac, an enhanced clipboard, hosts mapping management, and device IP information in My Machines. Here’s how those four features work together.

This is the English version of my original CSDN article, translated with AI assistance. The screenshots and illustrations are from that article; some contain Chinese text. The original CSDN offer code is included at the end.

JTerm’s native Mac SSH terminal workspace
Remote SSH sessions, host groups, and a workspace for multiple sessions on Mac.

1. Sync across iPhone, iPad, and Mac: configure once, reuse across devices

The most useful part of syncing is avoiding the same setup work on every device. With the same iCloud account, you can add servers, organize groups, and associate SSH keys on your Mac. Once the configuration syncs, select the same host on your iPhone or iPad to connect.

iPhone: handle a quick task wherever you are

iPhone is useful for short, focused tasks: checking a service’s status, reading a few lines of logs, or confirming that a job has finished. The terminal provides frequently used keys such as Esc, Ctrl, Alt, Tab, arrows, and the pipe character, reducing the need to hunt through the phone keyboard for symbols. Synced host and key settings save you from re-entering server details during an urgent check.

JTerm’s synced host list on iPhone
Use synced hosts, groups, and authentication settings directly on iPhone.

iPad: work for longer with a keyboard

iPad gives you more space for reading and typing. Its sidebar, portrait and landscape layouts, and hardware keyboard support suit longer logs, switching hosts, and browsing remote files. When traveling with an iPad, you can reuse the host groups and saved text organized on your Mac instead of maintaining another configuration.

JTerm’s iPad host sidebar and terminal workspace
An iPad workspace combining the host sidebar and terminal with synced connection details.

Mac: organize configurations and everyday work

Mac is suited to ongoing work: managing several SSH sessions, organizing hosts and keys, finding and favoriting commands, and editing and applying hosts mappings. Information organized here can sync to your phone and tablet, while configuration changes made on those devices can sync back.

What syncs?

  • SSH host settings: addresses, ports, usernames, groups, ordering, and jump-host relationships.
  • Key configuration: the key list and host-to-key associations. Passwords, private keys, and key passphrases are protected by Apple Keychain; credential sync across devices depends on iCloud Keychain.
  • Reusable content: saved commands and clipboard text favorites, aliases, and categories.
  • Hosts mappings: mapping configurations, reusable variables, and selected variable values.
  • My Machines: device names, platforms, and reported IP addresses for active network interfaces.

Display settings are saved separately for iPhone, iPad, and Mac, and sync between devices of the same type. Your phone can keep a font size suited to its smaller screen while your Mac keeps its own display preferences.

Sign in to the same iCloud account on your devices and keep iCloud available. Enable iCloud Keychain if you want credentials to sync. Sync timing depends on the network, iCloud, and whether the devices and apps are running. Configuration and saved information sync; an active SSH connection or terminal screen does not automatically move to another device.

2. Enhanced clipboard: turn copied content into reusable material

When writing commands, reading logs, or copying paths, it’s easy to lose something you just copied when the next copy replaces it. JTerm provides local clipboard history on Mac, with favorites for text you want to keep using.

  • History and search: record text and images, search by content or alias, and move repeated copies back toward the top.
  • Pinned history: keep frequently needed items at the top during your current task.
  • Favorites, aliases, and categories: give a complex command a memorable name and organize it under categories such as “Log troubleshooting,” “Docker,” or “Common paths.”
  • Frequently used items first: sort text favorites by recent usage frequency to make common items easier to find.
  • Keyboard navigation: search, use the arrow keys, and press Return to select. Text favorites can also be sent as commands to the current terminal session.

For example, save this command as “Container status” in a “Docker” category:

docker ps --format '{{.Names}}: {{.Status}}'
Enter fullscreen mode Exit fullscreen mode

You can then search for “Container status” without remembering all the arguments. Once text favorites sync through iCloud, they are available on iPhone and iPad too.

JTerm’s enhanced clipboard manager on Mac
Search history, organize favorites, and reuse commands and frequently needed text.

Open the clipboard from other Mac apps

With the optional JTerm Shortcut companion installed and running, press Command–Shift–V (⌘⇧V) to open a floating clipboard panel from another application. You can look up and select saved content while writing documents, editing code, or working in other text fields.

Ordinary clipboard history stays on the local Mac, as do image favorites. Text favorites you explicitly save, along with their categories, sync through your personal iCloud account. System clipboard history collection is a Mac feature; on iPhone and iPad, the focus is reusing synced text favorites.

3. Hosts mappings: organize environments and switch IPs with variables

A project with development and test environments may need the same domain name to point to different IP addresses. JTerm organizes these rules into named mapping configurations. You can enable, disable, edit, or duplicate a whole configuration while preserving comments and formatting in the original hosts text.

  • Group by purpose: keep separate mapping configurations for local integration work, test environments, and other scenarios.
  • Reuse variables: define an IP variable and reference it in several mappings with ${KEY}. Updating one value updates the rules that use it.
  • Switch between values: store multiple candidate values for a variable and select the one to use on the mappings page.
  • Preview before applying: inspect the final content and check for duplicate hostnames across enabled configurations. When mappings conflict, earlier entries take precedence.

For example, define DEV_IP with candidate values 192.0.2.10 and 192.0.2.20, then write:

${DEV_IP} api.example.test
${DEV_IP} admin.example.test
Enter fullscreen mode Exit fullscreen mode

These are documentation examples. Replace them with addresses for your own environment. Selecting another DEV_IP value updates both domain mappings together, without editing each line.

JTerm’s synced hosts mapping configurations
Mapping configurations and variables sync across devices; applying them to the system hosts file happens on Mac.

You can edit configurations on a phone or tablet, then apply them on a Mac. iCloud syncs the configuration, and JTerm Shortcut performs the write to the Mac’s /etc/hosts. The first application requires administrator authorization. JTerm manages only its own marked block and preserves other existing content in the file.

After the configuration syncs, review the preview and apply it on the Mac where it should take effect. Syncing a configuration does not modify the system hosts file on iPhone or iPad, and it does not mean another Mac has automatically applied it.

4. My Machines: view IP addresses across your devices

Concept illustration of JTerm’s My Machines IP management feature
AI-generated concept illustration, not an actual app screenshot. All addresses shown are examples.

“What’s that Mac’s IP address now?” is a small but frequent question when working across devices. Switching Wi-Fi, connecting Ethernet, or enabling a VPN can leave a machine with several addresses. A single IP written down earlier can quickly become outdated.

My Machines brings together network information reported by JTerm devices using the same iCloud account:

  • Device name and platform: distinguish iPhone, iPad, and Mac, with the current device marked.
  • Addresses by interface: see interface names and separate IPv4 and IPv6 addresses. Expand a device to inspect multiple interfaces.
  • Copy an IP: select the address you need for a connection, debugging, or a note.
  • Sync changes: while the app is running, it checks active local network interfaces every minute and syncs changes to names or addresses through personal iCloud. Manual refresh is also available.
  • Update time and sync status: check how recent a record is and whether sync is working.

For example, after your Mac joins a new Wi-Fi network, JTerm detects and syncs the changed address. You can then open My Machines on your iPad, inspect the interface addresses reported by that Mac, and copy the appropriate IP for a connection without returning to the Mac’s network settings.

These are interface addresses reported by your own devices running JTerm. The feature is not a LAN scanner, does not make a device publicly reachable, and does not enable SSH services. A connection still requires network reachability and a running service on the destination. If a device is asleep or the app is not running, you may see its last synced information. The update time reflects a change to the information, not a live online heartbeat.

5. Put the four features together

  1. Organize on Mac: add SSH hosts, associate keys, arrange groups, and categorize frequently used commands as favorites.
  2. Continue on iPad: once iCloud sync finishes, use the same host details and text favorites with your keyboard.
  3. Handle quick tasks on iPhone: check a service, copy saved text, or look up a device address in My Machines.
  4. Switch environments when needed: change a mapping variable or enabled configuration, wait for it to sync to the target Mac, then preview and apply it there.

The host list answers “Which server should I connect to?” Text favorites answer “Where’s that command?” Hosts mappings answer “Which environment should this domain point to?” My Machines answers “Which IP addresses do my devices currently report?” Sharing that information across devices reduces the setup needed whenever you switch.

SSH and remote management

Alongside these four features, JTerm supports xterm terminal rendering, password and SSH private-key authentication, multiple sessions, automatic reconnection, SFTP remote file browsing and transfers, multiple jump hosts, and an AI assistant for understanding terminal output and generating commands.

Download and the original CSDN offer

Download JTerm for iPhone, iPad, and Mac on the App Store. You can also find more information and the optional Mac companion on the JTerm website.

The original CSDN article includes this offer code for one year of Pro free:

CSDN0USERS01YEARFREE
Enter fullscreen mode Exit fullscreen mode

To redeem, open the App Store offer redemption page, or use “Redeem Offer Code” in the App Store and enter the code. Eligibility, availability, and the redemption result are determined by the App Store.

I’d love to hear how you move between a phone, tablet, and Mac in your daily work. Feel free to share what you need in the comments. I’ll keep improving JTerm’s terminal interaction, configuration sync, reusable content, and device management.

Top comments (0)