i6r9c

module
v0.0.0-...-037ac2a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 1, 2024 License: Unlicense

README

i6r9c

basic terminal irc client in go, intended for use with tor.

e.g.

$ go install github.com/cyberworm-uk/i6r9c/cmd@main
$ ~/go/bin/cmd -h
Usage of /home/cyberworm-uk/go/bin/cmd:
  -nick string
    	IRC nickname to use.
  -proxy string
    	URL schema of proxy, [scheme]://[server]:[port]. (default "socks5://127.0.0.1:9050/")
  -sasl string
    	SASL cert and key prefix (I.E foo/bar for foo/bar.crt and foo/bar.key)
  -server string
    	URL schema of server, [scheme]://[server]:[port]. irc for non-TLS, ircs for TLS. (default "ircs://irc.oftc.net:6697/")
  -verify
    	Verify TLS certificates (I.E. an .onion with TLS but no valid cert.) (default true)

alternatively, as a container

$ podman run --rm -it ghcr.io/cyberworm-uk/i6r9c -h
Usage of /irc:
  -nick string
    	IRC nickname to use.
  -proxy string
    	URL schema of proxy, [scheme]://[server]:[port]. (default "socks5://127.0.0.1:9050/")
  -sasl string
    	SASL cert and key prefix (I.E foo/bar for foo/bar.crt and foo/bar.key)
  -server string
    	URL schema of server, [scheme]://[server]:[port]. irc for non-TLS, ircs for TLS. (default "ircs://irc.oftc.net:6697/")
  -verify
    	Verify TLS certificates (I.E. an .onion with TLS but no valid cert.) (default true)

or built locally

$ podman build -t localhost/i6r9c:latest -f Containerfile
$ podman run -it localhost/i6r9c:latest -h
Usage of /irc:
  -nick string
    	IRC nickname to use.
  -proxy string
    	URL schema of proxy, [scheme]://[server]:[port]. (default "socks5://127.0.0.1:9050/")
  -sasl string
    	SASL cert and key prefix (I.E foo/bar for foo/bar.crt and foo/bar.key)
  -server string
    	URL schema of server, [scheme]://[server]:[port]. irc for non-TLS, ircs for TLS. (default "ircs://irc.oftc.net:6697/")
  -verify
    	Verify TLS certificates (I.E. an .onion with TLS but no valid cert.) (default true)

only the container file is needed for the build, as it will handle fetching the source internally.

podman can be placed with docker.

Usage of the client (see: /help):

$ podman run -it --rm ghcr.io/cyberworm-uk/i6r9c:latest
[01:25:48] [kinetic.oftc.net@AUTH] *** Looking up your hostname... []
[01:25:48] [kinetic.oftc.net@AUTH] *** Checking Ident []
[01:25:48] [kinetic.oftc.net@AUTH] *** Couldn't look up your hostname []
[01:25:48] [kinetic.oftc.net@AUTH] *** No Ident response []
[01:25:48] [kinetic.oftc.net@quirky_edison] *** Connected securely via TLSv1.3 TLS_AES_128_GCM_SHA256-128 []
[01:25:48] [001] [kinetic.oftc.net@quirky_edison] Welcome to the OFTC Internet Relay Chat Network quirky_edison []
...
[01:25:48] [MODE] [quirky_edison@quirky_edison] +i []
[01:25:48] [kinetic.oftc.net@quirky_edison] Activating Cloak: 8VQAAFOZ0.tor-irc.dnsbl.oftc.net []
> /help
/msg <#channel/recipient> [message]
/join <#channel>
/part <#channel> [reason]
/nick <newnick>
/quit [reason]
> /join #oftc
[01:27:05] [quirky_edison!~quirky_ed@8VQAAFOZ0.tor-irc.dnsbl.oftc.net] has joined [#oftc]
[01:27:05] [332] [kinetic.oftc.net@quirky_edison] https://www.oftc.net | OFTC's public support channel. Our social channel is #moocows | Do NOT paste spam when reporting it | Want a cloak/vhost? See https://www.oftc.net/UserCloaks/ | https://www.oftc.net/Privacy_Policy/ [#oftc]
...
[01:27:05] [366] [kinetic.oftc.net@quirky_edison] End of /NAMES list. [#oftc]
#oftc>

example usage with sasl certfp, e.g. with OFTC NickServ CertFP

mkdir sasl && cd sasl
openssl req -nodes -newkey rsa:2048 -keyout certfp.key -x509 -days 3650 -out certfp.crt
cd ..
podman pod create --name torpod
podman run --pod torpod -d --rm ghcr.io/cyberworm-uk/arti:latest
podman run --pod torpod -it --rm -v $(pwd)/sasl:/sasl:ro ghcr.io/cyberworm-uk/i6r9c:latest -nick nick -sasl /sasl/certfp

Directories

Path Synopsis
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL