IRC使用教程

有些时候我们需要使用 IRC 下面是一些常用网站的IRC命令

在使用IRC前要安装IRC客户端,推荐使用 thelounge

安装thelounge

1
2
3
4
5
6
docker run --detach \
--name thelounge \
--publish 127.0.0.1:11111:9000 \
--volume /home/<username>/thelounge:/var/opt/thelounge \
--restart unless-stopped \
thelounge/thelounge:latest

docker-compose.yaml

1
2
3
4
5
6
7
8
9
10
11
version: '3.3'
services:
thelounge:
container_name: 'thelounge'
restart: 'unless-stopped'
image: 'thelounge/thelounge:latest'
# user: '1000:1000'
ports:
- '127.0.0.1:11111:9000'
volumes:
- '/home/<username>/thelounge:/var/opt/thelounge'

nginx反代

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
server
{
listen 80;
# listen 443 ssl;
server_name domain;
# ssl_certificate crt/pem;
# ssl_certificate_key key;
location /
{
proxy_pass http://127.0.0.1:11111/;
proxy_http_version 1.1;
proxy_set_header Connection "upgrade";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
# 如果配置了$real请注释上一条,取消下一条注释
# proxy_set_header X-Forwarded-For $real;
proxy_set_header X-Forwarded-Proto $scheme;

# by default nginx times out connections in one minute
proxy_read_timeout 1d;
}
#access_log /www/wwwlogs/thelounge.log; #日志可以不写
#error_log /www/wwwlogs/thelounge.error.log;
}

如果使用 nginx ssl 反代,那么就将 --publish 11111:9000 改成 --publish 127.0.0.1:11111:9000 这样通过https访问更安全。

怎么解决设置里显示172.17.0.1?

  1. 修改config.js中的第50行为 reverseProxy: true
  2. 修改nginx中对应site配置文件 proxy_set_header X-Forwarded-For $real;

如何添加$real请参考之前的文章 Nginx获取用户真实ip.

直接修改config.js中的第50行为reverseProxy: true的话非常容易伪造,虽然已经做好日志的真实IP记录,但是对于这些现象还是不能够容忍。

image-20230529233933718

查看代码后知道修改config.js的第50行后,不会使用socket连接的ip,而是使用X-Forwarded-For头部中的数据

那我们直接将nginx的配置文件修改为 proxy_set_header X-Forwarded-For $real;

使用thelounge添加用户

执行第一行命令添加一个thelounge用户,登录后按照下面进行。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
docker exec -it thelounge thelounge add <username>
# 第一个thelounge是容器名,第二个thelounge是容器内部的应用程序

Usage:
docker exec -it thelounge thelounge [options] [command]

Options:
-v, --version output the version number
-c, --config <key=value> override entries of the configuration file, must be specified for each entry that needs to be overriden
-h, --help

Commands:
start [options] Start the server
add [options] <name> Add a new user
reset [options] <name> Reset user password
list List all users
remove <name> Remove an existing user
edit <name> Edit user file located at /var/opt/thelounge/users/<name>.json
install <package> Install a theme or a package
uninstall <package> Uninstall a theme or a package
upgrade [packages...] Upgrade installed themes and packages to their latest versions
outdated Check for any outdated packages
help [command] display help for command

# <> 表示必填然后去掉<>

# 或者执行以下命令进入容器添加用户
docker exec -it thelounge sh
thelounge add <username>
# 然后输入用户名密码就能够登录了
# ctrl + A + D / exit 退出容器

thelounge建议部署到vps上,最好是国外的vps,有的IRC地址被墙,最重要的原因:部署在本地断连的次数会非常多,如果在help频道排队就会重新排队。

IRC流程

流程图
  1. + 号,创建新的 Network
1
  1. 右键或长按该 Network,添加Commands

添加Commands的目的是 重新连接Network不用重复输入进入命令

肝功能

irc.gazellegames.net
SSL 端口:7000
非SSL:6667

使用7000要取消第二个勾
不想使用ssl就使用 6667 端口,然后取消所有的勾。

ggn/wiki.php?action=article&name=IRC+-+How+to+join

第一次登录

ggn主要是进help频道、announce频道、GazelleGames 频道、AfterHours频道,可以到 Edit -> Auto-Join IRC Channels 选择自动加入和获取想要进的频道。

设置里设置的叫 irc_key ,自己设置的叫 irc_passwd

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/msg NickServ REGISTER <irc_passwd> <email>
# 将你的用户名注册,上面irc_passwd是自己设置的,建议不要使用与之前的一致
# 现在虽然已经登录,但是并没有认证

