use real templating in help pages

master
Alice 5 years ago
parent b3539ef829
commit 5cf77af233

@ -232,7 +232,7 @@ PAYMENTS_BACKENDS = {
# 'receiver': '', # PayPal primary address if different
# 'currency': 'EUR',
# 'header_image': '',
'api_username': ',
'api_username': '',
'api_password': '',
'api_sig': '',
},

@ -3,9 +3,9 @@ import re
import markdown
from markdown.extensions.codehilite import CodeHiliteExtension
from markdown.extensions.toc import TocExtension
from django.http import HttpResponseNotFound
from django.shortcuts import render
from django.views.decorators.cache import cache_page
from django.conf import settings
from django.utils.translation import ugettext as _, get_language
from django import http
@ -14,17 +14,14 @@ from django.utils.translation import (
LANGUAGE_SESSION_KEY, check_for_language,
)
from django.template.loader import TemplateDoesNotExist, get_template
from django.template import Template
from constance import config
import frontmatter
from downloads.models import Version
from .common import get_price_float
MARKDOWN = markdown.Markdown(extensions=[
'markdown.extensions.toc',
'markdown.extensions.meta',
CodeHiliteExtension(noclasses=True),
])
def index(request):
@ -62,7 +59,6 @@ def set_lang(request):
return response
@cache_page(5 * 60)
def page(request, name):
if not re.match('^[a-z0-9_-]{1,50}$', name):
return HttpResponseNotFound()
@ -83,9 +79,20 @@ def page(request, name):
except TemplateDoesNotExist:
continue
page_md = template.render(None, request)
page_html = MARKDOWN.convert(page_md)
title = MARKDOWN.Meta.get('title', [None])[0]
page_source = template.render(None, request)
page = frontmatter.loads(page_source)
page_md = page.content
title = page.metadata.get('Title', "")
toc_depth = int(page.metadata.get('TocDepth', 6))
md = markdown.Markdown(extensions=[
TocExtension(toc_depth=toc_depth),
'markdown.extensions.meta',
CodeHiliteExtension(noclasses=True),
])
page_html = md.convert(page_md)
ctx = dict(content=page_html, title=title)
return render(request, 'ccvpn/page.html', ctx)

26
poetry.lock generated

