Skip to content

About

A GNU/GPL telnet client for connecting to BBS sites (configurable) (forked from robertabcd/PttChrome). Upstream at ptt/ptt-term.

Resources

Stars

2 stars

Watchers

1 watching

Forks

 
 

Repository files navigation

PttChrome-CCNS

Deploy to GitHub Pages CodeQL Dependabot Updates

Branch Deprecation Note

This branch (main-ccns.2021) will be deprecated in favor of a new branch based on the dev branch of ptt/ptt-term.

The dev branch of ptt/ptt-term is now the recommended branch for anyone to base their development on.

Branch Migration Guide

You can try to first migrate to ptt/ptt-term@315fbbd4a901ac9e8ce487dddf901b84ed788fcc and then to the head of ptt/ptt-term@dev.

  1. add ptt/ptt-term as one of your remote forks
    • git remote add ptt https://github.com/ptt/ptt-term.git
  2. update your remote fork status of ptt/ptt-term
    • git fetch ptt
  3. export the differences of your branch from dev
    • git format-patch 315fbbd4a901ac9e8ce487dddf901b84ed788fcc^..@
  4. reset to ptt/ptt-term@315fbbd4a901ac9e8ce487dddf901b84ed788fcc
    • git reset 315fbbd4a901ac9e8ce487dddf901b84ed788fcc
  5. apply exported patches from your branch and fix conflicts
    • git am *.patch
  6. rebase onto the head of dev of ptt/ptt-term and fix conflicts
    • git rebase ptt/dev

Introduction

An HTML5-based Telnet-over-WebSocket client to connect to ANSI-terminal–based BBS sites. This repository contains the source code running behind term.ccns.cc.

How to Set up the Auto Build

To customize the behavior, see .github/workflows/deploy.yml.

This workflow sets up the configuration before building PttChrome. The client built with this configuration connects to DreamBBS (ccns.cc) by default and uses the icon set provided by CCNS.

Without such configuration, the built client will instead connect to Ptt (ptt.cc) and use the icon set from the original PttChrome as the original version does.

History

PttChrome-CCNS is forked from robertabcd/PttChrome, which was originally forked from iamchucky/PttChrome.

PttChrome-CCNS now also incorporates upstream patches from ptt/ptt-term.

The original PttChrome was a Chrome browser extension. robertabcd added WebSocket support and ported it to a standalone HTML5 web application independent of Chrome extension APIs. That codebase served term.ptt.cc until 2026.

ptt-term is the official repository for term.ptt.cc and term.ptt2.cc. It consolidates active patches from various PttChrome forks along with its own enhancements and features.

How to Contribute

If you want to fix something or add general features, please also consider the upstream:

Because robertabcd/PttChrome is no longer maintained, ptt-term is established as an independent repository rather than a GitHub fork of robertabcd's original project.

You are welcome to contribute to ptt-term by submitting Pull Requests:

  1. Direct Fork: Click Fork on ptt/ptt-term, push your changes to your fork, and submit a Pull Request to dev.
  2. Existing Fork: If you already have an existing fork of another PttChrome repository, you can add ptt-term as a new git remote, cherry-pick your commits onto a branch tracking ptt/ptt-term, and submit a Pull Request:
# Example: Adding ptt-term as a remote to an existing local repo
git remote add ptt https://github.com/ptt/ptt-term.git
git fetch ptt
git checkout -b my-feature ptt/dev
git cherry-pick <your-commit-hash>
git push origin my-feature

Local Development

# Install dependencies
yarn

# Start development server
yarn start

# Build for production
yarn build

Version Information

A semver-like versioning scheme has been employed. See https://github.com/ccns/PttChrome/tags for the list of version tags.

Major version

  • v1: A web page requiring browser extension (Google Chrome–only)
    • Main repo: iamchucky/PttChrome
    • v1 is developed on two branches:
      • gh-pages (the web page part; the "webapp" branch)
        • The branch was abandoned in v2 but is reused by CCNS's fork
      • master (the browser extension part)
        • master now also includes a refactored version of gh-pages
    • gh-pages became independent of master after v0.0.5
  • v2: A standalone web page (with cross-browser support)

Minor/Patch Version

v1

In v1, since version bumps was done rather regularly, the version tag is retrospectively assigned accordingly:

  • master
    • All version-bumping commits are tagged.
  • gh-pages
    • All version-bumping commits are tagged.
    • The latest commit made before a version-bumping commit on master is tagged with the bumped version number plus the "webapp" version.

v2

In v2, due to the lack of version bumps before, a way for determining the version number retrospectively is needed.

The following commits are tagged:

  • A merge commit not immediately followed by a version-bumping commit
  • A version-bumping commit
  • The last commit before the development taking a break (one day if not sure)

The increased version field determined as follow:

  • Minor: After the last tag, there are any ancestor commits containing feat in the title.
  • Patch: After the last tag, there are any changes to the code and assets (README.md and GitHub workflows are excluded).
  • Otherwise, the version number is not increased, and tagging is not needed.

About This Branch

This branch main-ccns.2021 was rebased onto dev in 2021 and is maintained by CCNS.

Versions tagged on this branch have the -ccns.2021 suffix.

About

A GNU/GPL telnet client for connecting to BBS sites (configurable) (forked from robertabcd/PttChrome). Upstream at ptt/ptt-term.

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Used by

Contributors

Languages