Giter Site home page Giter Site logo

hotline's Introduction

Hotline

Hotline

An attempt to resurrect Hotline for modern Apple systems (iOS, macOS, etc) by completely recreating it in Swift and SwiftUI.

Download the Latest

Note: This project (so far) does not include server software. This is a client for connecting to and participating on Hotline servers. If you would like to host your own Hotline server (and you should!), please checkout the very capable Mobius project: https://github.com/jhalter/mobius

Requirements

macOS iOS iPadOS visionOS
Sonoma 14.2 or greater iOS 17.2 or greater Not yet available Not yet available

What is Hotline?

Hotline was released in 1997 for Mac OS. A suite of three (free) applications that allowed people to join or host online communities directly from their Macs. No subscriptions. No ads.

When connected to a Hotline server you could chat with other users like IRC, message others privately like AIM, read or write threaded news like a forum, post to the server’s message board like BBS, and browse, upload, or download files like FTP. And as someone operating a Hotline server you had full control over all of it.

Hotline also included Trackers. Trackers tracked servers. If you ran a Hotline server, you could list it on one or more Trackers so people could find your server—and anyone could run a Tracker.

At a time when people were chatting over email and file sharing was passing physical media between friends, Hotline was a kind of revelation. The promise of the Internet, in a way. Computers owned by individuals, connected and passing information between each other. No central server that could take the entire network offline.

Perhaps that’s why you can still find Hotline servers and trackers running today 25 years later. Though the company who built Hotline is no longer around, and the software they made is only available through retro Mac software archives, these communities are still operating.

And this project is an attempt to create a modern open source version of Hotline for modern Apple systems. Join in. Contribute. Run your own server! Perhaps Hotline can live on for another 25 years. :)

Status

Feature macOS iOS iPadOS visionOS
Trackers listing
Multiple trackers
Connect to servers
Connect to multiple servers
Server accounts
Server bookmarks
Change name & icon
Privacy settings
Autoresponse
Display server agreement
Display server banner
Public chat
Private messages
User list
User icons
User administration
News reading
News posting
Message board reading
Message board posting
File browsing
File downloading
File uploading
File info
File management
Folder downloading
Folder uploading
Custom icon sets

Goals

  • Build a Hotline client for modern Apple systems.
  • Keep the HotlineProtocol, HotlineClient, HotlineTrackerClient, and HotlineFileClient Swift code reusable so people can use it in other Swift Hotline projects.
  • Bring a modern Hotline client to iOS, iPadOS, and macOS using one codebase.
  • Ressurect the Hotline brand that has been expunged from trademark databases for over a decade. Hey, I want Hotline proper with the classic big red H and all on my modern Apple devices, okay? ;)
  • Document the Hotline protocol.
  • Have fun. :)

macOS Screenshots

CleanShot 2024-01-01 at 11 59 13@2x

iOS Screenshots

IMG_0658

hotline's People

Contributors

jhalter avatar mierau avatar tagban avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

hotline's Issues

Feature Request: Show Icon ID

Yet to try the remastered icons but it would be useful to be able to see the ID of an icon so it can be referenced elsewhere, for example , when setting the Icon ID for Mobius ChatGPT bot. Maybe an option to show when holding the ‘option’ key down or something?

Chrome warns this file is suspicious and blocks download

