hack-house/cmd_chat/__init__.py
mirai 5cbe355660 feat: add SRP authentication, improve security
- Replace RSA key exchange with SRP (Secure Remote Password)
- Password never transmitted over network
- Add unit tests for endpoints
- Fix datetime.UTC compatibility for Python < 3.11
- Fix logger.exception usage
- Update README with new auth flow diagram
2026-01-02 23:09:00 +03:00

36 lines
1.1 KiB
Python

import argparse
from cmd_chat.server.server import run_server
from cmd_chat.client.client import Client
def main():
parser = argparse.ArgumentParser(description="Command-line chat application")
subparsers = parser.add_subparsers(dest="command", required=True)
serve_p = subparsers.add_parser("serve", help="Run server")
serve_p.add_argument("ip_address")
serve_p.add_argument("port")
serve_p.add_argument("--password", "-p", required=True)
connect_p = subparsers.add_parser("connect", help="Connect to server")
connect_p.add_argument("ip_address")
connect_p.add_argument("port")
connect_p.add_argument("username")
connect_p.add_argument("password")
args = parser.parse_args()
if args.command == "serve":
run_server(host=args.ip_address, port=int(args.port), password=args.password)
elif args.command == "connect":
Client(
server=args.ip_address,
port=int(args.port),
username=args.username,
password=args.password,
).run()
if __name__ == "__main__":
main()