Fujimod
브라우저에서 카메라 펌웨어를 시험하고 Fujimod SD 부팅 파일을 만든다
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기README 전체를 불러오는 중입니다. 아래는 저장된 발췌입니다.
A web application for planning Summits on the Air (SOTA) activations. Helps amateur radio operators research summits, analyze GPX tracks, coordinate group hikes, and share activation invitations with guests.
Live at sotaplanner.com · also mirrored at ki6cr.com/sotaplannerREADME 전문 보기 ↗A web application for planning Summits on the Air (SOTA) activations. It brings travel time, hiking time, time on the summit and the return trip together into one doorstep-to-doorstep estimate, so an activator can quickly judge whether a summit fits the time they have.
Live at sotaplanner.com. Free to use, and sign-in is through SOTA's own single sign-on (no separate account to create).
Created by Christopher Reddick, KI6CR.
Planning
Routes and GPX
Multi-Activate
Sharing
.ics calendar file.lib/)External services
| Service | Used for |
|---|---|
| SOTA single sign-on (Keycloak OIDC) | Login |
SOTA summit list CSV (storage.sota.org.uk) | Summit database, including winter bonus points |
SOTA Mapping Project (sotamaps.org) | Community GPX routes |
| SOTLAS | Activation zone boundaries and trail data |
| activation.zone | Fallback activation zone polygons |
| Google Maps (Geocoding, Distance Matrix, JS API) | Addresses, travel time, maps |
| OpenStreetMap / Overpass | Trailhead lookup |
| Open-Meteo | Weather forecast |
A note on the SOTA data API: SOTA's terms for
api2.sota.org.ukprohibit AI-generated software from connecting without prior approval. Contributors should not add code that calls the SOTA API directly without confirming approval first.
The app is a flat set of PHP files in the project root. Shared logic lives in config.php and the *_lib.php files.
| File | Purpose |
|---|---|
login.php, oauth_callback.php, logout.php | SOTA SSO sign-in and sign-out |
onboarding.php | First-run setup for new users and imported routes |
index.php | Main dashboard: summit list, filters, sorting, quick edits |
nominate.php | Add summits by name or reference, or by area |
summit_detail.php | Full summit view: map, elevation chart, activation zone, GPX, planned activations, notes |
trail_research.php | Edit hike distance, gain, starting point and trail notes |
planning_groups.php | Manage dashboards, members and starting addresses |
multi_activate.php | Multi-summit route planner (editable for members, read-only when shared) |
activation_invite.php | Public activation invitation page |
user_settings.php | Per-user preferences |
about.php, changelog.php | Project info and monthly release notes |
| File | Purpose |
|---|---|
sota_refresh.php, sync_dashboard_activations.php | Refresh activation history from SOTA |
save_activation_time.php, toggle_multi_expand.php, vote_feature.php | Small AJAX saves |
drive_time_refresh.php | Recalculate travel time |
load_gpx.php, gpx_fetch.php, summit_gpx.php, import_sotamaps_gpx.php | GPX upload, analysis, fetch and import |
activation_zone.php, activation_ics.php, summit_weather.php | Activation zone, calendar file, weather |
multi_alt_start_save.php, multi_add_to_dashboard.php, multi_activate_pdf.php | Multi-Activate saves, import and PDF |
| File | Purpose |
|---|---|
config.php | Database connection, auth helpers, unit conversion, GPX analysis, activation zone lookup |
sota_cache_helper.php | Summit search over the SOTA cache and index |
gpx_import_lib.php | The single canonical SOTA Maps GPX importer |
multi_alt_lib.php, multi_import_lib.php | Multi-Activate alternate starts and route import |
weather_lib.php, pdf_map_lib.php | Weather forecasts and PDF map rendering |
| File | Schedule | Purpose |
|---|---|---|
batch_gpx_cron.php | Nightly, plus weekly retry | Find community GPX routes for new summits and retry ones with none |
trailhead_osm_cron.php | Nightly | Fill in OSM trailheads for newly imported routes |
activation_zone_upgrade_cron.php | Weekly | Upgrade fallback activation zones to SOTLAS boundaries |
admin.php, god_mode.php, admin_batch_gpx.php, admin_gpx_library.php, admin_gpx_map.php, admin_trailhead_osm.php, rebuild_sota_cache.php, bulk_delete_summits.php, and the map data feeds api_gpx_map_data.php and api_trail_data_map.php.
db_migrate.php: idempotent, password-gated schema migration (see below)lib/: bundled FPDF and fontsresearch/: design notestests/: manual test scriptsgpx_files/: uploaded and community GPX files (not tracked in git)Summit database. rebuild_sota_cache.php downloads SOTA's official summit list and builds sota_cache.csv.gz, which is the source of truth. Two generated copies speed up searching: an indexed sota_summit_index table and a plain-text sota_cache_norm.txt. Both are rebuilt automatically and are never edited by hand.
Community route library. Every summit is checked once against the SOTA Mapping Project. The shortest community track found is saved to a global library (global_gpx_tracks), and every check is logged in global_gpx_checked so the nightly cron only looks at new summits and the weekly cron retries ones that had nothing. When a user nominates a summit that has a library route, the route, distance, elevation gain and starting point are pre-filled, and the shared file is never deleted if the user removes their copy.
Activation zones. get_activation_zone_from_api() in config.php tries SOTLAS first and falls back to activation.zone. Results are cached permanently in activation_zone_cache.
Naming. The interface says "Dashboard", "Starting Point" and "Travel Time". The code and database still use the original names (planning_groups, trailhead_lat, drive_time_min). That was an intentional text-only rename.
sotaplanner_secrets.php one directory above the web root (never committed):
<?php
define('DB_HOST', 'your-db-host');
define('DB_NAME', 'sotaplanner');
define('DB_USER', 'your-db-user');
define('DB_PASS', 'your-db-password');
define('GOOGLE_MAPS_API_KEY', 'your-server-key'); // Geocoding + Distance Matrix, never put in HTML
define('GOOGLE_MAPS_BROWSER_KEY', 'your-browser-key'); // Maps JavaScript API, HTTP-referrer restricted
define('SOTA_CLIENT_ID', 'your-sso-client-id'); // enables the SOTA SSO login button
gpx_files/ directory (with a global/ subfolder) and make it writable by the web server.rebuild_sota_cache.php once.SOTA SSO only works from the production domain, which is the only redirect URI SOTA has approved. On development and staging, a "Developer access" link on the login page signs in by callsign instead. That link is removed on production.
dev. main is exactly what is live on production.dev is deployed with rsync to a staging copy of the site for testing.dev is fast-forward merged into main and only the changed files are rsynced to production.db_migrate.php: password-gated, idempotent (SHOW COLUMNS, CREATE TABLE IF NOT EXISTS), prints success or skip for each step, and is deleted from the server after it runs.APP_VERSION in config.php is YYYY.MM), and the public changelog has one block per month.Personal/private project. Not currently open for public contributions.