mirror of
https://github.com/viq/NewsBlur.git
synced 2025-04-13 09:38:09 +00:00
Adding individual IP addresses from hetzner.
This commit is contained in:
parent
ff6b1e0040
commit
669c07e023
5 changed files with 34 additions and 15 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -19,6 +19,7 @@ certbot.conf
|
|||
task_env.py
|
||||
app_env.py
|
||||
data/
|
||||
api/ip_addresses.txt
|
||||
.prom_cache
|
||||
config/certificates
|
||||
**/*.xcuserstate
|
||||
|
|
|
@ -29,6 +29,14 @@
|
|||
tags:
|
||||
- static
|
||||
|
||||
- name: "Write out ips from ansible inventory of all servers with app/node/www/task in name into addresses.txt file"
|
||||
template:
|
||||
src: ip_addresses.txt.j2
|
||||
dest: /srv/newsblur/apps/api/ip_addresses.txt
|
||||
tags:
|
||||
- inventory
|
||||
|
||||
|
||||
- name: Prune docker
|
||||
become: yes
|
||||
community.docker.docker_prune:
|
||||
|
|
5
ansible/roles/web/templates/ip_addresses.txt.j2
Normal file
5
ansible/roles/web/templates/ip_addresses.txt.j2
Normal file
|
@ -0,0 +1,5 @@
|
|||
{%- for item in hostvars %}
|
||||
{% if "happ" in item or "hnode" in item or "hwww" in item or "htask" in item %}
|
||||
{{ hostvars[item].ansible_host }}
|
||||
{% endif %}
|
||||
{%- endfor %}
|
|
@ -1,25 +1,28 @@
|
|||
import os
|
||||
import base64
|
||||
import urllib.parse
|
||||
import datetime
|
||||
import os
|
||||
import urllib.parse
|
||||
|
||||
import lxml.html
|
||||
from django import forms
|
||||
from django.conf import settings
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render
|
||||
from django.contrib.auth import login as login_user
|
||||
from django.contrib.auth import logout as logout_user
|
||||
from apps.reader.forms import SignupForm, LoginForm
|
||||
from django.core.mail import mail_admins
|
||||
from django.http import HttpResponse
|
||||
from django.shortcuts import render
|
||||
|
||||
from apps.profile.models import Profile
|
||||
from apps.social.models import MSocialProfile, MSharedStory, MSocialSubscription
|
||||
from apps.rss_feeds.models import Feed, MStarredStoryCounts, MStarredStory
|
||||
from apps.reader.forms import LoginForm, SignupForm
|
||||
from apps.reader.models import RUserStory, UserSubscription, UserSubscriptionFolders
|
||||
from apps.rss_feeds.models import Feed, MStarredStory, MStarredStoryCounts
|
||||
from apps.rss_feeds.text_importer import TextImporter
|
||||
from apps.reader.models import UserSubscription, UserSubscriptionFolders, RUserStory
|
||||
from apps.social.models import MSharedStory, MSocialProfile, MSocialSubscription
|
||||
from utils import json_functions as json
|
||||
from utils import log as logging
|
||||
from utils.feed_functions import relative_timesince
|
||||
from utils.user_functions import ajax_login_required, get_user
|
||||
from utils.view_functions import required_params
|
||||
from utils.user_functions import get_user, ajax_login_required
|
||||
|
||||
|
||||
@json.json_view
|
||||
|
@ -511,8 +514,10 @@ def save_story(request, token=None):
|
|||
return response
|
||||
|
||||
def ip_addresses(request):
|
||||
import digitalocean
|
||||
doapi = digitalocean.Manager(token=settings.DO_TOKEN_API_IPADDRESSES)
|
||||
droplets = doapi.get_all_droplets()
|
||||
addresses = '\n'.join([d.ip_address for d in droplets if any(name in d.name for name in ['task', 'staging', 'app', 'node'])])
|
||||
# Read local file /srv/newsblur/apps/api/ip_addresses.txt and return that
|
||||
with open('/srv/newsblur/apps/api/ip_addresses.txt', 'r') as f:
|
||||
addresses = f.read()
|
||||
|
||||
mail_admins(f"IP Addresses accessed from {request.META['REMOTE_ADDR']} by {request.user_agent}", addresses)
|
||||
|
||||
return HttpResponse(addresses, content_type='text/plain')
|
||||
|
|
|
@ -1598,7 +1598,7 @@ class Profile(models.Model):
|
|||
self.save()
|
||||
|
||||
delta = datetime.datetime.now() - self.last_seen_on
|
||||
months_ago = delta.days / 30
|
||||
months_ago = round(delta.days / 30)
|
||||
user = self.user
|
||||
data = dict(user=user, months_ago=months_ago)
|
||||
text = render_to_string('mail/email_premium_expire_grace.txt', data)
|
||||
|
@ -1627,7 +1627,7 @@ class Profile(models.Model):
|
|||
return
|
||||
|
||||
delta = datetime.datetime.now() - self.last_seen_on
|
||||
months_ago = delta.days / 30
|
||||
months_ago = round(delta.days / 30)
|
||||
user = self.user
|
||||
data = dict(user=user, months_ago=months_ago)
|
||||
text = render_to_string('mail/email_premium_expire.txt', data)
|
||||
|
|
Loading…
Add table
Reference in a new issue