@ -196,6 +196,18 @@ optional = false
python-versions = "*"
version = "0.10.1"
[[package]]
category = "main"
description = "Parse and manage posts with YAML frontmatter"
name = "python-frontmatter"
optional = false
python-versions = "*"
version = "0.4.5"
[package.dependencies]
PyYAML = "*"
six = "*"
[[package]]
category = "main"
description = "World timezone definitions, modern and historical"
@ -204,6 +216,14 @@ optional = false
python-versions = "*"
version = "2019.1"
[[package]]
category = "main"
description = "YAML parser and emitter for Python"
name = "pyyaml"
optional = false
python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*"
version = "5.1.2"
[[package]]
category = "main"
description = "Python HTTP for Humans."
@ -219,7 +239,7 @@ idna = ">=2.5,<2.9"
urllib3 = ">=1.21.1,<1.25"
[[package]]
category = "dev"
category = "main"
description = "Python 2 and 3 compatibility utilities"
name = "six"
optional = false
@ -273,7 +293,7 @@ python-versions = "*"
version = "1.11.1"
[metadata]
content-hash = "904e2f74a8bbc7c194b4a9d9ee1dd069338f52cde373e44d4c84cb659af043ae"
content-hash = "5a877ca66b221fad6e7837be828b4474efe123d30feb664c6b11bb38edc4ce07"
python-versions = "^3.5"
[metadata.hashes]
@ -297,7 +317,9 @@ pygal = ["27abab93cbc31e21f3c6bdecc05bda6cd3570cbdbd8297b7caa6904051b50d72", "92
pygments = ["31cba6ffb739f099a85e243eff8cb717089fdd3c7300767d9fc34cb8e1b065f5", "5ad302949b3c98dd73f8d9fcdc7e9cb592f120e32a18e23efd7f3dc51194472b"]
pylint = ["5d77031694a5fb97ea95e828c8d10fc770a1df6eb3906067aaed42201a8a6a09", "723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1"]
python-bitcoinlib = ["0fe7de6c083e12479eb12d3764ece83e5c73b1c48e806009ee1a1aa02da098cf", "4c5ab6d6937086b2964a97182ca04d9a7ecfe9295ab9520f58ac13a1f54e9183"]
python-frontmatter = ["13a61749910f2e1968c011103406429abc79c41d52b69adfb07f702ae2df32cc", "cec75b2afd1a06cf5b03cfd9c5173365d3dc14379526389a9742ff35846df771"]
pytz = ["303879e36b721603cc54604edcac9d20401bdbe31e1e4fdee5b9f98d5d31dfda", "d747dd3d23d77ef44c6a3526e274af6efeb0a6f1afd5a69ba4d5be4098c8e141"]
pyyaml = ["0113bc0ec2ad727182326b61326afa3d1d8280ae1122493553fd6f4397f33df9", "01adf0b6c6f61bd11af6e10ca52b7d4057dd0be0343eb9283c878cf3af56aee4", "5124373960b0b3f4aa7df1707e63e9f109b5263eca5976c66e08b1c552d4eaf8", "5ca4f10adbddae56d824b2c09668e91219bb178a1eee1faa56af6f99f11bf696", "7907be34ffa3c5a32b60b95f4d95ea25361c951383a894fec31be7252b2b6f34", "7ec9b2a4ed5cad025c2278a1e6a19c011c80a3caaac804fd2d329e9cc2c287c9", "87ae4c829bb25b9fe99cf71fbb2140c448f534e24c998cc60f39ae4f94396a73", "9de9919becc9cc2ff03637872a440195ac4241c80536632fffeb6a1e25a74299", "a5a85b10e450c66b49f98846937e8cfca1db3127a9d5d1e31ca45c3d0bef4c5b", "b0997827b4f6a7c286c01c5f60384d218dca4ed7d9efa945c3e1aa623d5709ae", "b631ef96d3222e62861443cc89d6563ba3eeb816eeb96b2629345ab795e53681", "bf47c0607522fdbca6c9e817a6e81b08491de50f3766a7a0e6a5be7905961b41", "f81025eddd0327c7d4cfe9b62cf33190e1e736cc6e97502b3ec425f574b3e7a8"]
requests = ["502a824f31acdacb3a35b6690b5fbf0bc41d63a24a45c4004352b0242707598e", "7bf2a778576d825600030a110f3c0e3e8edc51dfaafe1c146e39a2027784957b"]
six = ["3350809f0555b11f552448330d0b52d5f24c91a322ea4a15ef22629740f3761c", "d16a0141ec1a18405cd4ce8b4613101da75da0e9a7aec5bdd4fa804d0e0eba73"]
sqlparse = ["40afe6b8d4b1117e7dff5504d7a8ce07d9a1b15aeeade8a2d10f130a834f8177", "7c3dca29c022744e95b547e867cee89f4fce4373f3549ccd8797d8eb52cdb873"]

@ -19,6 +19,7 @@ django-constance = {version = "=2.4",extras = ["database"]}
lcoreapi = {git = "https://git.packetimpact.net/lvpn/lcoreapi.git"}
pygments = "^2.3"
psycopg2-binary = "^2.8"
python-frontmatter = "^0.4.5"
[tool.poetry.dev-dependencies]
pylint = "^2.3"

@ -19,6 +19,11 @@
<li><a href="/page/install-osx">{% trans 'OS X' %}</a></li>
<li><a href="/page/install-chromeos">{% trans 'Chrome OS' %}</a></li>
</ul>
<p class="menu-title">{% trans 'Advanced' %}</p>
<ul>
<li><a href="/page/advanced-tor">{% trans 'Tor' %}</a></li>
</ul>
</div>
<div class="content">
{% if title %}

@ -0,0 +1,69 @@
---
Title: Using the VPN with Tor
TocDepth: 2
---
The main use of a VPN is to provide an encrypted connection with clean, non-interfering gateways,
but it does not provide much anonymity depending on the threat.
While we pledge not to leak or sell your data to any business or government unless required by law,
we still have to know some information for operational purposes that could be taken by force by a motivated attacker or government agency.
There are a few ways to combine our VPN with Tor for additional anonymity and privacy.
This page will go over the methods and their uses and issues.
[TOC]
## a. Tor through the VPN
Much better for anonymity, but requires careful use of end-to-end encryption (HTTPS, SSH, ...)
#### Pros:
- it will hide your usage of the Tor network to your ISP or local network (and show a regular VPN or TLS connection instead).
- it will be as anonymous as using Tor directly.
#### Cons:
- VPN servers can get identified and blocked.
- it uses Tor exit nodes, which are not under our control and can intercept, monitor, and alter the traffic.
#### Installation:
1. Install the VPN.
2. Install tor or the Tor Browser Bundle.
## b. VPN through Tor
Harder to keep anonymous but will provide a clean and secure connection even over Tor.
#### Pros:
- it will successfully bypass most firewalls and government censorships thanks to Tor (and Tor bridges).
- your connection to the VPN is anonymized.
- you replace untrusted Tor exit nodes with our servers, likely more reliable and safer.
#### Cons:
- this anonymity is lessed depending on the payment method used for the VPN.
- the bandwidth will be limited by Tor and its network.
- VPN servers aren't as anonymous as most Tor exit nodes. please don't get us into any trouble.
#### Installation:
1. Install Tor. The exact method will be highly OS/distribution specific.
2. Set up the VPN to use Tor:
Edit your VPN configuration file to append the following config (or add it in the "additional config" in CCVPNGUI):
socks-proxy-retry
socks-proxy 127.0.0.1 9050
Replace 9050 by 9150 when using the Tor Browser Bundle.
3. (Re)connect to the VPN to start using it through Tor.
**Do not** use the Tor Browser Bundle or SOCKS proxy directly if you want to go through the VPN too.

@ -1,4 +1,6 @@
---
Title: Frequently Asked Questions
---
[TOC]

@ -1,4 +1,6 @@
---
Title: Questions fréquemment posées
---
[TOC]

@ -1,4 +1,6 @@
---
Title: Guides
---
## Installation

@ -1,4 +1,6 @@
---
Title: Guides
---
## Installation

@ -1,4 +1,6 @@
---
Title: Install on Android
---
1. First, you have to install [Arne Schwabe's OpenVPN for Android][openvpn_android].
It is the most frequently updated and secure OpenVPN client for Android.

@ -1,4 +1,6 @@
---
Title: Installation sur Android
---
1. Installez d'abord [OpenVPN pour Android d'Arne Schwabe][openvpn_android].
C'est le client Android le mieux mis à jour et le plus sécurisé.

@ -1,4 +1,6 @@
---
Title: Install on Chrome OS
---
1. Download the .onc file needed in [your account](/account/config). Select
Chrome OS as the target OS.

@ -1,4 +1,6 @@
---
Title: Install on Chrome OS
---
1. Téléchargez le fichier .onc requis dans [votre compte](/account/config), en choisissant
Chrome OS comme OS.

@ -1,4 +1,6 @@
---
Title: Install on GNU/Linux
---
With NetworkManager
-------------------

@ -1,4 +1,6 @@
---
Title: Installation sous GNU/Linux
---
Avec NetworkManager
-------------------

@ -1,4 +1,6 @@
---
Title: Install on Mac OS X
---
1. Download the .ovpn file you need in [your account](/account/config).

@ -1,4 +1,6 @@
---
Title: Installation sous Mac OS X
---
1. Télécharger la configuration (.ovpn) dont vous avez besoin dans [votre compte](/account/config).

@ -1,4 +1,6 @@
---
Title: Install on Windows
---
{% load dltags %}
With CCVPN GUI (recommended, simple)

@ -1,4 +1,6 @@
---
Title: Installation sous Windows
---
{% load dltags %}
Avec CCVPN GUI (recommandé, simple)

@ -1,4 +1,6 @@
---
Title: NO-P2P Servers
---
See also: our [Privacy Policy](/page/privacy).

@ -1,4 +1,6 @@
---
Title: Privacy Policy
---
We believe transparency is one of the most important qualities a VPN service can have.
This page is meant to inform users about what informations CCrypto stores,

@ -1,4 +1,6 @@
---
Title: Self Diagnosis
---
Windows

@ -1,4 +1,6 @@
---
Title: Auto-Diagnostic
---
Windows

@ -1,4 +1,6 @@
---
Title: Terms of Service
---
Cognitive Cryptography provides virtual private networking (VPN) to its clients. You (Client)
acknowledge that Cognitive Cryptography and/or any of its parent companies or constituents

Loading…
Cancel
Save