When downloading the Hotline.b11.zip file to my machine (Macbook - Sonoma 14.2.1 (23C71) it tells me the file is suspicious. Was able to proceed etc, but just so you know. I know Hotline is suspicious, but not that suspicious though!

Screenshot 2024-02-13 at 16 23 22

Login failed when logging in as admin

Hi!

Can't login using Hotline on my server running Mobius. When I look at the logs in Mobius, it looks like Hotline is sending some strange data. Logging in works using other clients on the same server.

This is what it looks like when I try to log in using GLoarbLine on my TiBook (a client based on the original Hotline Connect client sources):

info	Connection established	{"RemoteAddr": "1.2.3.4:49152"}
debug	Received Transaction	{"remoteAddr": "1.2.3.4:49152", "login": "username", "RequestType": "TranAgreed"}
info	Login successful	{"remoteAddr": "1.2.3.4:49152", "login": "username", "name": "nickname", "clientVersion": "197"}
debug	Received Transaction	{"remoteAddr": "1.2.3.4:49152", "login": "username", "name": "nickname", "RequestType": "tranHandleGetUserNameList"}
debug	Received Transaction	{"remoteAddr": "1.2.3.4:49152", "login": "username", "name": "nickname", "RequestType": "TranListUsers"}
debug	Received Transaction	{"remoteAddr": "1.2.3.4:49152", "login": "username", "name": "nickname", "RequestType": "TranUpdateUser"}
info	UpdateUser	{"remoteAddr": "1.2.3.4:49152", "login": "username", "name": "nickname", "login": "username"}

This is what it looks like when I try to log in with the same credentials using Hotline on Sonoma:

info	Connection established	{"RemoteAddr": "1.2.3.4:62989"}
info	Login failed	{"remoteAddr": "1.2.3.4:62989", "login": "ëîåúúåî", "clientVersion": "0000007b"}

The "ëîåúúåî" is what it actually sends out. Something seems to be wrong on the client side.

Request: < macOS 14.x compatibility

I'm not sure what the project's goals are for compatibility, but Sonoma-only is a project killer in my household. I'd love to be able to run a client on my various machines running Big Sur.

Connection attempt hangs with no traffic observed

Hi 👋,

In 1.0beta6 I'm not able to connect to any servers from the tracker list. With Wireshark running, I don't see any traffic sent to the server:

Screenshot 2024-01-04 at 1 55 56 PM

As a sanity check I built the app from the 1.0beta5 tag and all was well. Possible regression?

Thanks for all your work on this project!

Add minimum system requirements to readme

There is no mention of what the minimum system requirements are, for any of the supported platforms.

Could you please add something to the readme regarding this?

Thanks.

Feature request: Option double-click Tracker listing

In the official version of Hotline, if you hold the option key and double-click a tracker listing you are given the ability to add your credentials and save a bookmark as its pre-populated with the server address. I may have missed this in this version but unable to recreate. but find this useful.

Screenshot 2024-05-02 at 12 58 00

Cannot add new tracker

The little + button on the servers/trackers page doesn't appear to do anything. I'm on Mac OS X Sonoma on an M1 if that helps.

Ideally I'd want that to be able to add either a server or tracker.

Handle connecting to servers that require agreement acceptance

          Id treat it as auto agree to skip it by with the caveat that will

eventually be working post beta world.

On Tue, Jan 9, 2024, 6:05 PM Dustin Mierau @.***> wrote:

I'm currently not handling the flow where a server requires people agree
to the agreement before continuing. Need to think on how to handle this a
bit. Thanks!


Reply to this email directly, view it on GitHub
#4 (comment), or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABX3DRHEX4SXESJBIL2574DYNXELJAVCNFSM6AAAAABBNSG7ZSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOBTHEZTMOBYG4
.
You are receiving this because you commented.Message ID:
@.***>

Originally posted by @tagban in #4 (comment)

iOS version?

Hi, thanks for making a native Mac and IOS client. I’m admin over at RetroMac and while I’m using the excellent Mobius server software a client for Mac and iOS is definitely needed.

Is the iOS version currently self-build or do you plan on releasing to the App Store (either official or EU)?

Another alternative would be for users to use AltStore to side load the .ipa file.

Happy to support any dev where I can.

Request: Settings

I want a few basics:

  • Turn off Sounds/on Sounds
  • Potentially an actual alerting function for keywords (Comma seperated of course)
  • Logging options (With various logging functions)
    • Iterations in the future could include formatting logging, or simply customized logging options treating things in chat as objects that can then be manipulated in log output:
      (Think hypertext markup language $timestamp $user $msg $newline, then let someone build out how they'd want it to log. The idea here is to allow near webbot capabilities, as I have a folder set to sync with my FTP server I could literally broadcast my entire log file). More advanced would be possibly SQL but I think thats a bit much.
      -- That being said, if you did SQL I'd also suggest doing it with Trackers, because then once again we could host a tracker site. If you want to talk directly to me [email protected] Maybe we can collaborate on something similar but seperate, I want to bring back some of the old staples of Hotline era to the modern web as well but in a different way. Mobius is a good server, Holine (Swift) is a great chat client, but we really need a more adept tracker system now).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.