X-Git-Url: https://git.r.bdr.sh/rbdr/mobius/blobdiff_plain/6988a0571d5d37ea0f38ee3e4066533158f608bc..d7548c16cdbff6f9baa2f545eb808030a6b3ec2e:/README.md?ds=inline diff --git a/README.md b/README.md index 799a903..1613833 100644 --- a/README.md +++ b/README.md @@ -1,83 +1,77 @@ # Mobius -Cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) server and client +Mobius is a cross-platform command line [Hotline](https://en.wikipedia.org/wiki/Hotline_Communications) server, client, and library developed in Golang. -[![CircleCI](https://circleci.com/gh/jhalter/mobius/tree/master.svg?style=svg&circle-token=7123999e4511cf3eb93d76de98b614a803207bea)](https://circleci.com/gh/jhalter/mobius/tree/master) +The project aims to support Hotline functionality from versions v1.2.3 and >v1.5 (e.g. threaded news and folder transfers). -# Installation +## Project status -### Mac OS X +### Server -#### Client +* Near feature complete - brew install jhalter/mobius-hotline-client/mobius-hotline-client +### Client -#### Server +* Early stage with functionality for chat and news posting only + +# Getting started + +### Mac OS + +For Mac OS the easiest path to installation is to install through Homebrew. + +#### Client brew install jhalter/mobius-hotline-client/mobius-hotline-client -### Linux +After installation `mobius-hotline-client` installed to `/usr/local/bin/mobius-hotline-client` and should be in your $PATH. -Download a compiled release for your architecture from the Releases page +The client config file is in `/usr/local/etc/mobius-client-config.yaml` -### Windows +Run `mobius-hotline-client -help` for usage options. - TODO +#### Server -# Build + brew install jhalter/mobius-hotline-server/mobius-hotline-server -To build from source, run -`make build` +After installation `mobius-hotline-server` installed to `/usr/local/bin/mobius-hotline-server` and should be in your $PATH. -# Features +The server config file directory is under `/usr/local/var/mobius` which by default contains: -* Hotline 1.2.3 + /usr/local/var/mobius/config/MessageBoard.txt + /usr/local/var/mobius/config/config.yaml + /usr/local/var/mobius/config/ThreadedNews.yaml + /usr/local/var/mobius/config/Agreement.txt + /usr/local/var/mobius/config/Users/guest.yaml + /usr/local/var/mobius/config/Users/admin.yaml -## Usage +Edit `/usr/local/var/mobius/config/config.yaml` to change your server name and other settings. -### Precompiled binaries -To get started quickly, download the precompiled binaries for your platform: +Edit `/usr/local/var/mobius/config/Agreement.txt` to set your server agreement. -* [Linux]() -* [Mac OS X]() +Run `mobius-hotline-server -help` for usage options. -## Compatibility +### Linux -The server has been tested with: - * Hotline Client version 1.2.3 - * Hotline Client version 1.8.2 - * Hotline Client version 1.9.2 - * Nostalgia +Download a compiled release for your architecture from the Releases page or follow build from source instructions -### Build from source +### Windows + + TODO - make build +### Docker +To run the Mobius server from Docker with a local directory mounted for config and files, follow these steps: -# TODO +1. Clone this repo: `git clone https://github.com/jhalter/mobius.git` +2. Copy the config dir somewhere `cp -r cmd/mobius-hotline-server/mobius/config ~/mobius-config` +4. Run the image: + `docker run -p 5500:5500 -p 5501:5501 -v ~/mobius-config:/usr/local/var/mobius/config jhalter/mobius-hotline-server:0.3.0` -* Implement 1.5+ protocol account editing -* Implement folder transfer resume -* Implement file transfer queuing -* Map additional file extensions to file type and creator codes -* Implement file comment read/write -* Implement user banning -* Implement Maximum Simultaneous Downloads -* Maximum simultaneous downloads/client -* Maximum simultaneous connections/IP -* Implement server broadcast -* Implement statistics: - * Currently Connected - * Downloads in progress - * Uploads in progress - * Waiting Downloads - * Connection Peak - * Connection Counter - * Download Counter - * Upload Counter - * Since +### Build from source -# TODO - Someday Maybe +To build from source, run: -* Implement Pitbull protocol extensions \ No newline at end of file + make build-client + make build-server