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 = [ urlpatterns = [
path('admin/', admin.site.urls), path('admin/', admin.site.urls),
path('ss/<str:link>', shadowsocks, name='shadowsocks'), path('ss/<path:link>', shadowsocks, name='shadowsocks'),
path('dynamic/<str:link>', shadowsocks, name='shadowsocks'), path('dynamic/<path:link>', shadowsocks, name='shadowsocks'),
path('', RedirectView.as_view(url='/admin/', permanent=False)), path('', RedirectView.as_view(url='/admin/', permanent=False)),
] ]

View File

@ -48,8 +48,8 @@ class ACL(models.Model):
@receiver(post_save, sender=ACL) @receiver(post_save, sender=ACL)
def acl_created_or_updated(sender, instance, created, **kwargs): 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) @receiver(pre_delete, sender=ACL)
def acl_deleted(sender, instance, **kwargs): 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()} return {"status": Server.objects.get(id=id).sync()}
@shared_task(name="sync_user_on_server") @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 .models import User, ACL
from vpn.server_plugins import Server from vpn.server_plugins import Server
errors = {} errors = {}
result = {} result = {}
user = User.objects.get(id=user_id)
acls = ACL.objects.filter(user=user) acls = ACL.objects.filter(user=user)
server = Server.objects.get(id=server_id) 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) acl = get_object_or_404(ACL, link=link)
try: try:
server_user = acl.server.get_user(acl.user, raw=True) server_user = acl.server.get_user(acl.user, raw=True)
except: except Exception as e:
return JsonResponse({"error": "Couldn't get credentials from server."}) return JsonResponse({"error": f"Couldn't get credentials from server. {e}"})
config = { config = {
"info": "Managed by OutFleet_v2 [github.com/house-of-vanity/OutFleet/]", "info": "Managed by OutFleet_v2 [github.com/house-of-vanity/OutFleet/]",