Skip to content

Commit 70dd67f

Browse files
committed
refactor(subscription): streamline user_subscription_raw parameters and improve readability
1 parent 9f025c2 commit 70dd67f

3 files changed

Lines changed: 7 additions & 40 deletions

File tree

app/operation/subscription.py

Lines changed: 4 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,20 @@
66
from fastapi.responses import HTMLResponse
77

88
from app.db import AsyncSession
9-
from app.db.crud.user import get_user_usages, user_sub_update
109
from app.db.crud.hwid import (
1110
get_user_hwid_by_value,
1211
get_user_hwid_count,
1312
register_user_hwid,
1413
update_hwid_last_used,
1514
)
15+
from app.db.crud.user import get_user_usages, user_sub_update
1616
from app.db.models import User
1717
from app.models.admin import AdminDetails
18-
from app.models.settings import Application, ConfigFormat, SubRule, Subscription as SubSettings, HWIDSettings
18+
from app.models.settings import Application, ConfigFormat, HWIDSettings, SubRule, Subscription as SubSettings
1919
from app.models.stats import UserUsageStatsList
2020
from app.models.subscription import SubscriptionUsageQuery
2121
from app.models.user import SubscriptionUserResponse, UsersResponseWithInbounds
22-
from app.settings import subscription_settings, hwid_settings
22+
from app.settings import hwid_settings, subscription_settings
2323
from app.subscription.share import encode_title, generate_subscription, setup_format_variables
2424
from app.templates import render_template
2525
from config import template_settings, wireguard_settings
@@ -496,29 +496,11 @@ def _build_raw_subscription_payload(
496496
"headers": headers,
497497
}
498498

499-
async def user_subscription_raw(
500-
self,
501-
db: AsyncSession,
502-
token: str,
503-
request_url: str = "",
504-
update_user_agent: str = "",
505-
ip: str | None = None,
506-
x_hwid: str | None = None,
507-
x_device_os: str | None = None,
508-
x_ver_os: str | None = None,
509-
x_device_model: str | None = None,
510-
):
499+
async def user_subscription_raw(self, db: AsyncSession, token: str, request_url: str = ""):
511500
sub_settings: SubSettings = await subscription_settings()
512501
db_user = await self.get_validated_sub(db, token)
513502
user = await self.validated_user(db_user)
514503

515-
await self.validate_and_register_hwid(
516-
db, db_user.id, db_user.hwid_limit, x_hwid, x_device_os, x_ver_os, x_device_model
517-
)
518-
519-
if update_user_agent:
520-
await user_sub_update(db, db_user.id, update_user_agent, ip=ip, hwid=x_hwid)
521-
522504
links = []
523505
if sub_settings.allow_browser_config:
524506
conf, _ = await self.fetch_config(user, ConfigFormat.links)

app/routers/subscription.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -46,21 +46,8 @@ async def user_subscription_info(request: Request, token: str, db: AsyncSession
4646

4747

4848
@router.get("/{token}/raw")
49-
async def user_subscription_raw(
50-
request: Request,
51-
token: str,
52-
db: AsyncSession = Depends(get_db),
53-
update_user_agent: str = Header(default="", alias="X-Subscription-User-Agent"),
54-
headers=Depends(get_subscription_headers),
55-
):
56-
return await subscription_operator.user_subscription_raw(
57-
db,
58-
token=token,
59-
request_url=str(request.url),
60-
update_user_agent=update_user_agent,
61-
ip=request.client.host if request.client else None,
62-
**headers.model_dump(),
63-
)
49+
async def user_subscription_raw(request: Request, token: str, db: AsyncSession = Depends(get_db)):
50+
return await subscription_operator.user_subscription_raw(db, token=token, request_url=str(request.url))
6451

6552

6653
@router.get("/{token}/apps", response_model=list[Application])

app/utils/wireguard.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -180,9 +180,7 @@ def prepare_wireguard_proxy_settings_with_allocator(
180180
if allocator.is_reserved(peer_ip):
181181
raise ValueError(f"peer IP '{peer_ip}' is reserved")
182182
if allocator.conflicts(peer_ip):
183-
raise ValueError(
184-
f"peer IP/network '{peer_ip}' is already in use by an existing user's peer network"
185-
)
183+
raise ValueError(f"peer IP/network '{peer_ip}' is already in use by an existing user's peer network")
186184
allocator.reserve(peer_ip)
187185
proxy_settings.wireguard.peer_ips = peer_ips
188186
return proxy_settings

0 commit comments

Comments
 (0)