├── .gitignore ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── docs └── design_overview.txt ├── jest.config.js ├── kiwibnc.js ├── package.json ├── src ├── actions │ ├── adduser.js │ ├── deleteuser.js │ ├── listusers.js │ ├── run.js │ └── updatedb.js ├── configProfileTemplate │ └── config.ini ├── dbschemas │ ├── connections │ │ ├── 20190720115505_first.js │ │ ├── 20190930110502_add_tlsverify.js │ │ ├── 20191013163202_add_networkname.js │ │ ├── 2020012619150000_extra_state.js │ │ └── 20210612122400_clientid.js │ └── users │ │ ├── 20190720115505_first.js │ │ ├── 20190930110502_add_tlsverify.js │ │ ├── 20191013163202_add_networkname.js │ │ ├── 20191114170400_split_connections.js │ │ ├── 20191130184200_locked_users.js │ │ ├── 20191219143001_sasl_pass_to_text.js │ │ ├── 202004171611_add_channels.js │ │ └── 20200821142500_user_tokens.js ├── extensions │ ├── auto-add-network │ │ └── index.js │ ├── bouncer │ │ ├── index.js │ │ └── readme.md │ ├── chathistory-kiwi │ │ └── index.js │ ├── chathistory │ │ └── index.js │ ├── echo-message │ │ └── index.js │ ├── httpapi │ │ └── index.js │ ├── internals │ │ └── index.js │ ├── replyrouter │ │ ├── index.js │ │ └── routes.js │ └── webchat │ │ ├── index.js │ │ ├── kiwibnc_plugin.html │ │ ├── routes_admin.js │ │ └── routes_client.js ├── libs │ ├── ParallelQueue.js │ ├── WaitGroup.js │ ├── bootstrap.js │ ├── config.js │ ├── crypt.js │ ├── dataModels │ │ ├── databasesavable.js │ │ ├── network.js │ │ └── user.js │ ├── database.js │ ├── errors.js │ ├── eventemitter.js │ ├── helpers.js │ ├── ipcqueue.js │ ├── logger.js │ ├── msgIdGenerator.js │ ├── queue.js │ ├── stats.js │ ├── throttler.js │ ├── tokens.js │ └── watcher.js ├── server.js ├── sockets │ ├── connection.js │ ├── sockets.js │ └── socketserver.js ├── tools │ ├── readme.md │ ├── recover.js │ ├── recover_worker.js │ └── testspeed.js └── worker │ ├── clientcommands.js │ ├── clientcontrol.js │ ├── connectiondict.js │ ├── connectionincoming.js │ ├── connectionoutgoing.js │ ├── connectionstate.js │ ├── hooks.js │ ├── messagestores │ ├── flatfile.js │ ├── index.js │ └── sqlite.js │ ├── upstreamcommands.js │ ├── users.js │ └── worker.js └── tests └── unit ├── helpers.js └── socketserver.js /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/.gitignore -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/README.md -------------------------------------------------------------------------------- /docs/design_overview.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/docs/design_overview.txt -------------------------------------------------------------------------------- /jest.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/jest.config.js -------------------------------------------------------------------------------- /kiwibnc.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/kiwibnc.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/package.json -------------------------------------------------------------------------------- /src/actions/adduser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/actions/adduser.js -------------------------------------------------------------------------------- /src/actions/deleteuser.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/actions/deleteuser.js -------------------------------------------------------------------------------- /src/actions/listusers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/actions/listusers.js -------------------------------------------------------------------------------- /src/actions/run.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/actions/run.js -------------------------------------------------------------------------------- /src/actions/updatedb.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/actions/updatedb.js -------------------------------------------------------------------------------- /src/configProfileTemplate/config.ini: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/configProfileTemplate/config.ini -------------------------------------------------------------------------------- /src/dbschemas/connections/20190720115505_first.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/connections/20190720115505_first.js -------------------------------------------------------------------------------- /src/dbschemas/connections/20190930110502_add_tlsverify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/connections/20190930110502_add_tlsverify.js -------------------------------------------------------------------------------- /src/dbschemas/connections/20191013163202_add_networkname.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/connections/20191013163202_add_networkname.js -------------------------------------------------------------------------------- /src/dbschemas/connections/2020012619150000_extra_state.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/connections/2020012619150000_extra_state.js -------------------------------------------------------------------------------- /src/dbschemas/connections/20210612122400_clientid.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/connections/20210612122400_clientid.js -------------------------------------------------------------------------------- /src/dbschemas/users/20190720115505_first.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20190720115505_first.js -------------------------------------------------------------------------------- /src/dbschemas/users/20190930110502_add_tlsverify.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20190930110502_add_tlsverify.js -------------------------------------------------------------------------------- /src/dbschemas/users/20191013163202_add_networkname.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20191013163202_add_networkname.js -------------------------------------------------------------------------------- /src/dbschemas/users/20191114170400_split_connections.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20191114170400_split_connections.js -------------------------------------------------------------------------------- /src/dbschemas/users/20191130184200_locked_users.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20191130184200_locked_users.js -------------------------------------------------------------------------------- /src/dbschemas/users/20191219143001_sasl_pass_to_text.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20191219143001_sasl_pass_to_text.js -------------------------------------------------------------------------------- /src/dbschemas/users/202004171611_add_channels.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/202004171611_add_channels.js -------------------------------------------------------------------------------- /src/dbschemas/users/20200821142500_user_tokens.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/dbschemas/users/20200821142500_user_tokens.js -------------------------------------------------------------------------------- /src/extensions/auto-add-network/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/auto-add-network/index.js -------------------------------------------------------------------------------- /src/extensions/bouncer/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/bouncer/index.js -------------------------------------------------------------------------------- /src/extensions/bouncer/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/bouncer/readme.md -------------------------------------------------------------------------------- /src/extensions/chathistory-kiwi/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/chathistory-kiwi/index.js -------------------------------------------------------------------------------- /src/extensions/chathistory/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/chathistory/index.js -------------------------------------------------------------------------------- /src/extensions/echo-message/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/echo-message/index.js -------------------------------------------------------------------------------- /src/extensions/httpapi/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/httpapi/index.js -------------------------------------------------------------------------------- /src/extensions/internals/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/internals/index.js -------------------------------------------------------------------------------- /src/extensions/replyrouter/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/replyrouter/index.js -------------------------------------------------------------------------------- /src/extensions/replyrouter/routes.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/replyrouter/routes.js -------------------------------------------------------------------------------- /src/extensions/webchat/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/webchat/index.js -------------------------------------------------------------------------------- /src/extensions/webchat/kiwibnc_plugin.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/webchat/kiwibnc_plugin.html -------------------------------------------------------------------------------- /src/extensions/webchat/routes_admin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/webchat/routes_admin.js -------------------------------------------------------------------------------- /src/extensions/webchat/routes_client.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/extensions/webchat/routes_client.js -------------------------------------------------------------------------------- /src/libs/ParallelQueue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/ParallelQueue.js -------------------------------------------------------------------------------- /src/libs/WaitGroup.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/WaitGroup.js -------------------------------------------------------------------------------- /src/libs/bootstrap.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/bootstrap.js -------------------------------------------------------------------------------- /src/libs/config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/config.js -------------------------------------------------------------------------------- /src/libs/crypt.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/crypt.js -------------------------------------------------------------------------------- /src/libs/dataModels/databasesavable.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/dataModels/databasesavable.js -------------------------------------------------------------------------------- /src/libs/dataModels/network.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/dataModels/network.js -------------------------------------------------------------------------------- /src/libs/dataModels/user.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/dataModels/user.js -------------------------------------------------------------------------------- /src/libs/database.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/database.js -------------------------------------------------------------------------------- /src/libs/errors.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/errors.js -------------------------------------------------------------------------------- /src/libs/eventemitter.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/eventemitter.js -------------------------------------------------------------------------------- /src/libs/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/helpers.js -------------------------------------------------------------------------------- /src/libs/ipcqueue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/ipcqueue.js -------------------------------------------------------------------------------- /src/libs/logger.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/logger.js -------------------------------------------------------------------------------- /src/libs/msgIdGenerator.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/msgIdGenerator.js -------------------------------------------------------------------------------- /src/libs/queue.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/queue.js -------------------------------------------------------------------------------- /src/libs/stats.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/stats.js -------------------------------------------------------------------------------- /src/libs/throttler.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/throttler.js -------------------------------------------------------------------------------- /src/libs/tokens.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/tokens.js -------------------------------------------------------------------------------- /src/libs/watcher.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/libs/watcher.js -------------------------------------------------------------------------------- /src/server.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/server.js -------------------------------------------------------------------------------- /src/sockets/connection.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/sockets/connection.js -------------------------------------------------------------------------------- /src/sockets/sockets.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/sockets/sockets.js -------------------------------------------------------------------------------- /src/sockets/socketserver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/sockets/socketserver.js -------------------------------------------------------------------------------- /src/tools/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/tools/readme.md -------------------------------------------------------------------------------- /src/tools/recover.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/tools/recover.js -------------------------------------------------------------------------------- /src/tools/recover_worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/tools/recover_worker.js -------------------------------------------------------------------------------- /src/tools/testspeed.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/tools/testspeed.js -------------------------------------------------------------------------------- /src/worker/clientcommands.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/clientcommands.js -------------------------------------------------------------------------------- /src/worker/clientcontrol.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/clientcontrol.js -------------------------------------------------------------------------------- /src/worker/connectiondict.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/connectiondict.js -------------------------------------------------------------------------------- /src/worker/connectionincoming.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/connectionincoming.js -------------------------------------------------------------------------------- /src/worker/connectionoutgoing.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/connectionoutgoing.js -------------------------------------------------------------------------------- /src/worker/connectionstate.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/connectionstate.js -------------------------------------------------------------------------------- /src/worker/hooks.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/hooks.js -------------------------------------------------------------------------------- /src/worker/messagestores/flatfile.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/messagestores/flatfile.js -------------------------------------------------------------------------------- /src/worker/messagestores/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/messagestores/index.js -------------------------------------------------------------------------------- /src/worker/messagestores/sqlite.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/messagestores/sqlite.js -------------------------------------------------------------------------------- /src/worker/upstreamcommands.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/upstreamcommands.js -------------------------------------------------------------------------------- /src/worker/users.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/users.js -------------------------------------------------------------------------------- /src/worker/worker.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/src/worker/worker.js -------------------------------------------------------------------------------- /tests/unit/helpers.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/tests/unit/helpers.js -------------------------------------------------------------------------------- /tests/unit/socketserver.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kiwiirc/kiwibnc/HEAD/tests/unit/socketserver.js --------------------------------------------------------------------------------