ircfs

package module
v0.1.2 Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: MIT Imports: 8 Imported by: 0

README

Ircfs

Ircfs is a file service used to connect to an IRC network

Go Go Report Card License

go install github.com/altid/ircfs/cmd/ircfs@latest

Usage

ircfs [-s <servicename>] [-d] [-a <address to bind to>] [-m]

  • -m broadcasts an mDNS record for the service
  • -d enables debug output
  • if no service name is given, irc is used
  • Address is the address that the host binds to, not the address of your IRC network!

Wiki!

Configuration

# altid/config - place this in your operating systems' default config directory

service=irc address=libera.chat port=6697 auth=pass=hunter2 ssl=none
	nick=guest user=guest name=guest
	channels=#altid
	log=/home/guest/logs/irc/
	filter=all

service=irc2 address=supersecure.ircserver.net port=28888 auth=factotum
	ssl=cert cert=/path/to/some/cert.pem key=/path/to/some/key.pem
	nick=fsociety user=elliot
	log=none
	filter=smart
  • service matches the given servicename (default "irc")
  • address is the address for the remote IRC server
  • port is the port on the remote IRC server
  • auth is the authentication method
    • pass will send the string following pass= as your user password to the remote IRC server
    • factotum uses a local factotum (Plan9, plan9port) to find your password
    • none bypasses password authentication at connection time (default)
  • ssl
    • none will use a plain TCP connection with the remote IRC server
    • simple will use a simple, generally insecure connection to the remote IRC server. This is for testing purposes only and should generally not be usd
    • cert uses the values provided for cert= and key= to use certificate based authenticationover a TLS connection to the remote server
  • nick, user, and name are your respective nickname, username that you registered to the IRC server, and your real name (optional)
  • log is the directory that stores channel logs. A special value of none can be used to bypass logging
  • filter
    • all filters all JOIN/PART/QUIT messages
    • smart filters JOIN/PART/QUIT messages for people who haven't written to the channel recently
    • none does not filter any messages

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateConfig

func CreateConfig(srv string, debug bool) error

Types

type Ircfs

type Ircfs struct {
	// contains filtered or unexported fields
}

func Register

func Register(ssh, ldir bool, addr, srv string, debug bool) (*Ircfs, error)

This connects to IRC, manages interactions with the plugins

func (*Ircfs) Broadcast

func (ircfs *Ircfs) Broadcast() error

func (*Ircfs) Cleanup

func (ircfs *Ircfs) Cleanup()

func (*Ircfs) Run

func (ircfs *Ircfs) Run() error

func (*Ircfs) Session

func (ircfs *Ircfs) Session() *session.Session

Directories

Path Synopsis
cmd
internal

Jump to

Keyboard shortcuts

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