# weechat

# Weechat - with Bouncer

## Join a server

```bash
/server add BNC my.bouncer.net/6697 -ssl -username=username/network -password=password -autoconnect
/save
/connect <servername>
```

## Get ZNC sha
```
cat ~/.znc/znc.pem | openssl x509 -sha512 -fingerprint -noout | tr -d ':' | tr 'A-Z' 'a-z' | cut -d = -f 2
```
## enter fingerprint

```
 /set irc.server.BNC.ssl_fingerprint MD5_or_SHA256_or_SHA512_fingerprint_here
```

## Join Freenode

```bash
/server add freenode chat.freenode.net/6697 -ssl -autoconnect
```

## accept self signed ssl certificate

```bash
/set irc.server.example.ssl_verify off
```

## Set autojoin Channels

```bash
/set irc.server.<servername>.autojoin "#<channel1>,#<channel2>,#..." 
```

## Hide Username from Weechat window

you may want to show off your weechat with a screenshot and may want to hide your Username by default, to do this, enter the following in weechat:

```bash
/script install iset.pl
/iset input
/set weechat.bar.input.items "[input_search],[input_paste],input_text"
```

## set and register Nickname

### sasl

```bash
/set irc.server.<ircserver>.sasl_mechanism PLAIN
/set irc.server.<ircserver>.sasl_username <login>
/set irc.server.<ircserver>.sasl_password <password>
/save
/reconnect <ircserver>
```

## Nickserv

```bash
/nick <yournickname>
/msg nickserv register <password> <email>
```

After that, you should get an email with your verification code. Verify via:

```bash
/msg nickserv identify <verification-code>
```

## Set Username for specific Server

```bash
/set irc.server.<server>.nicks <yournickname>
```

# Set Char length in front of messages

```bash
/set weechat.look.prefix_align_max <integer>
```

# TORify Weechat

## Enable SASL EXTERNAL

### Create a new certificate TLS. ref

```bash
mkdir ~/.weechat/certs
cd ~/.weechat/certs
openssl req -x509 -new -newkey rsa:4096 -sha256 -days 1000 -nodes -out freenode.pem -keyout freenode.pem
```
 

### Find sha1sum fingerprint.

```bash
openssl x509 -in freenode.pem -outform der | sha1sum -b | cut -d' ' -f1
```

## switch to ssl

Into weechat, we switch to ssl.

```bash
/msg nickserv cert add <sslkeysha1>
/set irc.server.freenode.ssl_priorities "NORMAL:-VERS-TLS-ALL:+VERS-TLS1.0:+VERS-SSL3.0:%COMPAT"
/set irc.server.freenode.ssl_cert "%h/certs/freenode.pem"
/set irc.server.freenode.sasl_mechanism external
/set irc.server.freenode.ssl on
/set irc.server.freenode.addresses "chat.freenode.net/6697"
/reconnect freenode
```
 
## TOR

Finally, to use tor. (tor should run)

```bash
/set irc.server.freenode.addresses "freenodeok2gncmy.onion/7000"
/proxy add tor socks5 127.0.0.1 9050
/set irc.server.freenode.proxy "tor"
```

You have to disable ssl_verify which doesn’t work with TOR.

```bash
/set irc.server.freenode.ssl_verify off
/reconnect freenode
```

### Enhance your privacy

Add somes settings below to weechat. detail from faq

```bash
/set irc.server_default.msg_part ""
/set irc.server_default.msg_quit ""
/set irc.ctcp.clientinfo ""
/set irc.ctcp.finger ""
/set irc.ctcp.source ""
/set irc.ctcp.time ""
/set irc.ctcp.userinfo ""
/set irc.ctcp.version ""
/set irc.ctcp.ping ""
/plugin unload xfer
/set weechat.plugin.autoload "*,!xfer"
```

Save all our works:

```bash
/save
```