mirror of
https://github.com/onionshare/onionshare.git
synced 2025-01-25 02:32:58 -03:00
Remove unnecessary censorship class invocation, which breaks CLI mode right now.
Fix Website and Chat modes with auto-stop timer in CLI mode. Add 'poetry run onionshare-cli' tests to CircleCI to catch CLI runtime bugs.
This commit is contained in:
parent
da94b92d18
commit
f5e4d70731
2 changed files with 15 additions and 17 deletions
|
@ -30,6 +30,10 @@ jobs:
|
||||||
command: |
|
command: |
|
||||||
cd ~/repo/cli
|
cd ~/repo/cli
|
||||||
poetry run pytest -v ./tests
|
poetry run pytest -v ./tests
|
||||||
|
poetry run onionshare-cli --local-only ./tests --auto-stop-timer 2
|
||||||
|
poetry run onionshare-cli --local-only --receive --auto-stop-timer 2
|
||||||
|
poetry run onionshare-cli --local-only --website ../docs --auto-stop-timer 2
|
||||||
|
poetry run onionshare-cli --local-only --chat --auto-stop-timer 2
|
||||||
|
|
||||||
test-gui:
|
test-gui:
|
||||||
docker:
|
docker:
|
||||||
|
|
|
@ -27,8 +27,6 @@ from datetime import datetime
|
||||||
from datetime import timedelta
|
from datetime import timedelta
|
||||||
|
|
||||||
from .common import Common, CannotFindTor
|
from .common import Common, CannotFindTor
|
||||||
from .censorship import CensorshipCircumvention
|
|
||||||
from .meek import Meek, MeekNotRunning
|
|
||||||
from .web import Web
|
from .web import Web
|
||||||
from .onion import TorErrorProtocolError, TorTooOldEphemeral, TorTooOldStealth, Onion
|
from .onion import TorErrorProtocolError, TorTooOldEphemeral, TorTooOldStealth, Onion
|
||||||
from .onionshare import OnionShare
|
from .onionshare import OnionShare
|
||||||
|
@ -285,20 +283,6 @@ def main(cwd=None):
|
||||||
# Create the Web object
|
# Create the Web object
|
||||||
web = Web(common, False, mode_settings, mode)
|
web = Web(common, False, mode_settings, mode)
|
||||||
|
|
||||||
# Create the Meek object and start the meek client
|
|
||||||
# meek = Meek(common)
|
|
||||||
# meek.start()
|
|
||||||
|
|
||||||
# Create the CensorshipCircumvention object to make
|
|
||||||
# API calls to Tor over Meek
|
|
||||||
censorship = CensorshipCircumvention(common, meek)
|
|
||||||
# Example: request recommended bridges, pretending to be from China, using
|
|
||||||
# domain fronting.
|
|
||||||
# censorship_recommended_settings = censorship.request_settings(country="cn")
|
|
||||||
# print(censorship_recommended_settings)
|
|
||||||
# Clean up the meek subprocess once we're done working with the censorship circumvention API
|
|
||||||
# meek.cleanup()
|
|
||||||
|
|
||||||
# Start the Onion object
|
# Start the Onion object
|
||||||
try:
|
try:
|
||||||
onion = Onion(common, use_tmp_dir=True)
|
onion = Onion(common, use_tmp_dir=True)
|
||||||
|
@ -474,12 +458,18 @@ def main(cwd=None):
|
||||||
if app.autostop_timer > 0:
|
if app.autostop_timer > 0:
|
||||||
# if the auto-stop timer was set and has run out, stop the server
|
# if the auto-stop timer was set and has run out, stop the server
|
||||||
if not app.autostop_timer_thread.is_alive():
|
if not app.autostop_timer_thread.is_alive():
|
||||||
if mode == "share" or (mode == "website"):
|
if mode == "share":
|
||||||
# If there were no attempts to download the share, or all downloads are done, we can stop
|
# If there were no attempts to download the share, or all downloads are done, we can stop
|
||||||
if web.share_mode.cur_history_id == 0 or web.done:
|
if web.share_mode.cur_history_id == 0 or web.done:
|
||||||
print("Stopped because auto-stop timer ran out")
|
print("Stopped because auto-stop timer ran out")
|
||||||
web.stop(app.port)
|
web.stop(app.port)
|
||||||
break
|
break
|
||||||
|
if mode == "website":
|
||||||
|
# If there were no attempts to visit the website, or all downloads are done, we can stop
|
||||||
|
if web.website_mode.cur_history_id == 0 or web.done:
|
||||||
|
print("Stopped because auto-stop timer ran out")
|
||||||
|
web.stop(app.port)
|
||||||
|
break
|
||||||
if mode == "receive":
|
if mode == "receive":
|
||||||
if (
|
if (
|
||||||
web.receive_mode.cur_history_id == 0
|
web.receive_mode.cur_history_id == 0
|
||||||
|
@ -489,6 +479,10 @@ def main(cwd=None):
|
||||||
web.stop(app.port)
|
web.stop(app.port)
|
||||||
break
|
break
|
||||||
web.receive_mode.can_upload = False
|
web.receive_mode.can_upload = False
|
||||||
|
if mode == "chat":
|
||||||
|
print("Stopped because auto-stop timer ran out")
|
||||||
|
web.stop(app.port)
|
||||||
|
break
|
||||||
# Allow KeyboardInterrupt exception to be handled with threads
|
# Allow KeyboardInterrupt exception to be handled with threads
|
||||||
# https://stackoverflow.com/questions/3788208/python-threading-ignores-keyboardinterrupt-exception
|
# https://stackoverflow.com/questions/3788208/python-threading-ignores-keyboardinterrupt-exception
|
||||||
time.sleep(0.2)
|
time.sleep(0.2)
|
||||||
|
|
Loading…
Add table
Reference in a new issue