예제 #1
0
 def _configure_settings_server(self):
     cb_subscribed = self.gtk_builder_get('checkbutton_alert_subscribe')
     cb_reject_after_creds = self.gtk_builder_get(
         'checkbutton_reject_after_credentials')
     entry_beef_hook = self.gtk_builder_get('entry_server_beef_hook')
     server_config = self.application.rpc(
         'config/get',
         ['beef.hook_url', 'server.require_id', 'server.secret_id'])
     entry_beef_hook.set_property('text',
                                  server_config.get('beef.hook_url', ''))
     self.config['server_config']['server.require_id'] = server_config[
         'server.require_id']
     self.config['server_config']['server.secret_id'] = server_config[
         'server.secret_id']
     # older versions of GObject.signal_handler_find seem to have a bug which cause a segmentation fault in python
     if GObject.pygobject_version < (3, 10):
         cb_subscribed.set_property(
             'active',
             self.application.rpc('campaign/alerts/is_subscribed',
                                  self.config['campaign_id']))
         cb_reject_after_creds.set_property(
             'active',
             self.application.get_graphql_campaign()['maxCredentials'])
     else:
         with gui_utilities.gobject_signal_blocked(cb_subscribed,
                                                   'toggled'):
             cb_subscribed.set_property(
                 'active',
                 self.application.rpc('campaign/alerts/is_subscribed',
                                      self.config['campaign_id']))
             cb_reject_after_creds.set_property(
                 'active',
                 self.application.get_graphql_campaign()['maxCredentials'])
     cb_reject_after_creds.set_sensitive(
         self.config['server_config']['server.require_id'])
	def interact(self):
		cb_subscribed = self.gtk_builder_get('checkbutton_alert_subscribe')
		cb_reject_after_creds = self.gtk_builder_get('checkbutton_reject_after_credentials')
		entry_beef_hook = self.gtk_builder_get('entry_server_beef_hook')
		server_config = self.parent.rpc('config/get', ['beef.hook_url', 'server.require_id', 'server.secret_id'])
		entry_beef_hook.set_property('text', server_config.get('beef.hook_url', ''))
		self.config['server_config']['server.require_id'] = server_config['server.require_id']
		self.config['server_config']['server.secret_id'] = server_config['server.secret_id']
		# older versions of GObject.signal_handler_find seem to have a bug which cause a segmentation fault in python
		if GObject.pygobject_version < (3, 10):
			cb_subscribed.set_property('active', self.parent.rpc('campaign/alerts/is_subscribed', self.config['campaign_id']))
			cb_reject_after_creds.set_property('active', self.parent.rpc.remote_table_row('campaigns', self.config['campaign_id'])['reject_after_credentials'])
		else:
			with gui_utilities.gobject_signal_blocked(cb_subscribed, 'toggled'):
				cb_subscribed.set_property('active', self.parent.rpc('campaign/alerts/is_subscribed', self.config['campaign_id']))
				cb_reject_after_creds.set_property('active', self.parent.rpc.remote_table_row('campaigns', self.config['campaign_id'])['reject_after_credentials'])

		cb_reject_after_creds.set_sensitive(self.config['server_config']['server.require_id'])

		self.dialog.show_all()
		response = self.dialog.run()
		if response != Gtk.ResponseType.CANCEL:
			self.objects_save_to_config()
			self.verify_sms_settings()
			self.parent.rpc('config/set', {'beef.hook_url': entry_beef_hook.get_property('text').strip()})
		self.dialog.destroy()
		return response
예제 #3
0
    def interact(self):
        cb_subscribed = self.gtk_builder_get('checkbutton_alert_subscribe')
        cb_reject_after_creds = self.gtk_builder_get(
            'checkbutton_reject_after_credentials')
        entry_beef_hook = self.gtk_builder_get('entry_server_beef_hook')
        server_config = self.parent.rpc(
            'config/get',
            ['beef.hook_url', 'server.require_id', 'server.secret_id'])
        entry_beef_hook.set_property('text',
                                     server_config.get('beef.hook_url', ''))
        self.config['server_config']['server.require_id'] = server_config[
            'server.require_id']
        self.config['server_config']['server.secret_id'] = server_config[
            'server.secret_id']
        # older versions of GObject.signal_handler_find seem to have a bug which cause a segmentation fault in python
        if GObject.pygobject_version < (3, 10):
            cb_subscribed.set_property(
                'active',
                self.parent.rpc('campaign/alerts/is_subscribed',
                                self.config['campaign_id']))
            cb_reject_after_creds.set_property(
                'active',
                self.parent.rpc.remote_table_row(
                    'campaigns',
                    self.config['campaign_id'])['reject_after_credentials'])
        else:
            with gui_utilities.gobject_signal_blocked(cb_subscribed,
                                                      'toggled'):
                cb_subscribed.set_property(
                    'active',
                    self.parent.rpc('campaign/alerts/is_subscribed',
                                    self.config['campaign_id']))
                cb_reject_after_creds.set_property(
                    'active',
                    self.parent.rpc.remote_table_row(
                        'campaigns', self.config['campaign_id'])
                    ['reject_after_credentials'])

        cb_reject_after_creds.set_sensitive(
            self.config['server_config']['server.require_id'])

        self.dialog.show_all()
        response = self.dialog.run()
        if response != Gtk.ResponseType.CANCEL:
            self.objects_save_to_config()
            self.verify_sms_settings()
            self.parent.rpc('config/set', {
                'beef.hook_url':
                entry_beef_hook.get_property('text').strip()
            })
        self.dialog.destroy()
        return response
