Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
github: husamsoboh-cyber
github: ozymandiashh
custom: ["https://buymeacoffee.com/husamsoboh"]
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ All notable changes to CloudHop are documented here.
- **Transfer Presets** - Save, manage, and re-run transfer configurations with one click
- **Multi-Destination Transfers** - Copy one source to up to 5 cloud destinations simultaneously via queue
- **Windows .exe Installer** - Single-file standalone executable built with PyInstaller via GitHub Actions
- **Homebrew Formula** - Install with `brew tap husamsoboh-cyber/tap && brew install cloudhop`
- **Homebrew Formula** - Install with `brew tap ozymandiashh/tap && brew install cloudhop`

### Fixes
- Windows CI: ETA smoothing tests handle `os.waitpid` platform differences
Expand Down
4 changes: 2 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ Thank you for your interest in contributing!

## Reporting Bugs

1. Search [existing issues](https://github.com/husamsoboh-cyber/cloudhop/issues) first.
1. Search [existing issues](https://github.com/ozymandiashh/cloudhop/issues) first.
2. If none found, open a new issue using the **Bug Report** template.
3. Include your OS, Python version, CloudHop version, and rclone version.
4. Attach relevant log output if available.

## Development Setup

```bash
git clone https://github.com/husamsoboh-cyber/cloudhop.git
git clone https://github.com/ozymandiashh/cloudhop.git
cd cloudhop
pip install -e .
python -m cloudhop
Expand Down
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
[![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://www.python.org/downloads/)
[![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
[![PyPI](https://img.shields.io/pypi/v/cloudhop.svg)](https://pypi.org/project/cloudhop/)
[![GitHub stars](https://img.shields.io/github/stars/husamsoboh-cyber/cloudhop.svg?style=social)](https://github.com/husamsoboh-cyber/cloudhop)
[![Tests](https://github.com/husamsoboh-cyber/cloudhop/actions/workflows/tests.yml/badge.svg)](https://github.com/husamsoboh-cyber/cloudhop/actions/workflows/tests.yml)
[![GitHub stars](https://img.shields.io/github/stars/ozymandiashh/cloudhop.svg?style=social)](https://github.com/ozymandiashh/cloudhop)
[![Tests](https://github.com/ozymandiashh/cloudhop/actions/workflows/tests.yml/badge.svg)](https://github.com/ozymandiashh/cloudhop/actions/workflows/tests.yml)

# CloudHop

Expand All @@ -12,11 +12,11 @@

## Download / Install

**Mac** -- Download `CloudHop.dmg` from [Releases](https://github.com/husamsoboh-cyber/cloudhop/releases)
**Mac** -- Download `CloudHop.dmg` from [Releases](https://github.com/ozymandiashh/cloudhop/releases)

First launch: right-click > Open > click "Open" ([why?](https://support.apple.com/en-us/102445))

**Windows** -- Download `CloudHop-windows.zip` from [Releases](https://github.com/husamsoboh-cyber/cloudhop/releases)
**Windows** -- Download `CloudHop-windows.zip` from [Releases](https://github.com/ozymandiashh/cloudhop/releases)

**pip**
```bash
Expand All @@ -25,12 +25,12 @@ pip install cloudhop && cloudhop

**Homebrew**
```bash
brew tap husamsoboh-cyber/tap && brew install cloudhop
brew tap ozymandiashh/tap && brew install cloudhop
```

**From source**
```bash
git clone https://github.com/husamsoboh-cyber/cloudhop && cd cloudhop && pip install -e . && cloudhop
git clone https://github.com/ozymandiashh/cloudhop && cd cloudhop && pip install -e . && cloudhop
```

**Docker**
Expand Down Expand Up @@ -123,7 +123,7 @@ Note: Configure your cloud accounts with `rclone config` first, then mount the c

#### AI Integration

- [CloudHop MCP](https://github.com/husamsoboh-cyber/cloudhop-mcp) connects CloudHop to Claude, letting you control transfers through natural language
- [CloudHop MCP](https://github.com/ozymandiashh/cloudhop-mcp) connects CloudHop to Claude, letting you control transfers through natural language
- "Copy my OneDrive photos to Google Drive" -- just say what you need
- Preview sizes, start transfers, monitor progress, pause and resume, all from a conversation
- Works with Claude Code and Claude Desktop
Expand Down Expand Up @@ -173,7 +173,7 @@ I needed to move 500GB of files from OneDrive to Google Drive. Every tool I foun

CloudHop is free and open source. If it saves you time, consider supporting development:

[Sponsor on GitHub](https://github.com/sponsors/husamsoboh-cyber) | [Buy Me a Coffee](https://buymeacoffee.com/husamsoboh)
[Sponsor on GitHub](https://github.com/sponsors/ozymandiashh) | [Buy Me a Coffee](https://buymeacoffee.com/husamsoboh)

### Sponsors
<!-- $100/month sponsors: large logo with link -->
Expand Down
2 changes: 1 addition & 1 deletion cloudhop.spec
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ app = BUNDLE(
coll,
name='CloudHop.app',
icon='CloudHop.icns',
bundle_identifier='io.github.husamsoboh-cyber.cloudhop',
bundle_identifier='io.github.ozymandiashh.cloudhop',
info_plist={
'CFBundleName': 'CloudHop',
'CFBundleDisplayName': 'CloudHop',
Expand Down
2 changes: 1 addition & 1 deletion cloudhop/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -369,7 +369,7 @@ def do_GET(self) -> None:
import urllib.request

req = urllib.request.Request(
"https://api.github.com/repos/husamsoboh-cyber/cloudhop/releases/latest",
"https://api.github.com/repos/ozymandiashh/cloudhop/releases/latest",
headers={"Accept": "application/vnd.github+json"},
)
with urllib.request.urlopen(req, timeout=5) as resp:
Expand Down
8 changes: 4 additions & 4 deletions cloudhop/static/dashboard.js
Original file line number Diff line number Diff line change
Expand Up @@ -406,7 +406,7 @@ function showCompletionScreen(d) {
<p style="color:var(--text-tertiary);font-size:0.8rem;margin-bottom:12px;">CloudHop is free and open source. If it saved you time, consider supporting development:</p>
<div style="display:flex;gap:10px;justify-content:center;">
<a href="https://buymeacoffee.com/husamsoboh" target="_blank" rel="noopener noreferrer" style="padding:8px 16px;border-radius:8px;background:#ffdd00;color:#000;text-decoration:none;font-weight:600;font-size:0.8rem;">Buy Me a Coffee</a>
<a href="https://github.com/sponsors/husamsoboh-cyber" target="_blank" rel="noopener noreferrer" style="padding:8px 16px;border-radius:8px;background:rgba(234,74,170,0.15);color:#ea4aaa;border:1px solid rgba(234,74,170,0.3);text-decoration:none;font-weight:600;font-size:0.8rem;">GitHub Sponsor</a>
<a href="https://github.com/sponsors/ozymandiashh" target="_blank" rel="noopener noreferrer" style="padding:8px 16px;border-radius:8px;background:rgba(234,74,170,0.15);color:#ea4aaa;border:1px solid rgba(234,74,170,0.3);text-decoration:none;font-weight:600;font-size:0.8rem;">GitHub Sponsor</a>
</div>
</div>
</div>
Expand Down Expand Up @@ -473,7 +473,7 @@ function exportReceipt() {
'Duration: ' + (document.getElementById('elapsed')?.textContent || '--'),
'Sessions: ' + (document.getElementById('sessionBadge')?.textContent || '--'),
'',
'Generated by CloudHop (https://github.com/husamsoboh-cyber/cloudhop)',
'Generated by CloudHop (https://github.com/ozymandiashh/cloudhop)',
];
const blob = new Blob([lines.join('\n')], {type: 'text/plain'});
const a = document.createElement('a');
Expand Down Expand Up @@ -1373,9 +1373,9 @@ async function reportError() {
'## Recent errors\n' +
'```\n' + (lastErrors || 'No errors found') + '\n```\n'
);
window.open('https://github.com/husamsoboh-cyber/cloudhop/issues/new?title=' + title + '&body=' + body, '_blank');
window.open('https://github.com/ozymandiashh/cloudhop/issues/new?title=' + title + '&body=' + body, '_blank');
} catch(e) {
window.open('https://github.com/husamsoboh-cyber/cloudhop/issues/new', '_blank');
window.open('https://github.com/ozymandiashh/cloudhop/issues/new', '_blank');
}
}

Expand Down
4 changes: 2 additions & 2 deletions cloudhop/templates/dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
<div class="header-right">
<span class="session-badge" id="sessionBadge">Session 1</span>
<span class="session-badge" id="modeBadge" style="display:none;color:var(--green);border-color:var(--green);">COPY</span>
<a href="https://github.com/sponsors/husamsoboh-cyber" target="_blank" rel="noopener noreferrer" style="font-size:12px;color:var(--text-tertiary);text-decoration:none;font-weight:500;padding:4px 10px;border-radius:6px;border:1px solid var(--border);transition:all 0.2s;" onmouseover="this.style.borderColor='var(--border-hover)';this.style.color='var(--text-secondary)'" onmouseout="this.style.borderColor='var(--border)';this.style.color='var(--text-tertiary)'">&hearts; Sponsor</a>
<a href="https://github.com/sponsors/ozymandiashh" target="_blank" rel="noopener noreferrer" style="font-size:12px;color:var(--text-tertiary);text-decoration:none;font-weight:500;padding:4px 10px;border-radius:6px;border:1px solid var(--border);transition:all 0.2s;" onmouseover="this.style.borderColor='var(--border-hover)';this.style.color='var(--text-secondary)'" onmouseout="this.style.borderColor='var(--border)';this.style.color='var(--text-tertiary)'">&hearts; Sponsor</a>
<a href="/settings" class="btn-icon" title="Settings" aria-label="Settings" style="text-decoration:none;border-radius:6px;" onmouseover="this.style.borderColor='var(--border-hover)';this.style.color='var(--text-primary)'" onmouseout="this.style.borderColor='var(--border)';this.style.color='var(--text-secondary)'">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="3"/><path d="M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1 0 2.83 2 2 0 0 1-2.83 0l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-2 2 2 2 0 0 1-2-2v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83 0 2 2 0 0 1 0-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1-2-2 2 2 0 0 1 2-2h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 0-2.83 2 2 0 0 1 2.83 0l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 2-2 2 2 0 0 1 2 2v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 0 2 2 0 0 1 0 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 2 2 2 2 0 0 1-2 2h-.09a1.65 1.65 0 0 0-1.51 1z"/></svg>
</a>
Expand Down Expand Up @@ -327,7 +327,7 @@ <h3>Active Transfers</h3>
<footer class="footer" id="footer">
CloudHop Dashboard &middot; <span id="footerInfo">--</span> &middot; Uptime: <span id="uptimePct">--</span> &middot; Updated: <span id="lastUpdate">--</span>
<br>
<a href="javascript:void(0)" id="historyLink">Transfer History</a> &middot; <a href="https://github.com/husamsoboh-cyber/cloudhop/issues/new?template=bug_report.md" target="_blank" rel="noopener noreferrer">Need help?</a> &middot; <a href="https://github.com/husamsoboh-cyber/cloudhop/discussions/new?category=feedback" target="_blank" rel="noopener noreferrer">Send feedback</a> &middot; <a href="https://buymeacoffee.com/husamsoboh" target="_blank" rel="noopener noreferrer" style="color:var(--green);">&#9829; Support CloudHop</a>
<a href="javascript:void(0)" id="historyLink">Transfer History</a> &middot; <a href="https://github.com/ozymandiashh/cloudhop/issues/new?template=bug_report.md" target="_blank" rel="noopener noreferrer">Need help?</a> &middot; <a href="https://github.com/ozymandiashh/cloudhop/discussions/new?category=feedback" target="_blank" rel="noopener noreferrer">Send feedback</a> &middot; <a href="https://buymeacoffee.com/husamsoboh" target="_blank" rel="noopener noreferrer" style="color:var(--green);">&#9829; Support CloudHop</a>
</footer>

</div>
Expand Down
2 changes: 1 addition & 1 deletion cloudhop/templates/settings.html
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ <h2 class="section-title">Email Notifications</h2>
<h3 class="support-title">Support CloudHop</h3>
<p class="support-text">CloudHop is free and open source. If it saves you time, consider supporting development.</p>
<div class="support-links">
<a href="https://github.com/sponsors/husamsoboh-cyber" target="_blank" rel="noopener noreferrer" class="support-link">
<a href="https://github.com/sponsors/ozymandiashh" target="_blank" rel="noopener noreferrer" class="support-link">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/></svg>
Sponsor on GitHub
</a>
Expand Down
2 changes: 1 addition & 1 deletion cloudhop/templates/wizard.html
Original file line number Diff line number Diff line change
Expand Up @@ -410,7 +410,7 @@
</div>

<div style="text-align:center;margin-top:32px;font-size:0.7rem;color:var(--text-muted);">
<a href="https://github.com/husamsoboh-cyber/cloudhop/issues/new?template=bug_report.md" target="_blank" rel="noopener noreferrer" style="color:var(--text-muted);text-decoration:none;">Need help?</a> &middot; <a href="https://github.com/husamsoboh-cyber/cloudhop/discussions/new?category=feedback" target="_blank" rel="noopener noreferrer" style="color:var(--text-muted);text-decoration:none;">Send feedback</a>
<a href="https://github.com/ozymandiashh/cloudhop/issues/new?template=bug_report.md" target="_blank" rel="noopener noreferrer" style="color:var(--text-muted);text-decoration:none;">Need help?</a> &middot; <a href="https://github.com/ozymandiashh/cloudhop/discussions/new?category=feedback" target="_blank" rel="noopener noreferrer" style="color:var(--text-muted);text-decoration:none;">Send feedback</a>
</div>
</div>

Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@ cloudhop = ["templates/*.html", "static/*"]
cloudhop = "cloudhop.cli:main"

[project.urls]
Homepage = "https://github.com/husamsoboh-cyber/cloudhop"
Issues = "https://github.com/husamsoboh-cyber/cloudhop/issues"
Homepage = "https://github.com/ozymandiashh/cloudhop"
Issues = "https://github.com/ozymandiashh/cloudhop/issues"

[tool.ruff]
target-version = "py39"
Expand Down
Loading
Loading