mirror of
https://github.com/onionshare/onionshare.git
synced 2025-01-26 11:13:00 -03:00
Add receive mode webhook to GUI
This commit is contained in:
parent
84958ef7f3
commit
91308bf51b
2 changed files with 60 additions and 1 deletions
|
@ -174,6 +174,7 @@
|
||||||
"mode_settings_share_autostop_sharing_checkbox": "Stop sharing after files have been sent (uncheck to allow downloading individual files)",
|
"mode_settings_share_autostop_sharing_checkbox": "Stop sharing after files have been sent (uncheck to allow downloading individual files)",
|
||||||
"mode_settings_receive_data_dir_label": "Save files to",
|
"mode_settings_receive_data_dir_label": "Save files to",
|
||||||
"mode_settings_receive_data_dir_browse_button": "Browse",
|
"mode_settings_receive_data_dir_browse_button": "Browse",
|
||||||
|
"mode_settings_receive_webhook_url_checkbox": "Use webhook URL",
|
||||||
"mode_settings_website_disable_csp_checkbox": "Don't send Content Security Policy header (allows your website to use third-party resources)",
|
"mode_settings_website_disable_csp_checkbox": "Don't send Content Security Policy header (allows your website to use third-party resources)",
|
||||||
"gui_all_modes_transfer_finished_range": "Transferred {} - {}",
|
"gui_all_modes_transfer_finished_range": "Transferred {} - {}",
|
||||||
"gui_all_modes_transfer_finished": "Transferred {}",
|
"gui_all_modes_transfer_finished": "Transferred {}",
|
||||||
|
|
|
@ -60,6 +60,8 @@ class ReceiveMode(Mode):
|
||||||
self.image.setLayout(image_layout)
|
self.image.setLayout(image_layout)
|
||||||
|
|
||||||
# Settings
|
# Settings
|
||||||
|
|
||||||
|
# Data dir
|
||||||
data_dir_label = QtWidgets.QLabel(
|
data_dir_label = QtWidgets.QLabel(
|
||||||
strings._("mode_settings_receive_data_dir_label")
|
strings._("mode_settings_receive_data_dir_label")
|
||||||
)
|
)
|
||||||
|
@ -74,9 +76,36 @@ class ReceiveMode(Mode):
|
||||||
data_dir_layout.addWidget(data_dir_label)
|
data_dir_layout.addWidget(data_dir_label)
|
||||||
data_dir_layout.addWidget(self.data_dir_lineedit)
|
data_dir_layout.addWidget(self.data_dir_lineedit)
|
||||||
data_dir_layout.addWidget(data_dir_button)
|
data_dir_layout.addWidget(data_dir_button)
|
||||||
|
|
||||||
self.mode_settings_widget.mode_specific_layout.addLayout(data_dir_layout)
|
self.mode_settings_widget.mode_specific_layout.addLayout(data_dir_layout)
|
||||||
|
|
||||||
|
# Webhook URL
|
||||||
|
webhook_url = self.settings.get("receive", "webhook_url")
|
||||||
|
self.webhook_url_checkbox = QtWidgets.QCheckBox()
|
||||||
|
self.webhook_url_checkbox.clicked.connect(self.webhook_url_checkbox_clicked)
|
||||||
|
self.webhook_url_checkbox.setText(
|
||||||
|
strings._("mode_settings_receive_webhook_url_checkbox")
|
||||||
|
)
|
||||||
|
self.webhook_url_lineedit = QtWidgets.QLineEdit()
|
||||||
|
self.webhook_url_lineedit.editingFinished.connect(
|
||||||
|
self.webhook_url_editing_finished
|
||||||
|
)
|
||||||
|
self.webhook_url_lineedit.setPlaceholderText(
|
||||||
|
"https://example.com/post-when-file-uploaded"
|
||||||
|
)
|
||||||
|
webhook_url_layout = QtWidgets.QHBoxLayout()
|
||||||
|
webhook_url_layout.addWidget(self.webhook_url_checkbox)
|
||||||
|
webhook_url_layout.addWidget(self.webhook_url_lineedit)
|
||||||
|
if webhook_url is not None and webhook_url != "":
|
||||||
|
self.webhook_url_checkbox.setCheckState(QtCore.Qt.Checked)
|
||||||
|
self.webhook_url_lineedit.setText(
|
||||||
|
self.settings.get("receive", "webhook_url")
|
||||||
|
)
|
||||||
|
self.show_webhook_url()
|
||||||
|
else:
|
||||||
|
self.webhook_url_checkbox.setCheckState(QtCore.Qt.Unchecked)
|
||||||
|
self.hide_webhook_url()
|
||||||
|
self.mode_settings_widget.mode_specific_layout.addLayout(webhook_url_layout)
|
||||||
|
|
||||||
# Server status
|
# Server status
|
||||||
self.server_status.set_mode("receive")
|
self.server_status.set_mode("receive")
|
||||||
self.server_status.server_started_finished.connect(self.update_primary_action)
|
self.server_status.server_started_finished.connect(self.update_primary_action)
|
||||||
|
@ -183,6 +212,25 @@ class ReceiveMode(Mode):
|
||||||
self.data_dir_lineedit.setText(selected_dir)
|
self.data_dir_lineedit.setText(selected_dir)
|
||||||
self.settings.set("receive", "data_dir", selected_dir)
|
self.settings.set("receive", "data_dir", selected_dir)
|
||||||
|
|
||||||
|
def webhook_url_checkbox_clicked(self):
|
||||||
|
if self.webhook_url_checkbox.isChecked():
|
||||||
|
if self.settings.get("receive", "webhook_url"):
|
||||||
|
self.webhook_url_lineedit.setText(
|
||||||
|
self.settings.get("receive", "webhook_url")
|
||||||
|
)
|
||||||
|
self.show_webhook_url()
|
||||||
|
else:
|
||||||
|
self.hide_webhook_url()
|
||||||
|
|
||||||
|
def webhook_url_editing_finished(self):
|
||||||
|
self.settings.set("receive", "webhook_url", self.webhook_url_lineedit.text())
|
||||||
|
|
||||||
|
def hide_webhook_url(self):
|
||||||
|
self.webhook_url_lineedit.hide()
|
||||||
|
|
||||||
|
def show_webhook_url(self):
|
||||||
|
self.webhook_url_lineedit.show()
|
||||||
|
|
||||||
def get_stop_server_autostop_timer_text(self):
|
def get_stop_server_autostop_timer_text(self):
|
||||||
"""
|
"""
|
||||||
Return the string to put on the stop server button, if there's an auto-stop timer
|
Return the string to put on the stop server button, if there's an auto-stop timer
|
||||||
|
@ -220,6 +268,16 @@ class ReceiveMode(Mode):
|
||||||
# Hide and reset the uploads if we have previously shared
|
# Hide and reset the uploads if we have previously shared
|
||||||
self.reset_info_counters()
|
self.reset_info_counters()
|
||||||
|
|
||||||
|
# Set proxies for webhook URL
|
||||||
|
if self.common.gui.local_only:
|
||||||
|
self.web.proxies = None
|
||||||
|
else:
|
||||||
|
(socks_address, socks_port) = self.common.gui.onion.get_tor_socks_port()
|
||||||
|
self.web.proxies = {
|
||||||
|
"http": f"socks5://{socks_address}:{socks_port}",
|
||||||
|
"https": f"socks5://{socks_address}:{socks_port}",
|
||||||
|
}
|
||||||
|
|
||||||
def start_server_step2_custom(self):
|
def start_server_step2_custom(self):
|
||||||
"""
|
"""
|
||||||
Step 2 in starting the server.
|
Step 2 in starting the server.
|
||||||
|
|
Loading…
Add table
Reference in a new issue