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.
This commit is contained in:
retoor 2025-11-13 11:05:05 +00:00
parent df964a7fb1
commit d91246967c
7 changed files with 24 additions and 24 deletions

View File

@ -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 ## Features
@ -74,24 +74,24 @@ RBox is a self-hosted cloud storage web application designed for secure, scalabl
2. Set up the database: 2. Set up the database:
```bash ```bash
createdb rbox createdb mywebdav
``` ```
3. Configure environment variables in `.env` 3. Configure environment variables in `.env`
4. Run database migrations: 4. Run database migrations:
```bash ```bash
poetry run rbox --migrate poetry run mywebdav --migrate
``` ```
5. Start the application: 5. Start the application:
```bash ```bash
poetry run rbox --host 0.0.0.0 --port 8000 poetry run mywebdav --host 0.0.0.0 --port 8000
``` ```
## Configuration ## Configuration
RBox uses environment variables for configuration. Key settings include: MyWebdav uses environment variables for configuration. Key settings include:
- `DATABASE_URL`: PostgreSQL connection string - `DATABASE_URL`: PostgreSQL connection string
- `REDIS_URL`: Redis connection URL - `REDIS_URL`: Redis connection URL
@ -114,7 +114,7 @@ Access the web application through your browser. The interface provides:
- Administrative controls (for admins) - Administrative controls (for admins)
### API Usage ### API Usage
RBox provides a comprehensive REST API. Example requests: MyWebdav provides a comprehensive REST API. Example requests:
```bash ```bash
# Upload a file # Upload a file
@ -134,13 +134,13 @@ curl -X POST "https://your-domain.com/api/shares/" \
``` ```
### WebDAV Access ### WebDAV Access
Mount RBox as a network drive using WebDAV: Mount MyWebdav as a network drive using WebDAV:
``` ```
https://your-domain.com/webdav/ https://your-domain.com/webdav/
``` ```
### SFTP Access ### SFTP Access
Connect via SFTP using your RBox credentials on port 22. Connect via SFTP using your MyWebdav credentials on port 22.
## Deployment ## Deployment

View File

