rename fluxer-reaper to server shuttle
This commit is contained in:
parent
f33a860d5e
commit
9bf4b89e00
10 changed files with 59 additions and 59 deletions
40
.github/workflows/release.yml
vendored
40
.github/workflows/release.yml
vendored
|
|
@ -13,17 +13,17 @@ jobs:
|
||||||
os: [ubuntu-latest, windows-latest, macos-latest]
|
os: [ubuntu-latest, windows-latest, macos-latest]
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
artifact_name: fluxer-reaper-linux
|
artifact_name: server-shuttle-linux
|
||||||
asset_name: fluxer-reaper-linux.zip
|
asset_name: server-shuttle-linux.zip
|
||||||
executable_path: dist/fluxer-reaper
|
executable_path: dist/server-shuttle
|
||||||
- os: windows-latest
|
- os: windows-latest
|
||||||
artifact_name: fluxer-reaper-windows
|
artifact_name: server-shuttle-windows
|
||||||
asset_name: fluxer-reaper-windows.zip
|
asset_name: server-shuttle-windows.zip
|
||||||
executable_path: dist/fluxer-reaper.exe
|
executable_path: dist/server-shuttle.exe
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
artifact_name: fluxer-reaper-macos
|
artifact_name: server-shuttle-macos
|
||||||
asset_name: fluxer-reaper-macos.zip
|
asset_name: server-shuttle-macos.zip
|
||||||
executable_path: dist/fluxer-reaper
|
executable_path: dist/server-shuttle
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
|
|
@ -45,27 +45,27 @@ jobs:
|
||||||
shell: python
|
shell: python
|
||||||
run: |
|
run: |
|
||||||
from PIL import Image
|
from PIL import Image
|
||||||
img = Image.open('fluxer-reaper-icon.png')
|
img = Image.open('server-shuttle-icon.png')
|
||||||
img.save('fluxer-reaper-icon.ico', format='ICO', sizes=[(256, 256)])
|
img.save('server-shuttle-icon.ico', format='ICO', sizes=[(256, 256)])
|
||||||
|
|
||||||
- name: Build with PyInstaller
|
- name: Build with PyInstaller
|
||||||
run: |
|
run: |
|
||||||
echo "Listing directory contents:"
|
echo "Listing directory contents:"
|
||||||
ls -R || dir /s
|
ls -R || dir /s
|
||||||
pyinstaller fluxer-reaper.spec
|
pyinstaller server-shuttle.spec
|
||||||
|
|
||||||
- name: Prepare Release Asset (Linux/MacOS)
|
- name: Prepare Release Asset (Linux/MacOS)
|
||||||
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
|
if: matrix.os == 'ubuntu-latest' || matrix.os == 'macos-latest'
|
||||||
run: |
|
run: |
|
||||||
cp ${{ matrix.executable_path }} fluxer-reaper
|
cp ${{ matrix.executable_path }} server-shuttle
|
||||||
chmod +x fluxer-reaper
|
chmod +x server-shuttle
|
||||||
zip ${{ matrix.asset_name }} fluxer-reaper
|
zip ${{ matrix.asset_name }} server-shuttle
|
||||||
|
|
||||||
- name: Prepare Release Asset (Windows)
|
- name: Prepare Release Asset (Windows)
|
||||||
if: matrix.os == 'windows-latest'
|
if: matrix.os == 'windows-latest'
|
||||||
run: |
|
run: |
|
||||||
copy ${{ matrix.executable_path }} fluxer-reaper.exe
|
copy ${{ matrix.executable_path }} server-shuttle.exe
|
||||||
powershell Compress-Archive -Path "fluxer-reaper.exe" -DestinationPath "${{ matrix.asset_name }}"
|
powershell Compress-Archive -Path "server-shuttle.exe" -DestinationPath "${{ matrix.asset_name }}"
|
||||||
|
|
||||||
- name: Upload Artifact
|
- name: Upload Artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
|
|
@ -88,8 +88,8 @@ jobs:
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
files: |
|
files: |
|
||||||
artifacts/fluxer-reaper-linux/fluxer-reaper-linux.zip
|
artifacts/server-shuttle-linux/server-shuttle-linux.zip
|
||||||
artifacts/fluxer-reaper-windows/fluxer-reaper-windows.zip
|
artifacts/server-shuttle-windows/server-shuttle-windows.zip
|
||||||
artifacts/fluxer-reaper-macos/fluxer-reaper-macos.zip
|
artifacts/server-shuttle-macos/server-shuttle-macos.zip
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
|
||||||
22
README.md
22
README.md
|
|
@ -1,6 +1,6 @@
|
||||||
# Fluxer Reaper
|
# Server Shuttle
|
||||||
|
|
||||||
Fluxer Reaper is a simple tool to help you move an entire Discord server over to a Fluxer community. It handles channels, roles, emojis, and even your message history.
|
Server Shuttle is a simple tool to help you move an entire Discord server over to a Fluxer community. It handles channels, roles, emojis, and even your message history.
|
||||||
|
|
||||||
>Join our [**Reaper Community**](https://fluxer.gg/9KxDP8WH) if you need help or have any questions.
|
>Join our [**Reaper Community**](https://fluxer.gg/9KxDP8WH) if you need help or have any questions.
|
||||||
|
|
||||||
|
|
@ -62,21 +62,21 @@ The Discord bot has **read-only access** to the Discord server. Hence **no chang
|
||||||
#### Setup the bots as per this [guide](BOT-SETUP.md)
|
#### Setup the bots as per this [guide](BOT-SETUP.md)
|
||||||
|
|
||||||
### Option 1: Using Pre-built Binaries (Easiest)
|
### Option 1: Using Pre-built Binaries (Easiest)
|
||||||
1. **Download**: Download the latest executable from the [Releases](https://github.com/rambros3d/fluxer-reaper/releases) page & unzip it.
|
1. **Download**: Download the latest executable from the [Releases](https://github.com/rambros3d/server-shuttle/releases) page & unzip it.
|
||||||
2. **Run**: Simply run the downloaded file to start the tool. No Python installation is required.
|
2. **Run**: Simply run the downloaded file to start the tool. No Python installation is required.
|
||||||
- **Linux**: Run the **fluxer-reaper** file (or `./fluxer-reaper` in terminal).
|
- **Linux**: Run the **server-shuttle** file (or `./server-shuttle` in terminal).
|
||||||
- **Windows**: Run the **fluxer-reaper.exe** file.
|
- **Windows**: Run the **server-shuttle.exe** file.
|
||||||
|
|
||||||
### Option 2: Running from Source
|
### Option 2: Running from Source
|
||||||
1. **Clone**: Clone the repository to your local machine:
|
1. **Clone**: Clone the repository to your local machine:
|
||||||
```bash
|
```bash
|
||||||
git clone https://github.com/rambros3d/fluxer-reaper.git
|
git clone https://github.com/rambros3d/server-shuttle.git
|
||||||
cd fluxer-reaper
|
cd server-shuttle
|
||||||
```
|
```
|
||||||
2. **Launch**: Run the appropriate launcher script for your OS. It will automatically create a virtual environment and install dependencies:
|
2. **Launch**: Run the appropriate launcher script for your OS. It will automatically create a virtual environment and install dependencies:
|
||||||
- **Linux**: `./launch-reaper-LINUX.sh`
|
- **Linux**: `./launch-shuttle-LINUX.sh`
|
||||||
- **MacOS**: `./launch-reaper-MAC.sh`
|
- **MacOS**: `./launch-shuttle-MAC.sh`
|
||||||
- **Windows**: Double-click `launch-reaper-WIN.bat`
|
- **Windows**: Double-click `launch-shuttle-WIN.bat`
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
@ -112,7 +112,7 @@ But now their own website states that **Persona** will be used in some countries
|
||||||
---
|
---
|
||||||
|
|
||||||
### Documentation
|
### Documentation
|
||||||
Detailed info about the code can be found at https://deepwiki.com/rambros3d/fluxer-reaper
|
Detailed info about the code can be found at https://deepwiki.com/rambros3d/server-shuttle
|
||||||
|
|
||||||
### Vibe Code Notice
|
### Vibe Code Notice
|
||||||
|
|
||||||
|
|
|
||||||
30
build.sh
30
build.sh
|
|
@ -3,7 +3,7 @@
|
||||||
# Exit on error
|
# Exit on error
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
echo "--- Fluxer Reaper Cross-Distro Build Script ---"
|
echo "--- Server Shuttle Cross-Distro Build Script ---"
|
||||||
echo "NOTE: For maximum compatibility (glibc), run this on your oldest target Linux distribution."
|
echo "NOTE: For maximum compatibility (glibc), run this on your oldest target Linux distribution."
|
||||||
|
|
||||||
# Check for venv
|
# Check for venv
|
||||||
|
|
@ -38,32 +38,32 @@ echo "Cleaning previous build artifacts..."
|
||||||
rm -rf build/ dist/
|
rm -rf build/ dist/
|
||||||
|
|
||||||
echo "Starting PyInstaller build..."
|
echo "Starting PyInstaller build..."
|
||||||
pyinstaller --clean fluxer-reaper.spec
|
pyinstaller --clean server-shuttle.spec
|
||||||
|
|
||||||
echo "Generating Launch-Reaper.sh launcher..."
|
echo "Generating Launch-Shuttle.sh launcher..."
|
||||||
cat << 'EOF' > dist/Launch-Reaper.sh
|
cat << 'EOF' > dist/Launch-Shuttle.sh
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# Convenient launcher for Fluxer Reaper
|
# Convenient launcher for Server Shuttle
|
||||||
# Ensures it runs in a terminal if possible, but the binary also has internal auto-terminal logic.
|
# Ensures it runs in a terminal if possible, but the binary also has internal auto-terminal logic.
|
||||||
|
|
||||||
BASEDIR=$(dirname "$0")
|
BASEDIR=$(dirname "$0")
|
||||||
cd "$BASEDIR"
|
cd "$BASEDIR"
|
||||||
|
|
||||||
if [ -f "./fluxer-reaper" ]; then
|
if [ -f "./server-shuttle" ]; then
|
||||||
./fluxer-reaper
|
./server-shuttle
|
||||||
else
|
else
|
||||||
echo "Error: fluxer-reaper binary not found in $(pwd)"
|
echo "Error: server-shuttle binary not found in $(pwd)"
|
||||||
read -p "Press enter to exit..."
|
read -p "Press enter to exit..."
|
||||||
fi
|
fi
|
||||||
EOF
|
EOF
|
||||||
chmod +x dist/Launch-Reaper.sh
|
chmod +x dist/Launch-Shuttle.sh
|
||||||
|
|
||||||
echo "Packaging release: fluxer-reaper-linux.zip..."
|
echo "Packaging release: server-shuttle-linux.zip..."
|
||||||
cp config.example.yaml dist/
|
cp config.example.yaml dist/
|
||||||
cd dist
|
cd dist
|
||||||
if command -v zip >/dev/null 2>&1; then
|
if command -v zip >/dev/null 2>&1; then
|
||||||
zip -q fluxer-reaper-linux.zip fluxer-reaper Launch-Reaper.sh config.example.yaml
|
zip -q server-shuttle-linux.zip server-shuttle Launch-Shuttle.sh config.example.yaml
|
||||||
echo "Package created: dist/fluxer-reaper-linux.zip"
|
echo "Package created: dist/server-shuttle-linux.zip"
|
||||||
else
|
else
|
||||||
echo "Warning: 'zip' command not found. Skipping zip creation."
|
echo "Warning: 'zip' command not found. Skipping zip creation."
|
||||||
echo "Files available in dist/ directory."
|
echo "Files available in dist/ directory."
|
||||||
|
|
@ -72,7 +72,7 @@ cd ..
|
||||||
|
|
||||||
echo "-----------------------------------"
|
echo "-----------------------------------"
|
||||||
echo "Build complete!"
|
echo "Build complete!"
|
||||||
echo "Standalone executable: dist/fluxer-reaper"
|
echo "Standalone executable: dist/server-shuttle"
|
||||||
echo "Launcher script: dist/Launch-Reaper.sh"
|
echo "Launcher script: dist/Launch-Shuttle.sh"
|
||||||
echo "Release Package: dist/fluxer-reaper-linux.zip"
|
echo "Release Package: dist/server-shuttle-linux.zip"
|
||||||
echo "---"
|
echo "---"
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 492 KiB After Width: | Height: | Size: 492 KiB |
|
|
@ -30,5 +30,5 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run the application
|
# Run the application
|
||||||
python3 fluxer-reaper.py "$@"
|
python3 server-shuttle.py "$@"
|
||||||
|
|
||||||
|
|
@ -31,4 +31,4 @@ else
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run the application
|
# Run the application
|
||||||
python3 fluxer-reaper.py "$@"
|
python3 server-shuttle.py "$@"
|
||||||
|
|
@ -29,7 +29,7 @@ if not exist "%DIR%venv" (
|
||||||
)
|
)
|
||||||
|
|
||||||
:: Run the application
|
:: Run the application
|
||||||
python fluxer-reaper.py %*
|
python server-shuttle.py %*
|
||||||
|
|
||||||
if %ERRORLEVEL% neq 0 (
|
if %ERRORLEVEL% neq 0 (
|
||||||
echo.
|
echo.
|
||||||
|
Before Width: | Height: | Size: 233 KiB After Width: | Height: | Size: 233 KiB |
|
|
@ -95,13 +95,13 @@ def relaunch_in_terminal():
|
||||||
|
|
||||||
# Check if we have a TTY on stdin or stdout, or if already relaunched
|
# Check if we have a TTY on stdin or stdout, or if already relaunched
|
||||||
is_tty = sys.stdin.isatty() or sys.stdout.isatty()
|
is_tty = sys.stdin.isatty() or sys.stdout.isatty()
|
||||||
if is_tty or os.environ.get("FLUXER_REAPER_RELAUNCHED"):
|
if is_tty or os.environ.get("SERVER_SHUTTLE_RELAUNCHED"):
|
||||||
return
|
return
|
||||||
|
|
||||||
# Diagnostic logging to help debug why it fails on some distros
|
# Diagnostic logging to help debug why it fails on some distros
|
||||||
debug_log = "/tmp/reaper_terminal_debug.log"
|
debug_log = "/tmp/shuttle_terminal_debug.log"
|
||||||
with open(debug_log, "a") as f:
|
with open(debug_log, "a") as f:
|
||||||
f.write(f"Relaunching... isatty={is_tty}, env={os.environ.get('FLUXER_REAPER_RELAUNCHED')}\n")
|
f.write(f"Relaunching... isatty={is_tty}, env={os.environ.get('SERVER_SHUTTLE_RELAUNCHED')}\n")
|
||||||
|
|
||||||
# List of terminals to try with their specific execution flags
|
# List of terminals to try with their specific execution flags
|
||||||
terminals = [
|
terminals = [
|
||||||
|
|
@ -129,7 +129,7 @@ def relaunch_in_terminal():
|
||||||
|
|
||||||
# Set env var to prevent loops
|
# Set env var to prevent loops
|
||||||
env = os.environ.copy()
|
env = os.environ.copy()
|
||||||
env["FLUXER_REAPER_RELAUNCHED"] = "1"
|
env["SERVER_SHUTTLE_RELAUNCHED"] = "1"
|
||||||
|
|
||||||
for term, cmd_args in terminals:
|
for term, cmd_args in terminals:
|
||||||
if shutil.which(term):
|
if shutil.which(term):
|
||||||
|
|
@ -13,15 +13,15 @@ hiddenimports += collect_submodules('rich._unicode_data')
|
||||||
|
|
||||||
# Determine the best icon to use
|
# Determine the best icon to use
|
||||||
icon_file = None
|
icon_file = None
|
||||||
if os.path.exists('fluxer-reaper-icon.ico'):
|
if os.path.exists('server-shuttle-icon.ico'):
|
||||||
icon_file = 'fluxer-reaper-icon.ico'
|
icon_file = 'server-shuttle-icon.ico'
|
||||||
elif os.path.exists('fluxer-reaper-icon.png'):
|
elif os.path.exists('server-shuttle-icon.png'):
|
||||||
icon_file = 'fluxer-reaper-icon.png'
|
icon_file = 'server-shuttle-icon.png'
|
||||||
|
|
||||||
print(f"DEBUG: Selected icon_file = {icon_file}")
|
print(f"DEBUG: Selected icon_file = {icon_file}")
|
||||||
|
|
||||||
a = Analysis(
|
a = Analysis(
|
||||||
['fluxer-reaper.py'],
|
['server-shuttle.py'],
|
||||||
pathex=[],
|
pathex=[],
|
||||||
binaries=[],
|
binaries=[],
|
||||||
datas=[],
|
datas=[],
|
||||||
|
|
@ -42,7 +42,7 @@ exe = EXE(
|
||||||
a.zipfiles,
|
a.zipfiles,
|
||||||
a.datas,
|
a.datas,
|
||||||
[],
|
[],
|
||||||
name='fluxer-reaper',
|
name='server-shuttle',
|
||||||
debug=False,
|
debug=False,
|
||||||
bootloader_ignore_signals=False,
|
bootloader_ignore_signals=False,
|
||||||
strip=False,
|
strip=False,
|
||||||
Loading…
Add table
Reference in a new issue