From d91246967c3ec7109fa4d02d7e2aff94c211212b Mon Sep 17 00:00:00 2001 From: retoor Date: Thu, 13 Nov 2025 11:05:05 +0000 Subject: [PATCH] chore: rebrand all user-facing strings from RBox to MyWebdav across docs, emails, and config Replace every occurrence of "RBox" with "MyWebdav" in README.md, invoice templates, welcome emails, share notifications, FastAPI metadata, default database filename, domain name, S3 bucket name, TOTP issuer, and WebDAV realm header to reflect the commercial rebranding of the application. --- README.md | 18 +++++++++--------- rbox/billing/invoice_generator.py | 6 +++--- rbox/main.py | 4 ++-- rbox/routers/auth.py | 6 +++--- rbox/routers/shares.py | 4 ++-- rbox/settings.py | 8 ++++---- rbox/webdav.py | 2 +- 7 files changed, 24 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index b6de2e5..79aca86 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# RBox +# MyWebdav -RBox is a self-hosted cloud storage web application designed for secure, scalable file management and sharing. Built with modern web technologies, it provides a comprehensive solution for individuals and organizations seeking full control over their data storage. +MyWebdav is a commercial cloud storage web application designed for secure, scalable file management and sharing. Built with modern web technologies, it provides a comprehensive solution for individuals and organizations seeking full control over their data storage. ## Features @@ -74,24 +74,24 @@ RBox is a self-hosted cloud storage web application designed for secure, scalabl 2. Set up the database: ```bash - createdb rbox + createdb mywebdav ``` 3. Configure environment variables in `.env` 4. Run database migrations: ```bash - poetry run rbox --migrate + poetry run mywebdav --migrate ``` 5. Start the application: ```bash - poetry run rbox --host 0.0.0.0 --port 8000 + poetry run mywebdav --host 0.0.0.0 --port 8000 ``` ## Configuration -RBox uses environment variables for configuration. Key settings include: +MyWebdav uses environment variables for configuration. Key settings include: - `DATABASE_URL`: PostgreSQL connection string - `REDIS_URL`: Redis connection URL @@ -114,7 +114,7 @@ Access the web application through your browser. The interface provides: - Administrative controls (for admins) ### API Usage -RBox provides a comprehensive REST API. Example requests: +MyWebdav provides a comprehensive REST API. Example requests: ```bash # Upload a file @@ -134,13 +134,13 @@ curl -X POST "https://your-domain.com/api/shares/" \ ``` ### WebDAV Access -Mount RBox as a network drive using WebDAV: +Mount MyWebdav as a network drive using WebDAV: ``` https://your-domain.com/webdav/ ``` ### SFTP Access -Connect via SFTP using your RBox credentials on port 22. +Connect via SFTP using your MyWebdav credentials on port 22. ## Deployment diff --git a/rbox/billing/invoice_generator.py b/rbox/billing/invoice_generator.py index 319b1f4..45f57d8 100644 --- a/rbox/billing/invoice_generator.py +++ b/rbox/billing/invoice_generator.py @@ -107,7 +107,7 @@ class InvoiceGenerator: stripe_invoice = await StripeClient.create_invoice( customer_id=subscription.stripe_customer_id, - description=f"RBox Usage Invoice for {period_start.strftime('%B %Y')}", + description=f"MyWebdav Usage Invoice for {period_start.strftime('%B %Y')}", line_items=stripe_line_items, metadata={"rbox_invoice_id": str(invoice.id)} ) @@ -153,7 +153,7 @@ Due Date: {invoice.due_date} You can view and pay your invoice at: {invoice.user.email} # Placeholder, should be a link to invoice page Best regards, -The RBox Team +The MyWebdav Team """ html = f"""

Invoice {invoice.invoice_number}

@@ -168,7 +168,7 @@ The RBox Team

Due Date: {invoice.due_date}

You can view and pay your invoice at: Invoice Link

-

Best regards,
The RBox Team

+

Best regards,
The MyWebdav Team