@ -107,7 +107,7 @@ class InvoiceGenerator:
stripe_invoice = await StripeClient.create_invoice( stripe_invoice = await StripeClient.create_invoice(
customer_id=subscription.stripe_customer_id, 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, line_items=stripe_line_items,
metadata={"rbox_invoice_id": str(invoice.id)} 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 You can view and pay your invoice at: {invoice.user.email} # Placeholder, should be a link to invoice page
Best regards, Best regards,
The RBox Team The MyWebdav Team
""" """
html = f""" html = f"""
<h2>Invoice {invoice.invoice_number}</h2> <h2>Invoice {invoice.invoice_number}</h2>
@ -168,7 +168,7 @@ The RBox Team
</table> </table>
<p>Due Date: {invoice.due_date}</p> <p>Due Date: {invoice.due_date}</p>
<p>You can view and pay your invoice at: <a href="#">Invoice Link</a></p> <p>You can view and pay your invoice at: <a href="#">Invoice Link</a></p>
<p>Best regards,<br>The RBox Team</p> <p>Best regards,<br>The MyWebdav Team</p>
""" """
queue_email( queue_email(
to_email=invoice.user.email, to_email=invoice.user.email,

View File

@ -46,8 +46,8 @@ async def lifespan(app: FastAPI):
print("Shutting down...") print("Shutting down...")
app = FastAPI( app = FastAPI(
title="RBox Cloud Storage", title="MyWebdav Cloud Storage",
description="A self-hosted cloud storage web application", description="A commercial cloud storage web application",
version="0.1.0", version="0.1.0",
lifespan=lifespan lifespan=lifespan
) )

View File

@ -65,9 +65,9 @@ async def register_user(user_in: UserCreate):
from ..mail import queue_email from ..mail import queue_email
queue_email( queue_email(
to_email=user.email, to_email=user.email,
subject="Welcome to RBox!", subject="Welcome to MyWebdav!",
body=f"Hi {user.username},\n\nWelcome to RBox! Your account has been created successfully.\n\nBest regards,\nThe RBox Team", body=f"Hi {user.username},\n\nWelcome to MyWebdav! Your account has been created successfully.\n\nBest regards,\nThe MyWebdav Team",
html=f"<h1>Welcome to RBox!</h1><p>Hi {user.username},</p><p>Welcome to RBox! Your account has been created successfully.</p><p>Best regards,<br>The RBox Team</p>" html=f"<h1>Welcome to MyWebdav!</h1><p>Hi {user.username},</p><p>Welcome to MyWebdav! Your account has been created successfully.</p><p>Best regards,<br>The MyWebdav Team</p>"
) )
access_token_expires = timedelta(minutes=30) # Use settings access_token_expires = timedelta(minutes=30) # Use settings

View File

@ -73,7 +73,7 @@ Access link: {share_url}{password_text}
This link is valid{expiry_text}. This link is valid{expiry_text}.
-- --
RBox File Sharing Service""" MyWebdav File Sharing Service"""
email_html = f""" email_html = f"""
<html> <html>
@ -85,7 +85,7 @@ RBox File Sharing Service"""
{f'<p><strong>Password:</strong> {share_in.password}</p>' if share_in.password else ''} {f'<p><strong>Password:</strong> {share_in.password}</p>' if share_in.password else ''}
<p><small>This link is valid{expiry_text}.</small></p> <p><small>This link is valid{expiry_text}.</small></p>
<hr> <hr>
<p><small>RBox File Sharing Service</small></p> <p><small>MyWebdav File Sharing Service</small></p>
</body> </body>
</html> </html>
""" """

View File

@ -5,26 +5,26 @@ from pydantic_settings import BaseSettings, SettingsConfigDict
class Settings(BaseSettings): class Settings(BaseSettings):
model_config = SettingsConfigDict(env_file='.env', extra='ignore') 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" REDIS_URL: str = "redis://redis:6379/0"
SECRET_KEY: str = "super_secret_key" SECRET_KEY: str = "super_secret_key"
ALGORITHM: str = "HS256" ALGORITHM: str = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES: int = 30 ACCESS_TOKEN_EXPIRE_MINUTES: int = 30
REFRESH_TOKEN_EXPIRE_DAYS: int = 7 REFRESH_TOKEN_EXPIRE_DAYS: int = 7
DOMAIN_NAME: str = "localhost" DOMAIN_NAME: str = "MyWebdav.eu"
CERTBOT_EMAIL: str = "admin@example.com" CERTBOT_EMAIL: str = "admin@example.com"
STORAGE_PATH: str = "storage" STORAGE_PATH: str = "storage"
S3_ACCESS_KEY_ID: str | None = None S3_ACCESS_KEY_ID: str | None = None
S3_SECRET_ACCESS_KEY: str | None = None S3_SECRET_ACCESS_KEY: str | None = None
S3_ENDPOINT_URL: 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_HOST: str = "mail.example.com"
SMTP_PORT: int = 587 SMTP_PORT: int = 587
SMTP_USERNAME: str = "noreply@example.com" SMTP_USERNAME: str = "noreply@example.com"
SMTP_PASSWORD: str = "your-smtp-password" SMTP_PASSWORD: str = "your-smtp-password"
SMTP_USE_TLS: bool = True SMTP_USE_TLS: bool = True
SMTP_SENDER_EMAIL: str = "noreply@example.com" SMTP_SENDER_EMAIL: str = "noreply@example.com"
TOTP_ISSUER: str = "RBox" TOTP_ISSUER: str = "MyWebdav"
STRIPE_SECRET_KEY: str = "" STRIPE_SECRET_KEY: str = ""
STRIPE_PUBLISHABLE_KEY: str = "" STRIPE_PUBLISHABLE_KEY: str = ""
STRIPE_WEBHOOK_SECRET: str = "" STRIPE_WEBHOOK_SECRET: str = ""

View File

@ -75,7 +75,7 @@ async def webdav_auth(request: Request, authorization: Optional[str] = Header(No
raise HTTPException( raise HTTPException(
status_code=status.HTTP_401_UNAUTHORIZED, 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): async def resolve_path(path_str: str, user: User):