| @@ -0,0 +1,110 @@ | |||
| # Byte-compiled / optimized / DLL files | |||
| __pycache__/ | |||
| *.py[cod] | |||
| *$py.class | |||
| # C extensions | |||
| *.so | |||
| # Distribution / packaging | |||
| .Python | |||
| build/ | |||
| develop-eggs/ | |||
| dist/ | |||
| downloads/ | |||
| eggs/ | |||
| .eggs/ | |||
| lib/ | |||
| lib64/ | |||
| parts/ | |||
| sdist/ | |||
| var/ | |||
| wheels/ | |||
| *.egg-info/ | |||
| .installed.cfg | |||
| *.egg | |||
| MANIFEST | |||
| # PyInstaller | |||
| # Usually these files are written by a python script from a template | |||
| # before PyInstaller builds the exe, so as to inject date/other infos into it. | |||
| *.manifest | |||
| *.spec | |||
| # Installer logs | |||
| pip-log.txt | |||
| pip-delete-this-directory.txt | |||
| # Unit test / coverage reports | |||
| htmlcov/ | |||
| .tox/ | |||
| .coverage | |||
| .coverage.* | |||
| .cache | |||
| nosetests.xml | |||
| coverage.xml | |||
| *.cover | |||
| .hypothesis/ | |||
| .pytest_cache/ | |||
| # Translations | |||
| *.mo | |||
| *.pot | |||
| # Django stuff: | |||
| *.log | |||
| local_settings.py | |||
| db.sqlite3 | |||
| # Flask stuff: | |||
| instance/ | |||
| .webassets-cache | |||
| # Scrapy stuff: | |||
| .scrapy | |||
| # Sphinx documentation | |||
| docs/_build/ | |||
| # PyBuilder | |||
| target/ | |||
| # Jupyter Notebook | |||
| .ipynb_checkpoints | |||
| # pyenv | |||
| .python-version | |||
| # celery beat schedule file | |||
| celerybeat-schedule | |||
| # SageMath parsed files | |||
| *.sage.py | |||
| # Environments | |||
| .env | |||
| .venv | |||
| env/ | |||
| venv/ | |||
| ENV/ | |||
| env.bak/ | |||
| venv.bak/ | |||
| # Spyder project settings | |||
| .spyderproject | |||
| .spyproject | |||
| # Rope project settings | |||
| .ropeproject | |||
| # mkdocs documentation | |||
| /site | |||
| # mypy | |||
| .mypy_cache/ | |||
| .vscode | |||
| # current data | |||
| *.json | |||
| @@ -0,0 +1,14 @@ | |||
| from flask import Flask, render_template | |||
| app = Flask( | |||
| __name__, | |||
| static_url_path='', | |||
| static_folder='static/', | |||
| template_folder='templates/' | |||
| ) | |||
| @app.route('/') | |||
| def index(): | |||
| return render_template("age-gate.html") | |||
| if __name__ == "__main__": | |||
| app.run(debug=True, host='0.0.0.0', port=5001) | |||
| @@ -0,0 +1,6 @@ | |||
| Click==7.0 | |||
| Flask==1.1.1 | |||
| itsdangerous==1.1.0 | |||
| Jinja2==2.10.3 | |||
| MarkupSafe==1.1.1 | |||
| Werkzeug==0.16.0 | |||
| @@ -0,0 +1,77 @@ | |||
| html, body, div, span, applet, object, iframe, | |||
| h1, h2, h3, h4, h5, h6, p, blockquote, pre, | |||
| a, abbr, acronym, address, big, cite, code, | |||
| del, dfn, em, img, ins, kbd, q, s, samp, | |||
| small, strike, strong, sub, sup, tt, var, | |||
| b, u, i, center, | |||
| dl, dt, dd, ol, ul, li, | |||
| fieldset, form, label, legend, | |||
| table, caption, tbody, tfoot, thead, tr, th, td, | |||
| article, aside, canvas, details, embed, | |||
| figure, figcaption, footer, header, hgroup, | |||
| menu, nav, output, ruby, section, summary, | |||
| time, mark, audio, video { | |||
| margin: 0; | |||
| padding: 0; | |||
| border: 0; | |||
| font-size: 100%; | |||
| font: inherit; | |||
| vertical-align: baseline; | |||
| } | |||
| /* HTML5 display-role reset for older browsers */ | |||
| article, aside, details, figcaption, figure, | |||
| footer, header, hgroup, menu, nav, section { | |||
| display: block; | |||
| } | |||
| body { | |||
| line-height: 1; | |||
| } | |||
| ol, ul { | |||
| list-style: none; | |||
| } | |||
| blockquote, q { | |||
| quotes: none; | |||
| } | |||
| blockquote:before, blockquote:after, | |||
| q:before, q:after { | |||
| content: ''; | |||
| content: none; | |||
| } | |||
| table { | |||
| border-collapse: collapse; | |||
| border-spacing: 0; | |||
| } | |||
| body, html { | |||
| height: 100%; | |||
| width: 100%; | |||
| } | |||
| body { | |||
| display: flex; | |||
| justify-content: center; | |||
| text-align: center; | |||
| flex-direction: column; | |||
| font-family: sans-serif; | |||
| background-color: #100d1e; | |||
| } | |||
| .best { | |||
| font-size: 100px; | |||
| flex-wrap: center; | |||
| color: #7991cd; | |||
| } | |||
| .footer { | |||
| position: sticky; | |||
| top: 95%; | |||
| color: #58678e; | |||
| } | |||
| a { | |||
| color: #3e3852; | |||
| } | |||
| a:hover { | |||
| color: #726899; | |||
| } | |||
| @@ -0,0 +1,10 @@ | |||
| <!DOCTYPE html> | |||
| <html> | |||
| <head> | |||
| <title>Age Gate</title> | |||
| <link rel="stylesheet" type="text/css" href="best.css"> | |||
| </head> | |||
| <body> | |||
| <p class="best">OI</p> | |||
| </body> | |||
| </html> | |||