""" queue_email( to_email=invoice.user.email, diff --git a/rbox/main.py b/rbox/main.py index ef80848..df76389 100644 --- a/rbox/main.py +++ b/rbox/main.py @@ -46,8 +46,8 @@ async def lifespan(app: FastAPI): print("Shutting down...") app = FastAPI( - title="RBox Cloud Storage", - description="A self-hosted cloud storage web application", + title="MyWebdav Cloud Storage", + description="A commercial cloud storage web application", version="0.1.0", lifespan=lifespan ) diff --git a/rbox/routers/auth.py b/rbox/routers/auth.py index 455f6fd..7a1c29e 100644 --- a/rbox/routers/auth.py +++ b/rbox/routers/auth.py @@ -65,9 +65,9 @@ async def register_user(user_in: UserCreate): from ..mail import queue_email queue_email( to_email=user.email, - subject="Welcome to RBox!", - body=f"Hi {user.username},\n\nWelcome to RBox! Your account has been created successfully.\n\nBest regards,\nThe RBox Team", - html=f"

Welcome to RBox!

Hi {user.username},

Welcome to RBox! Your account has been created successfully.

Best regards,
The RBox Team

" + subject="Welcome to MyWebdav!", + body=f"Hi {user.username},\n\nWelcome to MyWebdav! Your account has been created successfully.\n\nBest regards,\nThe MyWebdav Team", + html=f"

Welcome to MyWebdav!

Hi {user.username},

Welcome to MyWebdav! Your account has been created successfully.

Best regards,
The MyWebdav Team

" ) access_token_expires = timedelta(minutes=30) # Use settings diff --git a/rbox/routers/shares.py b/rbox/routers/shares.py index fc879be..7c37dff 100644 --- a/rbox/routers/shares.py +++ b/rbox/routers/shares.py @@ -73,7 +73,7 @@ Access link: {share_url}{password_text} This link is valid{expiry_text}. -- -RBox File Sharing Service""" +MyWebdav File Sharing Service""" email_html = f""" @@ -85,7 +85,7 @@ RBox File Sharing Service""" {f'

Password: {share_in.password}

' if share_in.password else ''}

This link is valid{expiry_text}.


-

RBox File Sharing Service

+

MyWebdav File Sharing Service

""" diff --git a/rbox/settings.py b/rbox/settings.py index ab8f1f2..076b4a3 100644 --- a/rbox/settings.py +++ b/rbox/settings.py @@ -5,26 +5,26 @@ from pydantic_settings import BaseSettings, SettingsConfigDict class Settings(BaseSettings): model_config = SettingsConfigDict(env_file='.env', extra='ignore') - DATABASE_URL: str = "sqlite:///app/rbox.db" + DATABASE_URL: str = "sqlite:///app/mywebdav.db" REDIS_URL: str = "redis://redis:6379/0" SECRET_KEY: str = "super_secret_key" ALGORITHM: str = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 REFRESH_TOKEN_EXPIRE_DAYS: int = 7 - DOMAIN_NAME: str = "localhost" + DOMAIN_NAME: str = "MyWebdav.eu" CERTBOT_EMAIL: str = "admin@example.com" STORAGE_PATH: str = "storage" S3_ACCESS_KEY_ID: str | None = None S3_SECRET_ACCESS_KEY: str | None = None S3_ENDPOINT_URL: str | None = None - S3_BUCKET_NAME: str = "rbox-storage" + S3_BUCKET_NAME: str = "mywebdav-storage" SMTP_HOST: str = "mail.example.com" SMTP_PORT: int = 587 SMTP_USERNAME: str = "noreply@example.com" SMTP_PASSWORD: str = "your-smtp-password" SMTP_USE_TLS: bool = True SMTP_SENDER_EMAIL: str = "noreply@example.com" - TOTP_ISSUER: str = "RBox" + TOTP_ISSUER: str = "MyWebdav" STRIPE_SECRET_KEY: str = "" STRIPE_PUBLISHABLE_KEY: str = "" STRIPE_WEBHOOK_SECRET: str = "" diff --git a/rbox/webdav.py b/rbox/webdav.py index f104d4a..b236917 100644 --- a/rbox/webdav.py +++ b/rbox/webdav.py @@ -75,7 +75,7 @@ async def webdav_auth(request: Request, authorization: Optional[str] = Header(No raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, - headers={'WWW-Authenticate': 'Basic realm="RBox WebDAV"'} + headers={'WWW-Authenticate': 'Basic realm="MyWebdav WebDAV"'} ) async def resolve_path(path_str: str, user: User):