Commit ab371387 authored by root's avatar root
Browse files

update files

parent 66a20909
FIBRE Portal
================
FIBRE portal repository.
https://fibre.org.br
Dependencies
===============
### Redis
```
docker run --name fibre-redis -d -p 6379:6379 redis
```
Postgresql
Python3
Python3 pip
Django 1.10.2
Django recaptcha
psycopg2
Installation guide
================
## Python environment
[Virtual Environments](http://docs.python-guide.org/en/latest/dev/virtualenvs/)
Install virtualenv via pip:
```
$ pip install virtualenv
```
Active venv:
```
$ cd fibre-terminal
$ virtualenv venv
$ source venv/bin/activate
```
Install dependencies
```
pip install -r requirements.txt
```
## Project
Migrate:
```
python manage.py migrate
```
Run server:
```
python manage.py runserver 8000
```
- Install OS dependencies
```
sudo apt-get update
sudo apt-get install -y python3 python3-pip python3-venv python3-openssl python-psycopg2 libxml2-dev libxslt1-dev python3-lxml postgresql postgresql-server-dev-9.4 libffi-dev libxmlsec1-dev git vim
```
- Clone the Portal repo:
```
git config --global http.sslverify false
git clone https://git.rnp.br/fibre/portal-interface.git
```
- Create virtual environment
```
pyvenv venv
python3 -m venv venv
```
- Activate virtual environment
```
source venv/bin/activate
```
- Install python dependencies
```
pip3 install Django==1.10.2
pip3 install django-recaptcha2
pip install django-bootstrap3
pip3 install psycopg2
pip3 install sqlalchemy
pip3 install cryptography
pip3 install httplib2
pip3 install xmlsec
pip3 install networkx
pip3 install psycopg2-binary
pip3 install urllib3
aptitude -V install python3-urllib3/jessie-backports
```
- Run server
```
screen -S portal-interface python3 manage.py runserver 8080
```
- Install nginx for localhost proxy
```
apt-get install nginx
sudo ln -s nginx/portal.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
```
- Database configuration
```
sudo -u postgres psql template1 -c "CREATE USER portaladmin WITH PASSWORD 'portal' CREATEDB;"
sudo -u postgres psql -c "CREATE DATABASE portaldb;"
sudo -u postgres psql portaldb -c "GRANT SELECT ON ALL TABLES IN SCHEMA public TO portaladmin;"
python3 manage.py migrate
```
\ No newline at end of file
-----BEGIN CERTIFICATE-----
MIID0jCCAzugAwIBAgIQWh/TjinzTpiel82esSb9cDANBgkqhkiG9w0BAQsFADCB
iDELMAkGA1UEBhMCQlIxCzAJBgNVBAgMAkRGMREwDwYDVQQHDAhCcmFzaWxpYTEc
MBoGA1UECgwTY2guY2xvdWRuZXh0LnJucC5icjEVMBMGA1UECwwMQXV0aG9yaXR5
IENBMSQwIgYJKoZIhvcNAQkBFhVjaF9hZG1pbkBmaWJyZS5ybnAuYnIwHhcNMTgx
MjExMDIxOTMyWhcNMTkxMjExMDIxOTMyWjCBiDELMAkGA1UEBhMCQlIxCzAJBgNV
BAgMAkRGMREwDwYDVQQHDAhCcmFzaWxpYTEcMBoGA1UECgwTY2guY2xvdWRuZXh0
LnJucC5icjEVMBMGA1UECwwMQXV0aG9yaXR5IENBMSQwIgYJKoZIhvcNAQkBFhVj
aF9hZG1pbkBmaWJyZS5ybnAuYnIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGB
AMI3cTa5r0Kcbn1MMnpiMMQxzRt08rHqYHCnzb7yM6jHlsF1m9WPliqVvSHgGT7z
705aEvrm6nO7bMgjv7j7fXbaZZAlZvkTLuqDu/KDsXmeBvlI0KO4Vg1Dw9RJz4qN
Z8RaaFO5goi8w1RQ2np0YpLRrWtoDL7ltyxphEZiK1zpAgMBAAGjggE5MIIBNTAd
BgNVHQ4EFgQUHAxT4pykg4utt9Ii+9fVElivOEcwgcQGA1UdIwSBvDCBuYAUHAxT
4pykg4utt9Ii+9fVElivOEehgY6kgYswgYgxCzAJBgNVBAYTAkJSMQswCQYDVQQI
DAJERjERMA8GA1UEBwwIQnJhc2lsaWExHDAaBgNVBAoME2NoLmNsb3VkbmV4dC5y
bnAuYnIxFTATBgNVBAsMDEF1dGhvcml0eSBDQTEkMCIGCSqGSIb3DQEJARYVY2hf
YWRtaW5AZmlicmUucm5wLmJyghBaH9OOKfNOmJ6XzZ6xJv1wMDwGA1UdEQQ1MDOG
MXVybjpwdWJsaWNpZDpJRE4rY2guY2xvdWRuZXh0LnJucC5icithdXRob3JpdHkr
Y2EwDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOBgQCLBqWobpfllayy
hBbc/U6KiqdpZ2weSEldAubatXpjlEIvG1S/UGxyF5AE0PJes23fNFiXwPz87mnu
d5rnj6Rmaa9rLhE457OS1iJHG0ODdDSoCre9AfUEbT9fMjBbXqhih6p6/OcPSurU
5HDuYxv4nn/sy5WdK0Tmafsuw0RHEg==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIETTCCA7agAwIBAgIQIATmNTkPTEyBFTf8Hp4VOTANBgkqhkiG9w0BAQsFADCB
iDELMAkGA1UEBhMCQlIxCzAJBgNVBAgMAkRGMREwDwYDVQQHDAhCcmFzaWxpYTEc
MBoGA1UECgwTY2guY2xvdWRuZXh0LnJucC5icjEVMBMGA1UECwwMQXV0aG9yaXR5
IENBMSQwIgYJKoZIhvcNAQkBFhVjaF9hZG1pbkBmaWJyZS5ybnAuYnIwHhcNMTgx
MjExMDIyMDE3WhcNMTkxMjExMDIyMDE3WjCBuzELMAkGA1UEBhMCQlIxCzAJBgNV
BAgMAkRGMREwDwYDVQQHDAhCcmFzaWxpYTEcMBoGA1UECgwTY2guY2xvdWRuZXh0
LnJucC5icjEZMBcGA1UECwwQQXV0aG9yaXR5IFBPUlRBTDEtMCsGA1UEAwwkODhm
OGI0MDctZTMyMC00NWQ4LTlhMzAtYWNmY2RkZjlhZTI4MSQwIgYJKoZIhvcNAQkB
FhVjaF9hZG1pbkBmaWJyZS5ybnAuYnIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJ
AoGBAKzmMF4cSSZ+0nUs7xS2J1uRtfXHabl2ZXnbNUf4zXk6cgYA5OTjf+13uy9T
7KLT4T5NGzhBT8qtNlAicfY2gt6dWJGdIlI6WLjNhoWcR679cXRsgfr8HjFblgTQ
Mgzirwe5u++b8SvjwKG3IQNiDLdue2aeyaA+W8OtS8plXK9JAgMBAAGjggGBMIIB
fTAdBgNVHQ4EFgQUWSfl5Doyi+CxZ765tf70UizFH0UwgcQGA1UdIwSBvDCBuYAU
HAxT4pykg4utt9Ii+9fVElivOEehgY6kgYswgYgxCzAJBgNVBAYTAkJSMQswCQYD
VQQIDAJERjERMA8GA1UEBwwIQnJhc2lsaWExHDAaBgNVBAoME2NoLmNsb3VkbmV4
dC5ybnAuYnIxFTATBgNVBAsMDEF1dGhvcml0eSBDQTEkMCIGCSqGSIb3DQEJARYV
Y2hfYWRtaW5AZmlicmUucm5wLmJyghBaH9OOKfNOmJ6XzZ6xJv1wMIGGBgNVHREE
fzB9hjV1cm46cHVibGljaWQ6SUROK2NoLmNsb3VkbmV4dC5ybnAuYnIrYXV0aG9y
aXR5K3BvcnRhbIEVY2hfYWRtaW5AZmlicmUucm5wLmJyhi11cm46dXVpZDo4OGY4
YjQwNy1lMzIwLTQ1ZDgtOWEzMC1hY2ZjZGRmOWFlMjgwDAYDVR0TAQH/BAIwADAN
BgkqhkiG9w0BAQsFAAOBgQCl2tmiIffEdMZKHtfVpqXXTKPBmNhfyHMj5YAA5+jM
ydCBV+rrgeb68ySwjfzM23Oy6GybnHGnH4VOQ7sFtMoEoQ7H4CCPFMeQpAbWOM8T
vw4rDxps/5kzpcn2wnXW6JgINONZGmeTVxxxG7CqOXfD8iBgTwjw82c5CDfMB5aJ
YQ==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
MIIG/zCCBeegAwIBAgIMe4VJbTIrhvyPl76iMA0GCSqGSIb3DQEBCwUAMIGpMQsw
CQYDVQQGEwJCUjEXMBUGA1UECBMOUmlvIGRlIEphbmVpcm8xFzAVBgNVBAcTDlJp
byBkZSBKYW5laXJvMSQwIgYDVQQLExtHZXJlbmNpYSBkZSBTZXJ2aWNvcyAoR1Nl
cikxMTAvBgNVBAoTKFJlZGUgTmFjaW9uYWwgZGUgRW5zaW5vIGUgUGVzcXVpc2Eg
LSBSTlAxDzANBgNVBAMTBklDUEVkdTAeFw0xODExMjkxNjExMTBaFw0yMDExMjkx
NjExMTBaMIGIMQswCQYDVQQGEwJCUjELMAkGA1UECBMCUkoxFzAVBgNVBAcTDlJp
byBkZSBKYW5laXJvMTEwLwYDVQQKEyhSRURFIE5BQ0lPTkFMIERFIEVOU0lOTyBF
IFBFU1FVSVNBIC0gUk5QMSAwHgYDVQQDExdwb3J0YWwuY2xvdWRuZXh0LnJucC5i
cjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMgyuSdO2cOSoteJXv6S
YiIwG9hzf4SyoDMIFWIOlRayDejDNkwag4XP6r0hTyP8bKAj1im99kuwGUVZbCJB
TmI3+owhYPteTO3Zzl4Wmu1ic2ZfVETbZE9FrVPb39Uju8ob2TfMez3CJ0MTjfWq
38lDn0d9d8ngRXTvOjobKxN+KTxRXrzGyjYbBliFkDz4mUzaVe33293CUV62sERx
sE2QLmrfRKUjvAgZ+OvDUpUz/e3A7wAZZ96uCQbZIOrpCliW493KsyzBCNIiixkx
Cw4XQuT0ksgBgrK7GHcktwnWFdad4o4VasAvpVcZ4Af7ekY4HwpSC/lnw3JeiQr1
Q9UCAwEAAaOCA0QwggNAMA4GA1UdDwEB/wQEAwIFoDCBhgYIKwYBBQUHAQEEejB4
MEAGCCsGAQUFBzAChjRodHRwOi8vc2VjdXJlLmdsb2JhbHNpZ24uY29tL2NhY2Vy
dC9pY3BlZHVzaGEyZzIuY3J0MDQGCCsGAQUFBzABhihodHRwOi8vb2NzcDIuZ2xv
YmFsc2lnbi5jb20vaWNwZWR1c2hhMmcyMFYGA1UdIARPME0wQQYJKwYBBAGgMgEU
MDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2JhbHNpZ24uY29tL3JlcG9z
aXRvcnkvMAgGBmeBDAECAjAJBgNVHRMEAjAAMD4GA1UdHwQ3MDUwM6AxoC+GLWh0
dHA6Ly9jcmwuZ2xvYmFsc2lnbi5jb20vZ3MvaWNwZWR1c2hhMmcyLmNybDAiBgNV
HREEGzAZghdwb3J0YWwuY2xvdWRuZXh0LnJucC5icjAdBgNVHSUEFjAUBggrBgEF
BQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFDpNZCPNSxeb/f4TjPbO2aow1XYfMB8G
A1UdIwQYMBaAFJXwpIQap1wgNqbFCNdlQgLld2jjMIIBfQYKKwYBBAHWeQIEAgSC
AW0EggFpAWcAdgCHdb/nWXz4jEOZX73zbv9WjUdWNv9KtWDBtOr/XqCDDwAAAWdg
PQjYAAAEAwBHMEUCIHUlPsdOfCerE7DBQSrwIIZQpEk1bxIhyHjeiliZyn10AiEA
vXNGX/Gp9bZnKCLSmQe4Zd+UKAFmamaH0Fy3KFitxPUAdgC72d+8H4pxtZOUI5eq
kntHOFeVCqtS6BqQlmQ2jh7RhQAAAWdgPQw7AAAEAwBHMEUCIQC6PDyjOBFNlpz4
q9qJYeajVgeVv6oSt0GF1zWQ1RFgEgIgAp1Nl9dv+0uEtgLENRMQdKIotiSVOddD
1bdzd7zeEXIAdQBvU3asMfAxGdiZAKRRFf93FRwR2QLBACkGjbIImjfZEwAAAWdg
PQj0AAAEAwBGMEQCIAd8pF8uou+3ReyM4DGLs2Xjul853lXlwtw7FRCs3MRuAiBs
bwD9qpmeq2DpkAgCUvJmhc5x0O2p6Kz7BLwczOACeTANBgkqhkiG9w0BAQsFAAOC
AQEAA/5UXDrB0yIOTn6p3hfmbzwDXq7ASN7Q45W/YG3TxjwIQWjV2xfuDf2kI/Ba
qN1/FC9vo2T/Bh+laySsCFkpnr0F6pmpsVIKaWheZKkSXMx6lNV8NE7+kW+aE1s/
GmER/ZQlcmEm7fUY4TcgTtEAX83O79IbzE0ocjGI+4HriV9qOAVcH1K4FXON40qT
kEckYAHOAzz2cFwYu8z8Ng9dxj6fVGSPN7ifmwonUwWcJma+BjpqeAdqS/jd4uyV
sBKLXj5a5BjsOi5EOpf932aQhX7dsq0A3V4MlRm+q/2LCXNOjBZ3L+yZZRJxdck3
ekodJYH0mG+6/8nX+Q1St/wd+g==
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE REQUEST-----
MIIBzTCCATYCAQAwgYwxCzAJBgNVBAYTAkJSMQswCQYDVQQIDAJERjERMA8GA1UE
BwwIQnJhc2lsaWExHDAaBgNVBAoME2NoLmNsb3VkbmV4dC5ybnAuYnIxGTAXBgNV
BAsMEEF1dGhvcml0eSBQT1JUQUwxJDAiBgkqhkiG9w0BCQEWFWNoX2FkbWluQGZp
YnJlLnJucC5icjCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgYEArOYwXhxJJn7S
dSzvFLYnW5G19cdpuXZleds1R/jNeTpyBgDk5ON/7Xe7L1PsotPhPk0bOEFPyq02
UCJx9jaC3p1YkZ0iUjpYuM2GhZxHrv1xdGyB+vweMVuWBNAyDOKvB7m775vxK+PA
obchA2IMt257Zp7JoD5bw61LymVcr0kCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4GB
AARa0OkzlvnvFMKPEY8lKX2PmMVS9RMB12MSDDetSN+AnYEHp11cL6iwJjfFmAmC
LyRq6z90p1oifLDdnLZAitKuM+q03s5q+2dLWXNODPXuIn8ZBt48jD4cbNyIG8hV
eHspaOKIYn8EPC1VbalX3FJFcgcE7TbXr5yk4Wu1D7es
-----END CERTIFICATE REQUEST-----
-----BEGIN PRIVATE KEY-----
MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAKzmMF4cSSZ+0nUs
7xS2J1uRtfXHabl2ZXnbNUf4zXk6cgYA5OTjf+13uy9T7KLT4T5NGzhBT8qtNlAi
cfY2gt6dWJGdIlI6WLjNhoWcR679cXRsgfr8HjFblgTQMgzirwe5u++b8SvjwKG3
IQNiDLdue2aeyaA+W8OtS8plXK9JAgMBAAECgYEAnYS9jg/hCQRDwuMkEc99/eu7
RebeSEw4WRM/8IkY0ZhQp22LG4i0VOlfDNg9335/WB4xbUf7ZN/3enxXLQQupxeT
SE7dwu3he9FCBfriZpNn+llj2eoU8xi7WAs6GhTJ1wUoRzphk3NFq7ReXheL5jPx
IB/pSM197jY///h65x0CQQDhpbCj8FyiNnXCgs8loSvJO2O3W5QGUA1PElQo8Qnq
cnEdittktrSh2XIdzMh/wktkVLLZXwKj7dcHoTA7vTcfAkEAxCgV03oPgpUi/XDN
HpyGU37W/rCtFqlnYxeVVr622jCBtUOsMy1sdj7hYmD3bWxrZa56PoSiUPd7CI4I
bvVUlwJACmzxYGG2pfgGMNqCX6a2szF/RfWBPVltg/3AzbN1VdO7zjWgNWMLrX6y
exX/HYgIm7YeHVT6dkCC8uNLqzbu2QJAYlfagXkLt6M/tKLOI8/DxK6t6Wj4jokG
DXcwZxocoI17Kj6wYcQfQbVK2EDXK+QUgBkWrqtemYtKAsL61W5oJwJBAIZy5lnj
WZvNw8+62vTdy/IadhXa8yWEY687KrGg31QxGFUcZV3r8d9pMIuVvg/UgX03bhcn
Sp9l9DNhRHaCUN8=
-----END PRIVATE KEY-----
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDIMrknTtnDkqLX
iV7+kmIiMBvYc3+EsqAzCBViDpUWsg3owzZMGoOFz+q9IU8j/GygI9YpvfZLsBlF
WWwiQU5iN/qMIWD7Xkzt2c5eFprtYnNmX1RE22RPRa1T29/VI7vKG9k3zHs9widD
E431qt/JQ59HfXfJ4EV07zo6GysTfik8UV68xso2GwZYhZA8+JlM2lXt99vdwlFe
trBEcbBNkC5q30SlI7wIGfjrw1KVM/3twO8AGWfergkG2SDq6QpYluPdyrMswQjS
IosZMQsOF0Lk9JLIAYKyuxh3JLcJ1hXWneKOFWrAL6VXGeAH+3pGOB8KUgv5Z8Ny
XokK9UPVAgMBAAECggEAfIRf+PzoIOZBdoGwnfH6K310tEoSFDztuw/aDOU5Aaa5
U/6m9OrAxyesvvnKuX01Kt1fRRMr76OV9DZMNXodAKYEpcfVBEOA4adI3eh9cAx9
7jx4s2Mpnsydo7zsGStij7CGiFgchysNNIEjGJuxGQOAO/zj1qIxUSvCMYXYYwRJ
XRf8b4VfJlO/frdHYxcn5JT9vt+THTla75j3k12XjQXkgBkyllGPVAo30g+UMjR1
w0Cq1MaugMk21jrNIbVltMtx+Q64s1Ye0kAhQ0N0hdoDQmm31LSMDnroRfqSayDD
Do8ZMCWsE2r8xvjG+zSjLUwjGqKtnb9peXhTE53YOQKBgQDrELi6jnmUEA1M+YbG
O4Qg7Fk1kTXJ4Lbrsen3F80FaeRA3CRB60tzV7mZQIco8gYAS6RJ8gXH5lT4ugu6
py1UzKNCJ8A1nDh20POp/JTnGpSKRVp2YHrIFwuW4FrRL5wB9YHzCFQVy9iwoXru
nLq3Rz2p34E7Tuqu6UwDH28aMwKBgQDaBw+rbnaE/oG/os5EMawSAj5DftomNMk5
7r58E7PvhGojTg6pJV0aavTKwoOH8dSr8+RcEXIshyPSN0NS0UBkRxL0Cx936XIV
7XG7BNctWdocl25vkPYzVdeIUOVAqxd1iw3+rOoDvhiHJH9D5IqqpCS/QhEjD8WS
sJO7V1Ox1wKBgEY19WdLnQbbkI14TogxSLLoxXCZkd5dr2VQ+9ghFMzUJyg0WOQT
mrK19irPOk/BkodOEKFBl/ZwVtr//vbebkzQ3saoxuF8auUaXl1co0EwEEQImQ+Y
m7PeJkkHdDjdJpTzNsBXsX3dKDkB0o0o5SBPOBzgNGJ5nOFnr5uTLQU/AoGBAI8g
2ZGR965BIc47Q6uS7EH6RQOsL+uq9XrZlyT/Dj2rsL2yjX9O7vrbwg2lehFxmUq0
1nH2ZfyDTum+q6yff+UUn4WkE6l1kBaDBQlgGR5FgSEJ7E7DXEzBCrgLWySD7OeW
PL62pv2D+rglJoLccoepMBJ6faOFxA8TajgvENuLAoGBAONjMMf/YQl5/Ay8ELt3
6q5kTTAykEVR/NnA1LokKl/5qa7mYUOTeFRvvc4jPjncppQTcPBq+ebJ6LgsEYaF
0Yw6aQIO8h7LGgZXU6S3mtZqFYrLJkdA36EYttipnPdjT8f0V6R/yhApTvbTDdiv
9KkXM43iZiXF9IFK+z3pG0qN
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE REQUEST-----
MIIB0TCCAToCAQAwgZAxCzAJBgNVBAYTAkJSMQswCQYDVQQIDAJERjERMA8GA1UE
BwwIQnJhc2lsaWExHDAaBgNVBAoME2NoLmNsb3VkbmV4dC5ybnAuYnIxGTAXBgNV
BAsMEEF1dGhvcml0eSBQT1JUQUwxKDAmBgkqhkiG9w0BCQEWGWNoX2FkbWluQGNs
b3VkbmV4dC5ybnAuYnIwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAKDU47iZ
dlgo//H9z7UQkK1l7f5GAD1TE8OcyhRq1NPFLoWITr2HQBueXjVhVKK2szVyoIwZ
JaWZFzf5KZgmCFnTqvWKU5EwPXFOQRBlNSm4jZcsBjfxas6ylYAtSmX/aaWAPE4w
MLyxVjpfey8nMyE44NHFojuEvKW+MwLLrhp/AgMBAAGgADANBgkqhkiG9w0BAQsF
AAOBgQAr8RCPDv4uhhXgTGEQmuOIpGlK3kkxpxt0EP4oeP5A7woUkOeatLFnbLDB
RBTOz9m/37FLNe6AKeXQ92ulzt30RNSS2Hl2NiJw2DbGmqw/gYpissvqa+4q413/
s4mbkR/D4qDvqdQyI9LgEH1YA5X/mnVcqkGxRYE/9QsLZrm5/g==
-----END CERTIFICATE REQUEST-----
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="/static/images/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/static/images/favicon-16x16.png" sizes="16x16" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!-- bootstrap 3 -->
<link href="/static/css/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css">
<script src="/static/js/bootstrap/bootstrap.min.js"></script>
<!-- mustache 0.8.1 -->
<script src="/static/js/mustache/mustache.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!-- moment -->
<script src="/static/js/momentjs/moment.js"></script>
<!-- bootstrap-datetimepicker 4.17.47 -->
<script src="/static/js/bootstrap-datetimepicker/bootstrap-datetimepicker.min.js"></script>
<link href="/static/css/bootstrap-datetimepicker/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css">
<!-- jquery dataTables 1.10.16 -->
<link href="/static/datatables/css/dataTables.bootstrap.min.css" rel="stylesheet" type="text/css">
<script src="/static/datatables/js/jquery.dataTables.min.js"></script>
<script src="/static/datatables/js/dataTables.bootstrap.min.js"></script>
<!-- toastr -->
<link href="/static/plugins/toastr/toastr.min.css" rel="stylesheet"/>
<script src="/static/plugins/toastr/toastr.min.js"></script>
<script type="text/javascript">
function getCookie(name) {
var cookieValue = null;
if (document.cookie && document.cookie !== '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
// Does this cookie string begin with the name we want?
if (cookie.substring(0, name.length + 1) === (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
var csrftoken = getCookie('csrftoken');
function csrfSafeMethod(method) {
// these HTTP methods do not require CSRF protection
return (/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
beforeSend: function(xhr, settings) {
if (!csrfSafeMethod(settings.type) && !this.crossDomain) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
function toggleDiv(divId) {
$("#"+divId).toggle();
}
$(function () {
$('.datepicker').datetimepicker({
format: 'YYYY-MM-DD',
locale: 'pt-br',
defaultDate: new Date(new Date(moment().add(1, 'd'))),
minDate: new Date()
});
$('.has-popover').popover({
html : true,
'trigger':'hover'
});
$('[data-toggle="tooltip"]').tooltip();
// Loading
$('.loading').on('click', function() {
var $this = $(this);
$this.button('loading');
});
});
</script>
<link rel="stylesheet" href="/static/css/slice.css">
<script src='https://www.google.com/recaptcha/api.js'></script>
<title>FIBRE Portal</title>
</head>
<body>
<!-- Nav -->
<nav class="navbar navbar-default navbar-static-top">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/">
<img src="/static/images/logo_header.png" class="img-responsive" style="height: 100%">
</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="">
<a href="/">Home</a>
</li>
<li class="">
<a href="/account/request/">Request Account</a>
</li>
<li class="dropdown">
<a data-submenu="" data-toggle="dropdown" tabindex="0" aria-expanded="false">
About FIBRE
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>
<a href="http://fibre.org.br/start-using-fibre/local-portals/">FIBRE Federation</a>
</li>
<li>
<a href="http://fibre.org.br/documentation/acceptable-use-policy/">Usage policy</a>
</li>
</ul>
</li>
<li>
<a href="http://fibre.org.br/support/">Support</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Panel -->
<div class="section">
<div class="container">
<!-- Content -->
<div class="col-md-12" style="padding-left: 0px; padding-right:0px;">
<div class="alert alert-danger">
Login failed: Account is not enabled or activated.
</div>
<div class="intro">
<h3>Welcome to FIBRE</h3>
<p>This page gives access to a remote experimental infrastructure (or testbed)
for tests with computer networks and distributed systems, mainly involving
wireless and wired devices. This testbed is part of the project FIBRE,
an initiative between Brazil and Europe.</p>
</div>
<div>
<p>FIBRE is open to any researcher, professor or student from any institution to test new applications and network architecture models. If you have an account in CAFe, you could just log in using it. Otherwise, you could just fill in an registration form.</p>
</div>
<div>For further information about FIBRE-BR, please access the links below:
<p>About FIBRE project:
<a href="http://www.fibre.org.br" target="_blank">http://www.fibre.org.br</a>
</p>
<p>FIBRE Wiki:
<a href="https://wiki.rnp.br/display/fibre/Home" target="_blank">https://wiki.rnp.br/display/fibre/Home </a>
</p>
</div>
<div style="border: 1px solid; border-color: #ddd; width:480px; display: table; margin: 0 auto;">
<div style="height:60px; background-color:#f3f3f3">
<div class="col-xs-12" style="height:100%; margin:10px">
<h4 style="text-align:center">I have an account</h4>
</div>
</div>
<div style="height:160px; background-color:#fff; padding:15px">
<a href="/DS/">
<img src="/static/images/cafe_logo.png" class="img-responsive center-block">
</a>
</div>
<div style="height:50px; background-color:#f3f3f3;">
<div class="col-xs-7" style="height:100%; padding:15px">
<!-- <a href="javascript:toggleDiv('local-sign-in');">My account is not federated.</a> -->
<a href="https://portal.fibre.org.br/Login">FIBRE IdP Login</a>
</div>
<div class="col-xs-5" align="right" style="height:100%; padding:9px">
<a class="btn btn-primary" href="/DS/">Access</a>
</div>
</div>
</div>
<!-- <div style="border: 1px solid; border-color: #ddd; width:480px; display: table; margin: 0 auto; display: none;" id="local-sign-in"> -->
<!--
<div style="height:60px; background-color:#f3f3f3">
<div class="col-xs-12" style="height:100%; margin:10px">
<h4 style="text-align:center">Access using local account</h4>
</div>
</div>
<form class="form-horizontal" role="form" action="" method="post" style="margin-bottom:0px">
<div style="display:none">
<input name="utf8" value="✓" type="hidden">
<input name="authenticity_token" value="U7R1gZoegUCcp4hIY6og327/C0prG+R/Sqz+b5yIrbw=" type="hidden">
</div>
<div style="padding-left:15px; height:120px; background-color:#fff;">
<input type='hidden' name='csrfmiddlewaretoken' value='kden1qfL0gIMNokFwEaK3oVC6s3A163SvFc9nih9aSmyPXYeypnjxKwwTq1EKOAS' />
</div>
<div style="height:50px; background-color:#f3f3f3;">
<div class="col-xs-7" style="height:100%; padding:15px">
<a href="/password/reset_form/" >Forgot your password?</a>
</div>
<div class="col-xs-5" align="right" style="height:100%; padding:9px">
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
</div> -->
<div style="margin-top:10px" >
<p> <a href="/password/reset_form/" >Forgot your password?</a> </p>
</div>
<div style="margin-top:10px" >
<p> If you do not have login, request an account <a href="/account/request/" >here.</a></p>
</div>
</div>
</div>
</div>
<!-- Footer -->
<footer class="section section-primary">
<div class="container">
<div class="row">
<div class="col-md-12">
<img src="/static/images/rodape.png" class="center-block img-responsive">
</div>
</div>
</div>
</footer>
</body>
</html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="/portal/static/images/favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="/portal/static/images/favicon-16x16.png" sizes="16x16" />
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.12.4.js"></script>
<script src="//code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<!-- bootstrap 3 -->
<link href="/static/css/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css">
<script src="/static/js/bootstrap/bootstrap.min.js"></script>
<!-- mustache 0.8.1 -->
<script src="/static/js/mustache/mustache.min.js"></script>
<link href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<!-- moment -->
<script src="/portal/static/js/momentjs/moment.js"></script>
<!-- bootstrap-datetimepicker 4.17.47 -->
<script src="/portal/static/js/bootstrap-datetimepicker/bootstrap-datetimepicker.min.js"></script>
<link href="/portal/static/css/bootstrap-datetimepicker/bootstrap-datetimepicker.min.css" rel="stylesheet" type="text/css">