diff --git a/api/requirements.txt b/api/requirements.txt index 3fa6af9be..4f711b70a 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -1,5 +1,5 @@ captcha~=0.7.1 -celery~=5.4.0 +celery~=5.5.1 coverage~=7.8.0 cryptography~=44.0.2 Django~=5.1.7 @@ -7,7 +7,7 @@ django-cors-headers~=4.7.0 djangorestframework~=3.14.0 django-celery-email~=3.0.0 django-netfields~=1.3.2 -django-pgtrigger~=4.13.3 +django-pgtrigger~=4.14.0 django-prometheus~=2.3.1 dnspython~=2.7.0 pyotp~=2.9.0 @@ -17,4 +17,4 @@ pylibmc~=1.6.3 pyyaml~=6.0.2 requests~=2.32.3 responses~=0.25.7 -uwsgi~=2.0.28 +uwsgi~=2.0.29 diff --git a/api/uwsgi.ini b/api/uwsgi.ini index 58a403da8..6d38c230c 100644 --- a/api/uwsgi.ini +++ b/api/uwsgi.ini @@ -2,7 +2,7 @@ socket = [::]:3031 chdir = /usr/src/app/ wsgi-file = api/wsgi.py -processes = 128 +processes = 128 # make sure to adjust nginx workers and dbapi max_connections threads = 1 uid = nobody gid = nogroup diff --git a/www/webapp/src/views/ImpressumPage.vue b/www/webapp/src/views/ImpressumPage.vue index 1059dab99..953146834 100644 --- a/www/webapp/src/views/ImpressumPage.vue +++ b/www/webapp/src/views/ImpressumPage.vue @@ -14,16 +14,18 @@ Dr. Peter Thomassen
Wolfgang Studier

-

Registergericht / Registration court

-

AG Berlin (Charlottenburg)
VR 37525

-

Gemeinnützigkeit / Charitable status

+

Registration and Tax Information (Gemeinnützigkeit / Charitable Status)

+

+ Registergericht / Registration court: AG Berlin (Charlottenburg), VR 37525
+ Steuernummer / Tax number: 27/663/65101, UStID-Nr.: DE363934139 +

Der Verein wurde vom Finanzamt für Körperschaften I, Berlin, als gemeinnützig anerkannt - (Freistellungsbescheid vom 01.11.2019, Steuernummer 27/663/65101). + (Freistellungsbescheid vom 01.11.2019, seitdem aktualisiert).

The organization has been recognized as charitable by the competent tax office - (Finanzamt für Körperschaften I, Berlin; exemption notice dated November 1, 2019, tax number 27/663/65101). + (Finanzamt für Körperschaften I, Berlin; exemption notice dated November 1, 2019, since renewed).

diff --git a/www/webapp/src/views/SignUp.vue b/www/webapp/src/views/SignUp.vue index 144a84fb1..529e7645a 100644 --- a/www/webapp/src/views/SignUp.vue +++ b/www/webapp/src/views/SignUp.vue @@ -55,13 +55,49 @@ + +
+ +

Limitations of Domains Registered under {{ LOCAL_PUBLIC_SUFFIXES[0] }}

+

+ deSEC provides dynDNS service with DNSSEC protection for residential Internet users. + These domains are subject to the following limitations: +

+
    +
  • Only one {{ LOCAL_PUBLIC_SUFFIXES[0] }} domain is provided per user. (You can set up subdomains under it.)
  • +
  • You cannot change NS records. External delegation is not supported.
  • +
  • Based on historical abuse, certain IP addresses cannot be used in A/AAAA records.
  • +
  • It is required to update your IP address regularly, as is typical in residential networks.
  • +
+

+ If these limitations don't work for you or your use case is different, please register a domain name elsewhere. +

+ + + +
+
+
+ ({ - valid: false, - working: false, - errors: [], - LOCAL_PUBLIC_SUFFIXES: LOCAL_PUBLIC_SUFFIXES, + data: function () { + const self = this; + return { + valid: false, + working: false, + errors: [], + LOCAL_PUBLIC_SUFFIXES: LOCAL_PUBLIC_SUFFIXES, + + mdiDns: mdiDns, + mdiEmail: mdiEmail, - mdiDns: mdiDns, - mdiEmail: mdiEmail, + /* email field */ + email: '', + email_rules: [v => !!email_pattern.test(v || '') || 'We need an email address for account recovery and technical support.'], + email_errors: [], - /* email field */ - email: '', - email_rules: [v => !!email_pattern.test(v || '') || 'We need an email address for account recovery and technical support.'], - email_errors: [], + /* captcha field */ + captchaID: null, + captchaSolution: '', - /* captcha field */ - captchaID: null, - captchaSolution: '', + /* outreach preference */ + outreach_preference: true, - /* outreach preference */ - outreach_preference: true, + /* terms field */ + terms: false, + terms_rules: [v => !!v || 'You can only use our service if you agree with the terms'], - /* terms field */ - terms: false, - terms_rules: [v => !!v || 'You can only use our service if you agree with the terms'], + /* domain field */ + domain: '', + domainType: null, + domain_rules: [v => !!v && !!domain_pattern.test(v) || 'Domain names can only contain letters, numbers, dots (.), and dashes (-), and must end with a top-level domain.'], + dyn_domain_rules: [v => !!v && v.indexOf('.') < 0 && !!domain_pattern.test(v + '.' + LOCAL_PUBLIC_SUFFIXES[0]) || 'Your domain name can only contain letters, numbers, and dashes (-).'], + domain_errors: [], - /* domain field */ - domain: '', - domainType: null, - domain_rules: [v => !!v && !!domain_pattern.test(v) || 'Domain names can only contain letters, numbers, dots (.), and dashes (-), and must end with a top-level domain.'], - dyn_domain_rules: [v => !!v && v.indexOf('.') < 0 && !!domain_pattern.test(v + '.' + LOCAL_PUBLIC_SUFFIXES[0]) || 'Your domain name can only contain letters, numbers, and dashes (-).'], - domain_errors: [], - }), + /* dynDNS limitations */ + limitationsAccepted: false, + limitationsAccepted_rules: [v => (self.domainType !== 'dynDNS' || !!v)], + } + }, async mounted() { if ('email' in this.$route.params && this.$route.params.email !== undefined) { this.email = this.$route.params.email;