improvements

This commit is contained in:
emdee@spm.plastiras.org 2024-01-16 14:54:24 +00:00
parent 7d601ea4c3
commit 96c453607f
5 changed files with 28 additions and 3 deletions

1
.gitignore vendored
View File

@ -6,6 +6,7 @@ __pycache__/
*~ *~
*.junk *.junk
*.bak
*.dst *.dst
# C extensions # C extensions

View File

@ -21,5 +21,8 @@ doctest::
export PYTHONPATH=${PWD}/src/${MOD} export PYTHONPATH=${PWD}/src/${MOD}
${DOCTEST} ${MOD}.txt ${DOCTEST} ${MOD}.txt
veryclean:: clean
rm -rf build dist
clean:: clean::
find * -name \*~ -delete find * -name \*~ -delete

View File

@ -16,7 +16,26 @@ The basic idea is to exclude Exit nodes that do not have ContactInfo:
That can be extended to relays that do not have an email in the contact, That can be extended to relays that do not have an email in the contact,
or to relays that do not have ContactInfo that is verified to include them. or to relays that do not have ContactInfo that is verified to include them.
Pass the controller password if needed as an environment variable: You can see the status of tor relays at https://torstatus.rueckgr.at/
The code for that site is at https://github.com/paulchen/torstatus
You can get a list of exit relays that are marked bad with:
wget --post-data='SR=FBadExit&SO=Asc&FBadExit=1' 'https://torstatus.rueckgr.at/'
It is assumed that you are running a tor that has its torrc configured with:
ControlPort 127.0.0.1:9051
and/or
ControlSocket /run/tor/control
ControlSocketsGroupWritable 1
and
HashedControlPassword 16:B4155E403F37446360B30D0481C3BB03C083F0E3BB689883A3838E4692
so that you have some security on the Control connection.
Pass the controller password to these scripts as an environment variable:
>>> import os >>> import os
>>> assert os.environ['TOR_CONTROLLER_PASSWORD'] >>> assert os.environ['TOR_CONTROLLER_PASSWORD']

View File

@ -18,13 +18,15 @@ classifiers = [
"Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: CPython",
] ]
dynamic = ["version", "readme", ] # cannot be dynamic ['license'] dynamic = ["version", "readme", ] # cannot be dynamic ['license']
scripts = { exclude_badExits = "exclude_badExits.exclude_badExits:iMain" }
dependencies = [ dependencies = [
'qasync >= 0.27.1', # 'qasync >= 0.27.1',
'cryptography >= 41.0.7', 'cryptography >= 41.0.7',
'rsa >= 4.9', 'rsa >= 4.9',
'stem >= 1.8.2'] 'stem >= 1.8.2']
[project.scripts
exclude_badExits = "exclude_badExits.exclude_badExits:iMain"
[tool.setuptools.dynamic] [tool.setuptools.dynamic]
version = {attr = "exclude_badExits.__version__"} version = {attr = "exclude_badExits.__version__"}
readme = {file = ["README.md"]} readme = {file = ["README.md"]}