예제 #4
0
 def signal_expander_activate_message_type(self, expander):
     if expander.get_expanded():
         # ignore attempts to un-expand
         expander.set_expanded(False)
         return
     if expander == self.gobjects["expander_calendar_invite_settings"]:
         message_type = "calendar_invite"
         self.gobjects["expander_email_settings"].set_expanded(False)
     elif expander == self.gobjects["expander_email_settings"]:
         message_type = "email"
         self.gobjects["expander_calendar_invite_settings"].set_expanded(False)
     button = self.message_type.buttons[message_type]
     with gui_utilities.gobject_signal_blocked(button, "toggled"):
         self.message_type.set_active(message_type)
예제 #5
0
파일: mail.py 프로젝트: l1k3m/king-phisher
	def signal_expander_activate_message_type(self, expander):
		if expander.get_expanded():
			# ignore attempts to un-expand
			expander.set_expanded(False)
			return
		if expander == self.gobjects['expander_calendar_invite_settings']:
			message_type = 'calendar_invite'
			self.gobjects['expander_email_settings'].set_expanded(False)
		elif expander == self.gobjects['expander_email_settings']:
			message_type = 'email'
			self.gobjects['expander_calendar_invite_settings'].set_expanded(False)
		button = self.message_type.buttons[message_type]
		with gui_utilities.gobject_signal_blocked(button, 'toggled'):
			self.message_type.set_active(message_type)
예제 #6
0
	def _configure_settings_server(self):
		cb_subscribed = self.gtk_builder_get('checkbutton_alert_subscribe')
		cb_reject_after_creds = self.gtk_builder_get('checkbutton_reject_after_credentials')
		entry_beef_hook = self.gtk_builder_get('entry_server_beef_hook')
		server_config = self.application.rpc('config/get', ['beef.hook_url', 'server.require_id', 'server.secret_id'])
		entry_beef_hook.set_property('text', server_config.get('beef.hook_url', ''))
		self.config['server_config']['server.require_id'] = server_config['server.require_id']
		self.config['server_config']['server.secret_id'] = server_config['server.secret_id']
		# older versions of GObject.signal_handler_find seem to have a bug which cause a segmentation fault in python
		if GObject.pygobject_version < (3, 10):
			cb_subscribed.set_property('active', self.application.rpc('campaign/alerts/is_subscribed', self.config['campaign_id']))
			cb_reject_after_creds.set_property('active', self.application.rpc.remote_table_row('campaigns', self.config['campaign_id']).reject_after_credentials)
		else:
			with gui_utilities.gobject_signal_blocked(cb_subscribed, 'toggled'):
				cb_subscribed.set_property('active', self.application.rpc('campaign/alerts/is_subscribed', self.config['campaign_id']))
				cb_reject_after_creds.set_property('active', self.application.rpc.remote_table_row('campaigns', self.config['campaign_id']).reject_after_credentials)
		cb_reject_after_creds.set_sensitive(self.config['server_config']['server.require_id'])
예제 #7
0
	def signal_combo_changed(self, combobox):
		new_dir = combobox.get_active_text()
		if not new_dir:
			return
		if not self.path_mod.isabs(new_dir):
			new_dir = self.get_abspath(new_dir)
		entry = combobox.get_child()
		if not self.get_is_folder(new_dir):
			entry.set_property('primary-icon-name', 'dialog-warning')
			return
		try:
			with gui_utilities.gobject_signal_blocked(combobox, 'changed'):
				self.change_cwd(new_dir)
		except (IOError, OSError):
			entry.set_property('primary-icon-name', 'dialog-warning')
		else:
			entry.set_property('primary-icon-name', 'gtk-apply')
			entry.set_text(new_dir)
예제 #8
0
 def signal_combo_changed(self, combobox):
     new_dir = combobox.get_active_text()
     if not new_dir:
         return
     if not self.path_mod.isabs(new_dir):
         new_dir = self.get_abspath(new_dir)
     entry = combobox.get_child()
     if not self.get_is_folder(new_dir):
         entry.set_property('primary-icon-name', 'dialog-warning')
         return
     try:
         with gui_utilities.gobject_signal_blocked(combobox, 'changed'):
             self.change_cwd(new_dir)
     except (IOError, OSError):
         entry.set_property('primary-icon-name', 'dialog-warning')
     else:
         entry.set_property('primary-icon-name', 'gtk-apply')
         entry.set_text(new_dir)