84 lines
No EOL
2.7 KiB
Markdown
84 lines
No EOL
2.7 KiB
Markdown
Bypass Censorship Portal
|
|
========================
|
|
|
|
Self-service deployment of censorship circumvention resources.
|
|
|
|
[](https://bypass.censorship.guide/)
|
|
[](https://gitlab.com/guardianproject-ops/bypass-censorship/portal/-/pipelines)
|
|
|
|

|
|
|
|
Development Setup
|
|
-----------------
|
|
|
|
For development, it is possible to use SQLite and a single host.
|
|
|
|
Create and activate a Python virtual environment:
|
|
|
|
```
|
|
python3 -m venv venv
|
|
source ./venv/bin/activate
|
|
```
|
|
|
|
Install the Python packages needed by the application:
|
|
|
|
```
|
|
pip install -r requirements.txt
|
|
pip install psycopg2-binary
|
|
```
|
|
|
|
Set up the database:
|
|
|
|
```
|
|
flask db init
|
|
flask db upgrade
|
|
```
|
|
|
|
Before the application can be run, it will need to be configured.
|
|
Run `cp config.yaml.example config.yaml`, and edit it accordingly. Note that at least one could provider must be configured for the application to run.
|
|
To run the application:
|
|
|
|
```
|
|
flask run --host=0.0.0.0 --port=5000
|
|
```
|
|
|
|
### New frontend
|
|
To use the new portal frontend:
|
|
|
|
```bash
|
|
git clone https://gitlab.com/guardianproject-ops/bypass-censorship/portal-frontend.git frontend
|
|
cd frontend
|
|
npm install
|
|
npm run build
|
|
|
|
mkdir -p ../app/static/ui
|
|
cp -r dist/* ../app/static/ui
|
|
```
|
|
|
|
|
|
Copyright
|
|
---------
|
|
|
|

|
|
|
|
---
|
|
|
|
Copyright 2021-2022 SR2 Communications Limited.
|
|
|
|
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
|
|
following conditions are met:
|
|
|
|
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
|
|
disclaimer.
|
|
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
|
|
disclaimer in the documentation and/or other materials provided with the distribution.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
|
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
|
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
--- |