This commit is contained in:
emdee@spm.plastiras.org 2024-02-17 20:02:30 +00:00
parent ec79c0d6ae
commit 9c1014ee5e
5 changed files with 28 additions and 10 deletions

View file

@ -3,6 +3,6 @@
#find * -name \*.py | xargs grep -l '[ ]*$' | xargs sed -i -e 's/[ ]*$//' #find * -name \*.py | xargs grep -l '[ ]*$' | xargs sed -i -e 's/[ ]*$//'
rsync "$@" -vaxL --include \*.py \ rsync "$@" -vaxL --include \*.py \
--exclude Toxygen.egg-info --exclude build \ --exclude Toxygen.egg-info --exclude build \
--exclude \*.pyc --exclude .pyl\* --exclude \*~ \ --exclude \*.pyc --exclude .pyl\* --exclude \*.so --exclude \*~ \
--exclude __pycache__ --exclude \*.egg-info --exclude \*.new \ --exclude __pycache__ --exclude \*.egg-info --exclude \*.new \
./ ../toxygen.git/|grep -v /$ ./ ../toxygen.git/|grep -v /$

View file

@ -1,7 +1,7 @@
# Toxygen # Toxygen
Toxygen is powerful cross-platform [Tox](https://tox.chat/) client Toxygen is powerful cross-platform [Tox](https://tox.chat/) client
written in pure Python3. for Tox and IRC/weechat written in pure Python3.
### [Install](/docs/install.md) - [Contribute](/docs/contributing.md) - [Plugins](/docs/plugins.md) - [Compile](/docs/compile.md) - [Contact](/docs/contact.md) ### [Install](/docs/install.md) - [Contribute](/docs/contributing.md) - [Plugins](/docs/plugins.md) - [Compile](/docs/compile.md) - [Contact](/docs/contact.md)
@ -9,6 +9,9 @@ written in pure Python3.
### Features: ### Features:
- PyQt5, PyQt6, and maybe PySide2, PySide6 via qtpy
- IRC via weechat /relay
- NGC groups
- 1v1 messages - 1v1 messages
- File transfers - File transfers
- Audio calls - Audio calls
@ -39,8 +42,6 @@ written in pure Python3.
- File resuming - File resuming
- Read receipts - Read receipts
- uses gevent - uses gevent
- NGC groups
- PyQt5, PyQt6, PySide2, PySide6 via qtpy
### Screenshots ### Screenshots
*Toxygen on Ubuntu and Windows* *Toxygen on Ubuntu and Windows*
@ -119,11 +120,24 @@ and installs into PREFIX which is usually /usr/local
Up-to-date code is on https://git.plastiras.org/emdee/toxygen Up-to-date code is on https://git.plastiras.org/emdee/toxygen
Although Tox works over Tor, we do not recommend its usage for Tox works over Tor, and the c-toxcore library can leak DNS requests
anonymity as it leaks DNS requests due to a 6-year old known security due to a 6-year old known security issue:
issue: https://github.com/TokTok/c-toxcore/issues/469 Do not use it for https://github.com/TokTok/c-toxcore/issues/469 but toxygen looksup
anonymous communication unless you have a TCP and UDP firewall in place. addresses before calling c-toxcore. This also allows us to use onion
addresses in the DHTnodes.json file. Still for anonymous communication
we recommend having a TCP and UDP firewall in place.
Although Tox works with multi-user group chat, there are no checks
against impersonation of a screen nickname, so you may not be chatting
with the person you think. For the Toxic client, the (closed) issue is:
https://github.com/JFreegman/toxic/issues/622#issuecomment-1922116065
Solving this might best be done with a solution to MultiDevice q.v.
The Tox project does not follow semantic versioning so the project may
break the underlying ctypes wrapper at any time; it's not possible to
use Tox version numbers to tel what the API will be. In which case
you'll have to go into the tox.py file in
https://git.plastiras.org/emdee/toxygen_wrapper to fix it yourself.
## MultiDevice ## MultiDevice

View file

@ -76,6 +76,7 @@ Connect to irc.libera.chat without Tor and register
/msg NickServ REGISTER mypassword mycoolemail@example.com /msg NickServ REGISTER mypassword mycoolemail@example.com
/msg NickServ SET PRIVATE ON /msg NickServ SET PRIVATE ON
``` ```
You'll get an email with a registration code.
Confirm registration after getting the mail with the code: Confirm registration after getting the mail with the code:
``` ```
/msg NickServ VERIFY REGISTER NickName code1235678 /msg NickServ VERIFY REGISTER NickName code1235678

View file

@ -83,10 +83,13 @@ def setup_video(oArgs):
video = setup_default_video() video = setup_default_video()
# this is messed up - no video_input in oArgs # this is messed up - no video_input in oArgs
# parser.add_argument('--video_input', type=str,) # parser.add_argument('--video_input', type=str,)
print(video)
if not video or not video['output_devices']:
video['device'] = -1
if not hasattr(oArgs, 'video_input'): if not hasattr(oArgs, 'video_input'):
video['device'] = video['output_devices'][0] video['device'] = video['output_devices'][0]
elif oArgs.video_input == '-1': elif oArgs.video_input == '-1':
video['device'] = video['output_devices'][1] video['device'] = video['output_devices'][-1]
else: else:
video['device'] = oArgs.video_input video['device'] = oArgs.video_input
return video return video

View file

@ -2,6 +2,7 @@
import os import os
import sys import sys
import traceback import traceback
import logging
from random import shuffle from random import shuffle
import threading import threading
from time import sleep, time from time import sleep, time
@ -79,7 +80,6 @@ import styles.style # TODO: dynamic loading
import toxygen_wrapper.tests.support_testing as ts import toxygen_wrapper.tests.support_testing as ts
global LOG global LOG
import logging
LOG = logging.getLogger('app') LOG = logging.getLogger('app')
IDLE_PERIOD = 0.10 IDLE_PERIOD = 0.10