This commit is contained in:
A B
2024-10-26 12:22:19 +00:00
parent c4d9254824
commit a1ff998b68
4 changed files with 8 additions and 7 deletions

View File

@ -21,7 +21,7 @@ from vpn.views import shadowsocks
urlpatterns = [
path('admin/', admin.site.urls),
path('ss/<str:link>', shadowsocks, name='shadowsocks'),
path('dynamic/<str:link>', shadowsocks, name='shadowsocks'),
path('ss/<path:link>', shadowsocks, name='shadowsocks'),
path('dynamic/<path:link>', shadowsocks, name='shadowsocks'),
path('', RedirectView.as_view(url='/admin/', permanent=False)),
]

View File

@ -48,8 +48,8 @@ class ACL(models.Model):
@receiver(post_save, sender=ACL)
def acl_created_or_updated(sender, instance, created, **kwargs):
sync_user.delay_on_commit(instance.user, instance.server.id)
sync_user.delay_on_commit(instance.user.id, instance.server.id)
@receiver(pre_delete, sender=ACL)
def acl_deleted(sender, instance, **kwargs):
sync_user.delay_on_commit(instance.user, instance.server.id)
sync_user.delay_on_commit(instance.user.id, instance.server.id)

View File

@ -47,12 +47,13 @@ def sync_server(id):
return {"status": Server.objects.get(id=id).sync()}
@shared_task(name="sync_user_on_server")
def sync_user(user, server_id):
def sync_user(user_id, server_id):
from .models import User, ACL
from vpn.server_plugins import Server
errors = {}
result = {}
user = User.objects.get(id=user_id)
acls = ACL.objects.filter(user=user)
server = Server.objects.get(id=server_id)

View File

@ -7,8 +7,8 @@ def shadowsocks(request, link):
acl = get_object_or_404(ACL, link=link)
try:
server_user = acl.server.get_user(acl.user, raw=True)
except:
return JsonResponse({"error": "Couldn't get credentials from server."})
except Exception as e:
return JsonResponse({"error": f"Couldn't get credentials from server. {e}"})
config = {
"info": "Managed by OutFleet_v2 [github.com/house-of-vanity/OutFleet/]",