update
This commit is contained in:
parent
ec79c0d6ae
commit
9c1014ee5e
@ -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 /$
|
||||||
|
28
README.md
28
README.md
@ -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
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user