/msg Vertigo ENTER <site_nick> <irc_key>
# irc_key 在edit里面生成
# 以上是认证的命令

/msg Vertigo ENTER [#channel] <site_nick> <irc_key>
# 常用channal #GGn-Announce #GazelleGames #AfterHours #GGn-Help

# 比如
/msg Vertigo ENTER Your_site_nick Your_irc_key
/msg Vertigo ENTER #GGn-Announce Your_site_nick Your_irc_key

# []非必须,<>为必须
# 需要记住irc_passwd 以便于下一次登录
# irc_key 与 irc_passwd 要区分

第二次登录

以后都只需要输入 ENTER 这条命令

1
2
3
4
5
6
7
8
9
# 第一行命令非必须
/msg NickServ IDENTIFY <irc_passwd>

# 第二行命令必须,[]非必须,<>为必须
/msg Vertigo ENTER [#channel] <site_nick> <irc_key>

# 比如
/msg Vertigo ENTER Your_site_nick Your_irc_key
/msg Vertigo ENTER #GGn-Announce Your_site_nick Your_irc_key

red/wiki.php?action=article&id=22

irc.scratch-network.net
SSL ports: 6697 or 7000
Unencrypted port: 6667

红主要是进help频道和announce频道

第一次登录

设置里设置的叫 irc_key ,自己设置的叫 irc_passwd

1
2
3
4
5
6
7
/msg NickServ register <irc_passwd> <email>
# irc_passwd 自己设置

/msg Drone enter <#channel1,#channel2,#channel3> <site_nick> <irc_key>

# 比如下面,#redacted-announce #RED-Help
/msg Drone enter #redacted-announce Your_site_nick Your_irc_key

第二次登录

1
2
3
4
5
6
7
8
# 第一行命令非必须
/msg NickServ identify <irc_passwd>

# 第二行命令必须,[]非必须,<>为必须
/msg Drone enter <#channel1,#channel2,#channel3> <site_nick> <irc_key>

# 比如
/msg Drone enter #redacted-announce Your_site_nick Your_irc_key

其他都大致相同,需要参考官方的WIKI。

通用常用命令

1
2
3
4
5
6
/list 				#Show Channel List
/nick #Change Nickname
/leave #Leave the Channel
/connect #Connect or Reconnect the Network
/disconnect #Disconnect the Network
/join <#channel> #Join the Channel

其他的可以参考

https://mylovesaber.gitee.io/dophin-blog/2020/09/16/irc-plus/

https://mylovesaber.gitee.io/dophin-blog/2020/09/11/irc-basic/

autobrr

官方

docker-compose.yaml

1
2
3
4
5
6
7
8
9
10
11
12
version: "3.7"
services:
autobrr:
container_name: autobrr
image: 'ghcr.io/autobrr/autobrr:latest'
restart: unless-stopped
environment:
- 'TZ=Asia/shanghai'
volumes:
- './config:/config'
ports:
- '7474:7474'

Setting -> Indexers -> Add indexer

先使用thelounge创建一个 用户名|bot 或者 用户名-bot ,选择对应tracker,在IRC部分填入信息,替换Invite command 中的 USERNAMEIRCKEY 为自己的。

使用之前:

  • 去站内Wiki找IRC
  • 使用IRC客户端,比如thelounge登录一下,知道完整登录需要的所有信息

流程:

  1. 配置Setting -> Indexers
  2. 配置Setting -> IRC
  3. 配置Setting -> Clients
  4. 至少配置Filters -> General(选择Indexers) 和 Filters -> Actions(选择Clients)

以下信息可能过期(必须是填用到的信息,多填都可能登陆失败,最好是只填带*的

Update Network
Name Network Name
Enabled 勾选为启动
Server 同IRC服务地址
Port 同 IRC PORT
TLS 同上
Password IRC_Passwd
Nick 建议新注册一个username-bot
Identification
Mechanism 用SASL或NickServ进行识别。大多数网络支持SASL,但有些不支持。不支持的使用NickServ/None
Account 同上Nick
Password IRC_Passwd
Invite command /msg Vertigo ENTER <#channel> # 替换成对应网站的command

PS. 建议使用thelounge新创建一个 用户名-bot 或者用户名|bot,然后autobbr使用bot用户名,thelounge使用用户名登录观察新种是否能被bot账号读取。同时避免耽误使用IRC。


IRC使用教程
https://shyi.org/posts/27005/
作者
Shyi
发布于
2023年4月22日
更新于
2024年9月7日
许可协议