update
parent
371fe2ac94
commit
df4f027447
119
Toxygen.md
Normal file
119
Toxygen.md
Normal file
@ -0,0 +1,119 @@
|
||||
# Toxygen
|
||||
|
||||
Toxygen is powerful cross-platform [Tox](https://tox.chat/) client
|
||||
written in pure Python3.
|
||||
|
||||
### [Install](/docs/install.md) - [Contribute](/docs/contributing.md) - [Plugins](/docs/plugins.md) - [Compile](/docs/compile.md) - [Contact](/docs/contact.md)
|
||||
|
||||
### Supported OS: Linux and Windows (only Linux is tested at the moment)
|
||||
|
||||
### Features:
|
||||
|
||||
- 1v1 messages
|
||||
- File transfers
|
||||
- Audio calls
|
||||
- Video calls
|
||||
- Group chats
|
||||
- Plugins support
|
||||
- Desktop sharing
|
||||
- Chat history
|
||||
- Emoticons
|
||||
- Stickers
|
||||
- Screenshots
|
||||
- Name lookups (toxme.io support)
|
||||
- Save file encryption
|
||||
- Profile import and export
|
||||
- Faux offline messaging
|
||||
- Faux offline file transfers
|
||||
- Inline images
|
||||
- Message splitting
|
||||
- Proxy support - runs over tor
|
||||
- Avatars
|
||||
- Multiprofile
|
||||
- Multilingual
|
||||
- Sound notifications
|
||||
- Contact aliases
|
||||
- Contact blocking
|
||||
- Typing notifications
|
||||
- Changing nospam
|
||||
- File resuming
|
||||
- Read receipts
|
||||
- NGC groups
|
||||
|
||||
### Screenshots
|
||||
*Toxygen on Ubuntu and Windows*
|
||||
![Ubuntu](/docs/ubuntu.png)
|
||||
![Windows](/docs/windows.png)
|
||||
|
||||
Windows was working but is not currently being tested. AV was working
|
||||
but is not currently being tested: we're unsure of handling the AV devices
|
||||
from the commandline. We need to get a working echobot that supports SOCKS5;
|
||||
we were working on one in https://git.plastiras.org/emdee/toxygen_wrapper
|
||||
|
||||
## Forked
|
||||
|
||||
This hard-forked from the dead https://github.com/toxygen-project/toxygen
|
||||
```next_gen``` branch.
|
||||
|
||||
See ToDo.md to the current ToDo list.
|
||||
|
||||
## Wechat
|
||||
|
||||
You can have a [weechat](https://github.com/weechat/qweechat)
|
||||
console so that you can have IRC and jabber in a window as well as Tox.
|
||||
There's a copy of qweechat in ```thirdparty/qweechat``` backported to
|
||||
PyQt5 and integrated into toxygen. Follow the normal instructions for
|
||||
adding a ```relay``` to [weechat](https://github.com/weechat/weechat)
|
||||
```
|
||||
/relay add ipv4.ssl.weechat 9001
|
||||
/relay start ipv4.ssl.weechat
|
||||
```
|
||||
or
|
||||
```
|
||||
/set relay.network.ipv6 off
|
||||
/relay add weechat 9000
|
||||
/relay start weechat
|
||||
```
|
||||
and use the Plugins/Weechat Console to start weechat under Toxygen.
|
||||
Then use the File/Connect menu item of the Console to connect to weechat.
|
||||
|
||||
Weechat has a Jabber plugin to enable XMPP:
|
||||
```
|
||||
/python load jabber.el
|
||||
/help jabber
|
||||
```
|
||||
so you can have Tox, IRC and XMPP in the same application!
|
||||
|
||||
## Install
|
||||
|
||||
To install read the requirements.txt and look at the comments; there
|
||||
may be things that need installing by hand or decisions to be made
|
||||
on supported alternatives.
|
||||
|
||||
https://git.plastiras.org/emdee/toxygen_wrapper needs packaging
|
||||
on pypi as it is a dependency. Just download and install it from
|
||||
https://git.plastiras.org/emdee/toxygen_wrapper
|
||||
|
||||
This is being ported to Qt6 using qtpy https://github.com/spyder-ide/qtpy
|
||||
It now runs on PyQt5 and should soon run on PyQt6 and may run on PySide2 and
|
||||
PySide6 - YMMV. You will be able to choose between them by setting the
|
||||
environment variable QT_API to one of: pyqt5 pyqt6 pyside2 pyside6.
|
||||
|
||||
To install it, look in the Makefile for the install target and type
|
||||
```
|
||||
make install
|
||||
```
|
||||
You should set the PIP_EXE_MSYS and PYTHON_EXE_MSYS variables and it does
|
||||
```
|
||||
${PIP_EXE_MSYS} --python ${PYTHON_EXE_MSYS} install \
|
||||
--target ${PREFIX}/lib/python${PYTHON_MINOR}/site-packages/ \
|
||||
--upgrade .
|
||||
```
|
||||
and installs into PREFIX which is usually /usr/local
|
||||
|
||||
Up-to-date code is on https://git.plastiras.org/emdee/toxygen
|
||||
|
||||
## MultiDevice
|
||||
|
||||
Work on this project is suspended until the
|
||||
[MultiDevice](https://git.plastiras.org/emdee/tox_profile/wiki/MultiDevice-Announcements-POC) problem is solved. Fork me!
|
127
ToxygenWeechat.md
Normal file
127
ToxygenWeechat.md
Normal file
@ -0,0 +1,127 @@
|
||||
## Toxygen Weechat
|
||||
|
||||
You can have a [weechat](https://github.com/weechat/qweechat)
|
||||
console so that you can have IRC and jabber in a window as well as Tox.
|
||||
There's a copy of qweechat in ```thirdparty/qweechat``` backported to
|
||||
PyQt5 and integrated into toxygen. Follow the normal instructions for
|
||||
adding a ```relay``` to [weechat](https://github.com/weechat/weechat)
|
||||
```
|
||||
/relay add ipv4.ssl.weechat 9001
|
||||
/relay start ipv4.ssl.weechat
|
||||
```
|
||||
or
|
||||
```
|
||||
/set relay.network.ipv6 off
|
||||
/set relay.network.password password
|
||||
/relay add weechat 9000
|
||||
/relay start weechat
|
||||
```
|
||||
and use the Plugins/Weechat Console to start weechat under Toxygen.
|
||||
Then use the File/Connect menu item of the Console to connect to weechat.
|
||||
|
||||
Weechat has a Jabber plugin to enable XMPP:
|
||||
```
|
||||
/python load jabber.el
|
||||
/help jabber
|
||||
```
|
||||
so you can have Tox, IRC and XMPP in the same application!
|
||||
|
||||
### Creating servers for IRC over Tor
|
||||
|
||||
Create a proxy called tor
|
||||
```
|
||||
/proxy add tor socks5 127.0.0.1 9050
|
||||
```
|
||||
|
||||
It should now show up in the list of proxies.
|
||||
```
|
||||
proxy list
|
||||
```
|
||||
|
||||
```
|
||||
/nick NickName
|
||||
```
|
||||
|
||||
## TLS certificates
|
||||
|
||||
[Create a Self-signed Certificate](https://www.oftc.net/NickServ/CertFP/)
|
||||
|
||||
Choose a NickName you will identify as.
|
||||
|
||||
Create a directory for your certificates ~/.config/weechat/ssl/
|
||||
and make a subdirectory for each server ~/.config/weechat/ssl/irc.oftc.net/
|
||||
|
||||
Change to the server directory and use openssl to make a keypair and answer the questions:
|
||||
```
|
||||
openssl req -nodes -newkey rsa:2048 -keyout NickName.key -x509 -days 3650 -out NickName.cer
|
||||
chmod 400 NickName.key
|
||||
```
|
||||
We now combine certificate and key to a single file NickName.pem
|
||||
```
|
||||
cat NickName.cer NickName.key > NickName.pem
|
||||
chmod 400 NickName.pem
|
||||
```
|
||||
|
||||
Do this for each server you want to connect to, or just use one for all of them.
|
||||
|
||||
### Libera TokTok channel
|
||||
|
||||
The main discussion forum for Tox is the #TokTok channel on libera.
|
||||
|
||||
libera has an onion server so we can map an address in tor. Add this
|
||||
to your /etc/tor/torrc
|
||||
```
|
||||
MapAddress palladium.libera.chat libera75jm6of4wxpxt4aynol3xjmbtxgfyjpu34ss4d7r7q2v5zrpyd.onion
|
||||
```
|
||||
|
||||
Define the server in weechat
|
||||
https://www.weechat.org/files/doc/stable/weechat_user.en.html#irc_sasl_authentication
|
||||
```
|
||||
/server remove libera
|
||||
/server add libera palladium.libera.chat/6697 -tls -tls_verify
|
||||
/set irc.server.libera.ipv6 off
|
||||
/set irc.server.libera.proxy tor
|
||||
/set irc.server.libera.username NickName
|
||||
/set irc.server.libera.nicks NickName
|
||||
/set irc.server.libera.tls on
|
||||
/set irc.server.libera.tls_cert "${weechat_config_dir}/ssl/libera.chat/NickName.pem"
|
||||
```
|
||||
|
||||
```
|
||||
/set irc.server.libera.sasl_mechanism ecdsa-nist256p-challenge
|
||||
/set irc.server.libera.sasl_username "NickName"
|
||||
/set irc.server.libera.sasl_key "${weechat_config_dir}/ssl/libera.chat/NickName.pem"
|
||||
```
|
||||
|
||||
Disconnect and connect back to the server.
|
||||
```
|
||||
/disconnect libera
|
||||
/connect libera
|
||||
```
|
||||
|
||||
|
||||
### oftc.net
|
||||
|
||||
To use oftc.net over tor, you need to authenticate by SSL certificates.
|
||||
|
||||
|
||||
Define the server in weechat
|
||||
```
|
||||
/server remove irc.oftc.net
|
||||
/network add OFTC
|
||||
/server add OFTC irc.oftc.net/6697 -proxy tor -autoconnect -ssl_verify -ssl_cert ~/.config/weechat/ssl/irc.oftc.net/NickName.pem
|
||||
/set irc.server.OFTC.ipv6 off
|
||||
# Disconnect and connect back to the server.
|
||||
/disconnect OFTC
|
||||
/connect OFTC
|
||||
```
|
||||
You must be identified in order to validate using certs
|
||||
```
|
||||
/msg nickserv identify NickName
|
||||
```
|
||||
To allow NickServ to identify you based on this certificate you need
|
||||
to associate the certificate fingerprint with your nick. To do this
|
||||
issue the command cert add to Nickserv (try /msg nickserv helpcert).
|
||||
```
|
||||
/msg nickserv cert add
|
||||
```
|
Loading…
Reference in New Issue
Block a user