For Radius 1.0 (iPhone) | Updated October 16, 2026
Radius uses open-source components licensed under the LGPL and the MPL. This page provides the complete corresponding source code of those components as used in Radius 1.0, our changes to them, and the scripts we build them with.
1. What this page covers
Radius itself is not open-source software. The licenses below apply only to the components listed on this page.
The files here correspond to Radius 1.0 as released on the App Store. If a later version changes these components, this page will be updated and the files for earlier versions will stay available.
The full license texts are in the app under “⋯” > About & Licenses, and in files/licenses/.
FFmpeg 9.0.1: LGPL 2.1 or later (built with --disable-gpl --disable-version3 --disable-nonfree). The libraries are not modified; they ship in the app as seven dynamically linked frameworks (libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale).
ffmpeg-9.0.1.tar.xz.asc · 520 B · SHA-256 b613a00005232a1245ace7080088781ac23a916119d3e5b0d6c042368eee0177 (official signature)
BUILD-INFO.txt · 2 KB · SHA-256 b359ffea8a44b93c94473a87fb1e9cc5e3af04fb74cf130eb0bca7565406d676 (complete configure command line; URL and SHA-256 of every tarball)
FFTools 1.0 (our interface layer): LGPL 2.1 or later. It builds FFmpeg's own fftools (ffmpeg, ffprobe) as a dynamic framework that the app calls in its own process. Our only changes to FFmpeg are to three files in fftools.
zlib, bzip2, iconv, VideoToolbox and AudioToolbox are part of iOS.
3. Office engine based on LibreOffice (MPL 2.0)
LibreOffice 26.8.1.1: MPL 2.0. Tag libreoffice-26.8.1.1 (commit bf6ef2662401c7d6dce671ab4deb26ee0af3a7c1); source at git.libreoffice.org/core (GitHub mirror: LibreOffice/core). It is statically linked into the app and used only to convert Word, Excel and presentation files to PDF.
libreoffice-external-tarballs.tsv · 16 KB · SHA-256 54230b2a1bb7a6b5b913daaf4a444523f58b954f4ebe45bb3912652ff898d90e (third-party source tarballs downloaded by the build: file name, size, SHA-256, URL; all unmodified)
What the changes do: build for the arm64 simulator on Apple silicon, minimum iOS 18, curl without TLS, expat's random source on iOS, iOS-specific fixes in vcl, and the static library list.
Statically linked third-party components that offer a choice of licenses (for example librevenge, libwpd, libwps, libmwaw, libodfgen, liblangtag, Hunspell, Hyphen, Graphite, Redland) are used under their MPL or Apache 2.0 option.
LibreOffice is a trademark of The Document Foundation. Radius is not affiliated with or endorsed by The Document Foundation.
Fonts (SIL Open Font License 1.1): Noto Sans CJK and Noto Serif CJK for the Office engine (how we get them: fetch_cjk_fonts.sh · 2 KB · SHA-256 e0ba439399fc462cd4d9155ca957cc8d0c8205e0c321fa2d607506c4bfbfade1); subsets of Instrument Serif, Instrument Sans, 清松手寫體 1 (JasonHandwriting1), Klee One, Nanum Pen Script and Caveat, renamed as the license requires.
These are permissive licenses with no obligation to provide source code; they are listed for reference. Their license texts are in files/licenses/.
5. How to build
You need a Mac with Apple silicon, Xcode 27 (iOS 27 SDK), and the Homebrew build tools listed at the top of each script. Paths must not contain spaces.
FFmpeg and FFTools: unpack radius-fftools-1.0.tar.xz and run scripts/build_ffmpeg_ios.sh. It downloads the tarballs above (or uses the ones you put in $RADIUS_FFMPEG_WORK/downloads), checks their SHA-256, confirms that configure reports LGPL 2.1, and builds eight dynamic xcframeworks (arm64 device and arm64 simulator, minimum iOS 18). Step-by-step instructions are in the README.md inside the archive.
LibreOffice: check out tag libreoffice-26.8.1.1, place the script and the patch as described in README.md, and run scripts/build_libreoffice_ios.sh device (this takes several hours).
6. Using your own FFmpeg in the app
In the app bundle (RadiusPhone.app), FFmpeg and FFTools are eight separate dynamic frameworks in the Frameworks folder, loaded through @rpath: FFTools, libavcodec (with LAME, Opus, libvpx and libwebp), libavdevice, libavfilter, libavformat, libavutil, libswresample and libswscale. The share extension (PlugIns/RadiusShare.appex) uses the same ones.
The app's own code calls only the C interface in FFTools.h (fft_start, fft_cancel, fft_run, fft_list_codecs); it does not call FFmpeg functions directly. A modified version can replace them as long as it keeps the framework names and install names, the FFTools.h interface, and the FFmpeg 9.0 library major versions (or you rebuild FFTools against your FFmpeg).
How: build with the script above, replace each Frameworks/<name>.framework/<name> with your build (the ios-arm64 slice of the xcframework), re-sign the eight frameworks, the share extension and the app, in that order, with your own certificate and provisioning profile, and install it on your iPhone with Xcode or xcrun devicectl. Detailed steps are in the README.md inside radius-fftools-1.0.tar.xz.
7. Written offer
For at least three years after the last distribution of Radius 1.0, anyone who received it can request the source code on this page by emailing lins.program@gmail.com, at a charge no more than the cost of providing it.
ffmpeg-9.0.1.tar.xz · 12.0 MB · SHA-256 cf38e0e28c7e5605942c4a77755349b0145804a397af37eb1fb4c77cb237f635(ffmpeg.org의 공식 압축 파일)
ffmpeg-9.0.1.tar.xz.asc · 520 B · SHA-256 b613a00005232a1245ace7080088781ac23a916119d3e5b0d6c042368eee0177(공식 서명)
BUILD-INFO.txt · 2 KB · SHA-256 b359ffea8a44b93c94473a87fb1e9cc5e3af04fb74cf130eb0bca7565406d676(configure 전체 옵션, 각 압축 파일의 URL과 SHA-256)
FFTools 1.0(저희가 작성한 인터페이스 계층): LGPL 2.1 이상. FFmpeg 자체의 fftools(ffmpeg, ffprobe)를 앱이 자기 프로세스 안에서 호출하는 동적 framework로 빌드합니다. FFmpeg에 대한 수정은 fftools의 파일 3개뿐입니다.
zlib, bzip2, iconv, VideoToolbox, AudioToolbox는 iOS에 포함된 것입니다.
3. LibreOffice 기반 Office 엔진(MPL 2.0)
LibreOffice 26.8.1.1: MPL 2.0. 태그 libreoffice-26.8.1.1(커밋 bf6ef2662401c7d6dce671ab4deb26ee0af3a7c1). 소스 코드는 git.libreoffice.org/core에 있습니다(GitHub 미러: LibreOffice/core). 앱에 정적으로 링크되어 있으며, Word, Excel, 프레젠테이션 파일을 PDF로 변환하는 데에만 사용합니다.
libreoffice-external-tarballs.tsv · 16 KB · SHA-256 54230b2a1bb7a6b5b913daaf4a444523f58b954f4ebe45bb3912652ff898d90e(빌드할 때 내려받은 서드파티 소스 압축 파일: 파일 이름, 크기, SHA-256, URL. 모두 수정 없음)
수정 내용: Apple 실리콘의 arm64 시뮬레이터용 빌드, 최소 iOS 18, TLS 없는 curl, iOS에서 expat의 난수 소스, vcl의 iOS 전용 수정, 정적 라이브러리 목록.
정적으로 링크되며 라이선스를 선택할 수 있는 서드파티 구성 요소(예: librevenge, libwpd, libwps, libmwaw, libodfgen, liblangtag, Hunspell, Hyphen, Graphite, Redland)는 MPL 또는 Apache 2.0을 선택해 사용합니다.
LibreOffice는 The Document Foundation의 상표입니다. Radius는 The Document Foundation과 제휴 관계가 없으며 그 보증도 받지 않았습니다.
글꼴(SIL Open Font License 1.1): Office 엔진에서 쓰는 Noto Sans CJK와 Noto Serif CJK(받는 방법: fetch_cjk_fonts.sh · 2 KB · SHA-256 e0ba439399fc462cd4d9155ca957cc8d0c8205e0c321fa2d607506c4bfbfade1), 라이선스에 따라 이름을 바꾼 하위 집합 글꼴 Instrument Serif, Instrument Sans, 清松手寫體 1, Klee One, Nanum Pen Script, Caveat.
이들은 허용적인 라이선스로 소스 코드를 제공할 의무는 없지만 참고용으로 나열합니다. 라이선스 전문은 files/licenses/에 있습니다.
5. 빌드 방법
필요한 것: Apple 실리콘 Mac, Xcode 27(iOS 27 SDK), 각 스크립트 맨 앞에 적힌 Homebrew 빌드 도구. 경로에 공백이 있으면 안 됩니다.
FFmpeg와 FFTools: radius-fftools-1.0.tar.xz의 압축을 풀고 scripts/build_ffmpeg_ios.sh를 실행합니다. 위의 압축 파일을 내려받거나(또는 $RADIUS_FFMPEG_WORK/downloads에 넣어 둔 파일을 사용하고), SHA-256을 확인하고, configure의 라이선스가 LGPL 2.1인지 확인한 뒤, 동적 xcframework 8개(arm64 실기기와 arm64 시뮬레이터, 최소 iOS 18)를 빌드합니다. 단계별 설명은 압축 파일 안의 README.md에 있습니다.
LibreOffice: 태그 libreoffice-26.8.1.1을 체크아웃하고, README.md에 적힌 대로 스크립트와 패치를 배치한 다음 scripts/build_libreoffice_ios.sh device를 실행합니다(몇 시간 걸립니다).
6. 직접 빌드한 FFmpeg를 앱에서 사용하기
앱(RadiusPhone.app) 안에서 FFmpeg와 FFTools는 Frameworks 폴더에 있는 독립된 동적 framework 8개이며, @rpath를 통해 로드됩니다: FFTools, libavcodec(LAME, Opus, libvpx, libwebp 포함), libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale. 공유 확장 프로그램(PlugIns/RadiusShare.appex)도 같은 것을 사용합니다.
앱 자체의 코드는 FFTools.h의 C 인터페이스(fft_start, fft_cancel, fft_run, fft_list_codecs)만 호출하며, FFmpeg 함수를 직접 호출하지 않습니다. framework 이름과 설치 이름, FFTools.h 인터페이스, FFmpeg 9.0의 라이브러리 메이저 버전을 유지하면(또는 직접 빌드한 FFmpeg에 맞춰 FFTools를 다시 빌드하면) 수정한 버전으로 바꿀 수 있습니다.
방법: 위의 스크립트로 빌드하고, Frameworks/<이름>.framework/<이름>을 직접 빌드한 것(xcframework의 ios-arm64)으로 바꾼 뒤, framework 8개, 공유 확장 프로그램, 앱 순서로 본인의 인증서와 프로비저닝 프로파일로 다시 서명하고, Xcode나 xcrun devicectl로 iPhone에 설치합니다. 자세한 단계는 radius-fftools-1.0.tar.xz 안의 README.md에 있습니다.
7. 서면 제공 약속
Radius 1.0을 마지막으로 배포한 날로부터 최소 3년 동안, 이 버전을 받은 사람은 누구나 lins.program@gmail.com으로 이메일을 보내 이 페이지의 소스 코드를 요청할 수 있습니다. 비용은 제공에 드는 실비를 넘지 않습니다.
Código fuente e instrucciones de compilación de Radius
Para Radius 1.0 (iPhone) | Actualizado el 16 de octubre de 2026
Radius usa componentes de código abierto con licencia LGPL y MPL. En esta página está el código fuente correspondiente completo de esos componentes tal como se usan en Radius 1.0, nuestros cambios y los scripts con los que los compilamos.
1. Qué cubre esta página
Radius en sí no es software de código abierto. Las licencias de abajo solo se aplican a los componentes que aparecen en esta página.
Los archivos de aquí corresponden a Radius 1.0 tal como se publicó en el App Store. Si una versión posterior cambia estos componentes, esta página se actualizará y los archivos de las versiones anteriores seguirán disponibles.
El texto completo de las licencias está en la app, en “⋯” > Acerca de y licencias, y en files/licenses/.
FFmpeg 9.0.1: LGPL 2.1 o posterior (compilado con --disable-gpl --disable-version3 --disable-nonfree). Las bibliotecas no están modificadas; van en la app como siete frameworks de enlace dinámico (libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale).
ffmpeg-9.0.1.tar.xz · 12,0 MB · SHA-256 cf38e0e28c7e5605942c4a77755349b0145804a397af37eb1fb4c77cb237f635 (archivo oficial de ffmpeg.org)
ffmpeg-9.0.1.tar.xz.asc · 520 B · SHA-256 b613a00005232a1245ace7080088781ac23a916119d3e5b0d6c042368eee0177 (firma oficial)
BUILD-INFO.txt · 2 KB · SHA-256 b359ffea8a44b93c94473a87fb1e9cc5e3af04fb74cf130eb0bca7565406d676 (línea de configure completa; URL y SHA-256 de cada archivo)
FFTools 1.0 (nuestra capa de interfaz): LGPL 2.1 o posterior. Compila las propias fftools de FFmpeg (ffmpeg, ffprobe) como un framework dinámico al que la app llama dentro de su propio proceso. Nuestros únicos cambios a FFmpeg son en tres archivos de fftools.
radius-fftools-1.0.tar.xz · 32 KB · SHA-256 08a634b4fc521c27cc72714c5cd6dddf83e2dd7ec8626ccea00d3e991cc9efff (código fuente de la capa de interfaz, parche de fftools, script de compilación e instrucciones)
zlib, bzip2, iconv, VideoToolbox y AudioToolbox forman parte de iOS.
3. Motor de Office basado en LibreOffice (MPL 2.0)
LibreOffice 26.8.1.1: MPL 2.0. Etiqueta libreoffice-26.8.1.1 (commit bf6ef2662401c7d6dce671ab4deb26ee0af3a7c1); código fuente en git.libreoffice.org/core (réplica en GitHub: LibreOffice/core). Está enlazado estáticamente en la app y solo se usa para convertir archivos de Word, Excel y presentaciones a PDF.
build_libreoffice_ios.sh · 6 KB · SHA-256 97ae68dddc3dc5e5df3243ce6b337e3ca011043325f12b7705dbaec33fd63581 (script de compilación)
libreoffice-external-tarballs.tsv · 16 KB · SHA-256 54230b2a1bb7a6b5b913daaf4a444523f58b954f4ebe45bb3912652ff898d90e (archivos de código fuente de terceros que descarga la compilación: nombre, tamaño, SHA-256, URL; todos sin modificar)
Qué hacen los cambios: compilar para el simulador arm64 en Mac con chip de Apple, iOS 18 como mínimo, curl sin TLS, la fuente de aleatoriedad de expat en iOS, correcciones de vcl propias de iOS y la lista de bibliotecas estáticas.
Los componentes de terceros enlazados estáticamente que permiten elegir licencia (por ejemplo librevenge, libwpd, libwps, libmwaw, libodfgen, liblangtag, Hunspell, Hyphen, Graphite, Redland) se usan con su opción MPL o Apache 2.0.
LibreOffice es una marca registrada de The Document Foundation. Radius no está afiliada a The Document Foundation ni cuenta con su respaldo.
4. Otros componentes
libarchive 3.8.9 (BSD 2-Clause) y XZ Utils / liblzma 5.8.4 (0BSD): compresión y extracción. Script de compilación: build_libarchive_ios.sh · 4 KB · SHA-256 052f2f3f1b672ff51bb2220f7fdcc135a00652edde1b21fd5522784251e0b465
SwiftDraw 0.29.0 (zlib): renderizado de SVG.
Fuentes (SIL Open Font License 1.1): Noto Sans CJK y Noto Serif CJK para el motor de Office (cómo las obtenemos: fetch_cjk_fonts.sh · 2 KB · SHA-256 e0ba439399fc462cd4d9155ca957cc8d0c8205e0c321fa2d607506c4bfbfade1); subconjuntos de Instrument Serif, Instrument Sans, 清松手寫體 1 (JasonHandwriting1), Klee One, Nanum Pen Script y Caveat, con el nombre cambiado como exige la licencia.
Son licencias permisivas que no obligan a ofrecer el código fuente; se mencionan como referencia. El texto de sus licencias está en files/licenses/.
5. Cómo compilar
Necesitas un Mac con chip de Apple, Xcode 27 (SDK de iOS 27) y las herramientas de Homebrew que se indican al principio de cada script. Las rutas no pueden tener espacios.
FFmpeg y FFTools: descomprime radius-fftools-1.0.tar.xz y ejecuta scripts/build_ffmpeg_ios.sh. Descarga los archivos de arriba (o usa los que pongas en $RADIUS_FFMPEG_WORK/downloads), comprueba su SHA-256, verifica que configure indique LGPL 2.1 y compila ocho xcframeworks dinámicos (dispositivo arm64 y simulador arm64, iOS 18 como mínimo). Las instrucciones paso a paso están en el README.md del archivo comprimido.
LibreOffice: obtén la etiqueta libreoffice-26.8.1.1, coloca el script y el parche como se describe en README.md y ejecuta scripts/build_libreoffice_ios.sh device (tarda varias horas).
6. Usar tu propio FFmpeg en la app
Dentro de la app (RadiusPhone.app), FFmpeg y FFTools son ocho frameworks dinámicos independientes en la carpeta Frameworks, cargados mediante @rpath: FFTools, libavcodec (con LAME, Opus, libvpx y libwebp), libavdevice, libavfilter, libavformat, libavutil, libswresample y libswscale. La extensión para compartir (PlugIns/RadiusShare.appex) usa los mismos.
El código propio de la app solo llama a la interfaz en C de FFTools.h (fft_start, fft_cancel, fft_run, fft_list_codecs); no llama directamente a funciones de FFmpeg. Una versión modificada puede sustituirlos siempre que conserve los nombres de los frameworks y sus nombres de instalación, la interfaz de FFTools.h y las versiones principales de las bibliotecas de FFmpeg 9.0 (o que recompiles FFTools con tu FFmpeg).
Cómo: compila con el script de arriba, sustituye cada Frameworks/<nombre>.framework/<nombre> por tu versión (la porción ios-arm64 del xcframework), vuelve a firmar los ocho frameworks, la extensión para compartir y la app, en ese orden, con tu propio certificado y perfil de aprovisionamiento, e instálala en tu iPhone con Xcode o con xcrun devicectl. Los pasos detallados están en el README.md de radius-fftools-1.0.tar.xz.
7. Oferta por escrito
Durante al menos tres años después de la última distribución de Radius 1.0, cualquier persona que la haya recibido puede pedir el código fuente de esta página escribiendo a lins.program@gmail.com, por un importe no superior al coste de proporcionarlo.
Für Radius 1.0 (iPhone) | Aktualisiert am 16. Oktober 2026
Radius verwendet Open-Source-Komponenten unter LGPL und MPL. Auf dieser Seite findest du den vollständigen zugehörigen Quellcode dieser Komponenten in der Fassung, die Radius 1.0 verwendet, unsere Änderungen daran und die Skripte, mit denen wir sie bauen.
1. Worum es auf dieser Seite geht
Radius selbst ist keine Open-Source-Software. Die folgenden Lizenzen gelten nur für die auf dieser Seite aufgeführten Komponenten.
Die Dateien hier gehören zu Radius 1.0, wie es im App Store veröffentlicht ist. Ändert eine spätere Version diese Komponenten, wird diese Seite aktualisiert; die Dateien früherer Versionen bleiben verfügbar.
Die vollständigen Lizenztexte findest du in der App unter „⋯“ › „Info und Drittanbieter-Lizenzen“ sowie in files/licenses/.
FFmpeg 9.0.1: LGPL 2.1 oder neuer (gebaut mit --disable-gpl --disable-version3 --disable-nonfree). Die Bibliotheken sind nicht verändert; sie liegen der App als sieben dynamisch gelinkte Frameworks bei (libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale).
FFTools 1.0 (unsere Schnittstellenschicht): LGPL 2.1 oder neuer. Sie baut die fftools von FFmpeg selbst (ffmpeg, ffprobe) als dynamisches Framework, das die App in ihrem eigenen Prozess aufruft. Unsere einzigen Änderungen an FFmpeg betreffen drei Dateien in fftools.
radius-fftools-1.0.tar.xz · 32 KB · SHA-256 08a634b4fc521c27cc72714c5cd6dddf83e2dd7ec8626ccea00d3e991cc9efff (Quellcode der Schnittstellenschicht, fftools-Patch, Build-Skript und Anleitung)
zlib, bzip2, iconv, VideoToolbox und AudioToolbox sind Teil von iOS.
3. Office-Engine auf Basis von LibreOffice (MPL 2.0)
LibreOffice 26.8.1.1: MPL 2.0. Tag libreoffice-26.8.1.1 (Commit bf6ef2662401c7d6dce671ab4deb26ee0af3a7c1); Quellcode unter git.libreoffice.org/core (Spiegel auf GitHub: LibreOffice/core). Sie ist statisch in die App gelinkt und wird nur verwendet, um Word-, Excel- und Präsentationsdateien in PDF umzuwandeln.
libreoffice-external-tarballs.tsv · 16 KB · SHA-256 54230b2a1bb7a6b5b913daaf4a444523f58b954f4ebe45bb3912652ff898d90e (Quellarchive von Drittanbietern, die der Build herunterlädt: Dateiname, Größe, SHA-256, URL; alle unverändert)
Was die Änderungen bewirken: Build für den arm64-Simulator auf Macs mit Apple-Chip, mindestens iOS 18, curl ohne TLS, die Zufallsquelle von expat unter iOS, iOS-spezifische Korrekturen in vcl und die Liste der statischen Bibliotheken.
Statisch gelinkte Komponenten von Drittanbietern, die eine Wahl der Lizenz erlauben (zum Beispiel librevenge, libwpd, libwps, libmwaw, libodfgen, liblangtag, Hunspell, Hyphen, Graphite, Redland), werden unter ihrer MPL- oder Apache-2.0-Option verwendet.
LibreOffice ist eine Marke von The Document Foundation. Radius steht in keiner Verbindung zu The Document Foundation und wird von ihr nicht unterstützt.
Schriften (SIL Open Font License 1.1): Noto Sans CJK und Noto Serif CJK für die Office-Engine (so beziehen wir sie: fetch_cjk_fonts.sh · 2 KB · SHA-256 e0ba439399fc462cd4d9155ca957cc8d0c8205e0c321fa2d607506c4bfbfade1); Teilmengen von Instrument Serif, Instrument Sans, 清松手寫體 1 (JasonHandwriting1), Klee One, Nanum Pen Script und Caveat, umbenannt, wie es die Lizenz verlangt.
Das sind freizügige Lizenzen ohne Pflicht zur Bereitstellung des Quellcodes; sie sind zur Information aufgeführt. Ihre Lizenztexte stehen in files/licenses/.
5. So wird gebaut
Du brauchst einen Mac mit Apple-Chip, Xcode 27 (iOS 27 SDK) und die Homebrew-Werkzeuge, die am Anfang jedes Skripts aufgeführt sind. Pfade dürfen keine Leerzeichen enthalten.
FFmpeg und FFTools: radius-fftools-1.0.tar.xz entpacken und scripts/build_ffmpeg_ios.sh ausführen. Das Skript lädt die Archive oben herunter (oder verwendet die, die du in $RADIUS_FFMPEG_WORK/downloads ablegst), prüft ihre SHA-256-Prüfsummen, stellt sicher, dass configure LGPL 2.1 meldet, und baut acht dynamische xcframeworks (arm64-Gerät und arm64-Simulator, mindestens iOS 18). Eine Schritt-für-Schritt-Anleitung steht in der README.md im Archiv.
LibreOffice: Tag libreoffice-26.8.1.1 auschecken, Skript und Patch wie in README.md beschrieben ablegen und scripts/build_libreoffice_ios.sh device ausführen (dauert mehrere Stunden).
6. Eigenes FFmpeg in der App verwenden
Im App-Bundle (RadiusPhone.app) sind FFmpeg und FFTools acht eigenständige dynamische Frameworks im Ordner Frameworks, geladen über @rpath: FFTools, libavcodec (mit LAME, Opus, libvpx und libwebp), libavdevice, libavfilter, libavformat, libavutil, libswresample und libswscale. Die Teilen-Erweiterung (PlugIns/RadiusShare.appex) verwendet dieselben.
Der eigene Code der App ruft nur die C-Schnittstelle in FFTools.h auf (fft_start, fft_cancel, fft_run, fft_list_codecs), keine FFmpeg-Funktionen direkt. Eine geänderte Fassung kann sie ersetzen, solange sie die Namen der Frameworks und ihre Installationsnamen, die Schnittstelle von FFTools.h und die Hauptversionen der Bibliotheken von FFmpeg 9.0 beibehält (oder du FFTools gegen dein FFmpeg neu baust).
So geht’s: mit dem Skript oben bauen, jede Frameworks/<Name>.framework/<Name> durch deine Fassung ersetzen (der ios-arm64-Teil des xcframework), die acht Frameworks, die Teilen-Erweiterung und die App in dieser Reihenfolge mit deinem eigenen Zertifikat und Bereitstellungsprofil neu signieren und mit Xcode oder xcrun devicectl auf dein iPhone installieren. Die einzelnen Schritte stehen in der README.md in radius-fftools-1.0.tar.xz.
7. Schriftliches Angebot
Noch mindestens drei Jahre nach der letzten Verbreitung von Radius 1.0 kann jede Person, die diese Version erhalten hat, den Quellcode auf dieser Seite per E-Mail an lins.program@gmail.com anfordern, gegen eine Gebühr, die die Kosten der Bereitstellung nicht übersteigt.
Radius : code source et instructions de compilation
Pour Radius 1.0 (iPhone) | Mise à jour : 16 octobre 2026
Radius utilise des composants open source sous licence LGPL et MPL. Cette page fournit le code source correspondant complet de ces composants tels qu’ils sont utilisés dans Radius 1.0, nos modifications et les scripts avec lesquels nous les compilons.
1. Ce que couvre cette page
Radius n’est pas lui-même un logiciel open source. Les licences ci-dessous ne s’appliquent qu’aux composants listés sur cette page.
Les fichiers ci-dessous correspondent à Radius 1.0 tel qu’il est publié sur l’App Store. Si une version ultérieure modifie ces composants, cette page sera mise à jour et les fichiers des versions précédentes resteront disponibles.
Le texte intégral des licences se trouve dans l’app, sous « ⋯ » › À propos et licences tierces, ainsi que dans files/licenses/.
FFmpeg 9.0.1 : LGPL 2.1 ou ultérieure (compilé avec --disable-gpl --disable-version3 --disable-nonfree). Les bibliothèques ne sont pas modifiées ; elles sont fournies dans l’app sous forme de sept frameworks à liaison dynamique (libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale).
ffmpeg-9.0.1.tar.xz.asc · 520 B · SHA-256 b613a00005232a1245ace7080088781ac23a916119d3e5b0d6c042368eee0177 (signature officielle)
BUILD-INFO.txt · 2 KB · SHA-256 b359ffea8a44b93c94473a87fb1e9cc5e3af04fb74cf130eb0bca7565406d676 (ligne de commande configure complète ; URL et SHA-256 de chaque archive)
FFTools 1.0 (notre couche d’interface) : LGPL 2.1 ou ultérieure. Elle compile les fftools de FFmpeg lui-même (ffmpeg, ffprobe) en un framework dynamique que l’app appelle dans son propre processus. Nos seules modifications de FFmpeg portent sur trois fichiers de fftools.
radius-fftools-1.0.tar.xz · 32 KB · SHA-256 08a634b4fc521c27cc72714c5cd6dddf83e2dd7ec8626ccea00d3e991cc9efff (code source de la couche d’interface, patch de fftools, script de compilation et instructions)
zlib, bzip2, iconv, VideoToolbox et AudioToolbox font partie d’iOS.
3. Moteur Office basé sur LibreOffice (MPL 2.0)
LibreOffice 26.8.1.1 : MPL 2.0. Étiquette libreoffice-26.8.1.1 (commit bf6ef2662401c7d6dce671ab4deb26ee0af3a7c1) ; code source sur git.libreoffice.org/core (miroir sur GitHub : LibreOffice/core). Il est lié statiquement dans l’app et ne sert qu’à convertir des fichiers Word, Excel et de présentation en PDF.
build_libreoffice_ios.sh · 6 KB · SHA-256 97ae68dddc3dc5e5df3243ce6b337e3ca011043325f12b7705dbaec33fd63581 (script de compilation)
libreoffice-external-tarballs.tsv · 16 KB · SHA-256 54230b2a1bb7a6b5b913daaf4a444523f58b954f4ebe45bb3912652ff898d90e (archives de code source tierces téléchargées par la compilation : nom, taille, SHA-256, URL ; toutes non modifiées)
Ce que font les modifications : compilation pour le simulateur arm64 sur Mac avec puce Apple, iOS 18 minimum, curl sans TLS, source d’aléa d’expat sous iOS, corrections propres à iOS dans vcl et liste des bibliothèques statiques.
Les composants tiers liés statiquement qui proposent un choix de licences (par exemple librevenge, libwpd, libwps, libmwaw, libodfgen, liblangtag, Hunspell, Hyphen, Graphite, Redland) sont utilisés sous leur option MPL ou Apache 2.0.
LibreOffice est une marque de The Document Foundation. Radius n’est ni affilié à The Document Foundation ni approuvé par elle.
4. Autres composants
libarchive 3.8.9 (BSD 2-Clause) et XZ Utils / liblzma 5.8.4 (0BSD) : compression et extraction. Script de compilation : build_libarchive_ios.sh · 4 KB · SHA-256 052f2f3f1b672ff51bb2220f7fdcc135a00652edde1b21fd5522784251e0b465
SwiftDraw 0.29.0 (zlib) : rendu SVG.
Polices (SIL Open Font License 1.1) : Noto Sans CJK et Noto Serif CJK pour le moteur Office (comment nous les obtenons : fetch_cjk_fonts.sh · 2 KB · SHA-256 e0ba439399fc462cd4d9155ca957cc8d0c8205e0c321fa2d607506c4bfbfade1) ; sous-ensembles d’Instrument Serif, Instrument Sans, 清松手寫體 1 (JasonHandwriting1), Klee One, Nanum Pen Script et Caveat, renommés comme l’exige la licence.
Ce sont des licences permissives sans obligation de fournir le code source ; elles sont mentionnées à titre indicatif. Leurs textes de licence sont dans files/licenses/.
5. Comment compiler
Il vous faut un Mac avec puce Apple, Xcode 27 (SDK iOS 27) et les outils Homebrew indiqués en tête de chaque script. Les chemins ne doivent pas contenir d’espaces.
FFmpeg et FFTools : décompressez radius-fftools-1.0.tar.xz et exécutez scripts/build_ffmpeg_ios.sh. Le script télécharge les archives ci-dessus (ou utilise celles que vous placez dans $RADIUS_FFMPEG_WORK/downloads), vérifie leur SHA-256, s’assure que configure indique LGPL 2.1 et compile huit xcframeworks dynamiques (appareil arm64 et simulateur arm64, iOS 18 minimum). Les instructions pas à pas sont dans le README.md de l’archive.
LibreOffice : récupérez l’étiquette libreoffice-26.8.1.1, placez le script et le patch comme indiqué dans README.md, puis exécutez scripts/build_libreoffice_ios.sh device (plusieurs heures).
6. Utiliser votre propre FFmpeg dans l’app
Dans l’app (RadiusPhone.app), FFmpeg et FFTools sont huit frameworks dynamiques distincts dans le dossier Frameworks, chargés via @rpath : FFTools, libavcodec (avec LAME, Opus, libvpx et libwebp), libavdevice, libavfilter, libavformat, libavutil, libswresample et libswscale. L’extension de partage (PlugIns/RadiusShare.appex) utilise les mêmes.
Le code propre de l’app n’appelle que l’interface C de FFTools.h (fft_start, fft_cancel, fft_run, fft_list_codecs) ; il n’appelle aucune fonction de FFmpeg directement. Une version modifiée peut les remplacer si elle conserve les noms des frameworks et leurs noms d’installation, l’interface de FFTools.h et les versions majeures des bibliothèques de FFmpeg 9.0 (ou si vous recompilez FFTools avec votre FFmpeg).
Comment : compilez avec le script ci-dessus, remplacez chaque Frameworks/<nom>.framework/<nom> par votre version (la tranche ios-arm64 du xcframework), signez à nouveau les huit frameworks, l’extension de partage puis l’app, dans cet ordre, avec votre propre certificat et votre profil d’approvisionnement, et installez-la sur votre iPhone avec Xcode ou xcrun devicectl. Les étapes détaillées sont dans le README.md de radius-fftools-1.0.tar.xz.
7. Offre écrite
Pendant au moins trois ans après la dernière distribution de Radius 1.0, toute personne qui l’a reçu peut demander le code source de cette page par e-mail à lins.program@gmail.com, pour un montant ne dépassant pas le coût de sa fourniture.
Para o Radius 1.0 (iPhone) | Atualizado em 16 de outubro de 2026
O Radius usa componentes de código aberto licenciados sob a LGPL e a MPL. Esta página oferece o código-fonte correspondente completo desses componentes como são usados no Radius 1.0, as nossas alterações e os scripts com que os compilamos.
1. O que esta página abrange
O Radius em si não é software de código aberto. As licenças abaixo se aplicam apenas aos componentes listados nesta página.
Os arquivos daqui correspondem ao Radius 1.0 como publicado na App Store. Se uma versão posterior alterar esses componentes, esta página será atualizada e os arquivos das versões anteriores continuarão disponíveis.
O texto completo das licenças está no app, em “⋯” > Sobre e licenças de terceiros, e em files/licenses/.
FFmpeg 9.0.1: LGPL 2.1 ou posterior (compilado com --disable-gpl --disable-version3 --disable-nonfree). As bibliotecas não foram modificadas; acompanham o app como sete frameworks de vinculação dinâmica (libavcodec, libavdevice, libavfilter, libavformat, libavutil, libswresample, libswscale).
ffmpeg-9.0.1.tar.xz · 12,0 MB · SHA-256 cf38e0e28c7e5605942c4a77755349b0145804a397af37eb1fb4c77cb237f635 (arquivo oficial de ffmpeg.org)
ffmpeg-9.0.1.tar.xz.asc · 520 B · SHA-256 b613a00005232a1245ace7080088781ac23a916119d3e5b0d6c042368eee0177 (assinatura oficial)
BUILD-INFO.txt · 2 KB · SHA-256 b359ffea8a44b93c94473a87fb1e9cc5e3af04fb74cf130eb0bca7565406d676 (linha de comando completa do configure; URL e SHA-256 de cada arquivo)
FFTools 1.0 (nossa camada de interface): LGPL 2.1 ou posterior. Compila as próprias fftools do FFmpeg (ffmpeg, ffprobe) como um framework dinâmico que o app chama dentro do próprio processo. Nossas únicas alterações no FFmpeg são em três arquivos de fftools.
radius-fftools-1.0.tar.xz · 32 KB · SHA-256 08a634b4fc521c27cc72714c5cd6dddf83e2dd7ec8626ccea00d3e991cc9efff (código-fonte da camada de interface, patch de fftools, script de compilação e instruções)
zlib, bzip2, iconv, VideoToolbox e AudioToolbox fazem parte do iOS.
3. Mecanismo do Office baseado no LibreOffice (MPL 2.0)
LibreOffice 26.8.1.1: MPL 2.0. Tag libreoffice-26.8.1.1 (commit bf6ef2662401c7d6dce671ab4deb26ee0af3a7c1); código-fonte em git.libreoffice.org/core (espelho no GitHub: LibreOffice/core). É vinculado estaticamente ao app e usado apenas para converter arquivos do Word, do Excel e de apresentações em PDF.
build_libreoffice_ios.sh · 6 KB · SHA-256 97ae68dddc3dc5e5df3243ce6b337e3ca011043325f12b7705dbaec33fd63581 (script de compilação)
libreoffice-external-tarballs.tsv · 16 KB · SHA-256 54230b2a1bb7a6b5b913daaf4a444523f58b954f4ebe45bb3912652ff898d90e (arquivos de código-fonte de terceiros baixados pela compilação: nome, tamanho, SHA-256, URL; todos sem modificações)
O que as alterações fazem: compilação para o simulador arm64 em Macs com chip da Apple, iOS 18 no mínimo, curl sem TLS, a fonte de aleatoriedade do expat no iOS, correções do vcl específicas do iOS e a lista de bibliotecas estáticas.
Os componentes de terceiros vinculados estaticamente que permitem escolher a licença (por exemplo librevenge, libwpd, libwps, libmwaw, libodfgen, liblangtag, Hunspell, Hyphen, Graphite, Redland) são usados sob a opção MPL ou Apache 2.0.
LibreOffice é uma marca registrada da The Document Foundation. O Radius não é afiliado à The Document Foundation nem endossado por ela.
4. Outros componentes
libarchive 3.8.9 (BSD 2-Clause) e XZ Utils / liblzma 5.8.4 (0BSD): compactação e extração. Script de compilação: build_libarchive_ios.sh · 4 KB · SHA-256 052f2f3f1b672ff51bb2220f7fdcc135a00652edde1b21fd5522784251e0b465
SwiftDraw 0.29.0 (zlib): renderização de SVG.
Fontes (SIL Open Font License 1.1): Noto Sans CJK e Noto Serif CJK para o mecanismo do Office (como as obtemos: fetch_cjk_fonts.sh · 2 KB · SHA-256 e0ba439399fc462cd4d9155ca957cc8d0c8205e0c321fa2d607506c4bfbfade1); subconjuntos de Instrument Serif, Instrument Sans, 清松手寫體 1 (JasonHandwriting1), Klee One, Nanum Pen Script e Caveat, renomeados como a licença exige.
São licenças permissivas, sem obrigação de fornecer o código-fonte; aparecem aqui como referência. Os textos das licenças estão em files/licenses/.
5. Como compilar
Você precisa de um Mac com chip da Apple, Xcode 27 (SDK do iOS 27) e as ferramentas do Homebrew listadas no início de cada script. Os caminhos não podem ter espaços.
FFmpeg e FFTools: descompacte radius-fftools-1.0.tar.xz e execute scripts/build_ffmpeg_ios.sh. O script baixa os arquivos acima (ou usa os que você colocar em $RADIUS_FFMPEG_WORK/downloads), confere o SHA-256, verifica se o configure informa LGPL 2.1 e compila oito xcframeworks dinâmicos (dispositivo arm64 e simulador arm64, iOS 18 no mínimo). As instruções passo a passo estão no README.md dentro do arquivo compactado.
LibreOffice: obtenha a tag libreoffice-26.8.1.1, coloque o script e o patch como descrito em README.md e execute scripts/build_libreoffice_ios.sh device (leva várias horas).
6. Usar o seu próprio FFmpeg no app
No pacote do app (RadiusPhone.app), o FFmpeg e o FFTools são oito frameworks dinâmicos independentes na pasta Frameworks, carregados via @rpath: FFTools, libavcodec (com LAME, Opus, libvpx e libwebp), libavdevice, libavfilter, libavformat, libavutil, libswresample e libswscale. A extensão de compartilhamento (PlugIns/RadiusShare.appex) usa os mesmos.
O código do próprio app chama apenas a interface em C de FFTools.h (fft_start, fft_cancel, fft_run, fft_list_codecs); ele não chama funções do FFmpeg diretamente. Uma versão modificada pode substituí-los desde que mantenha os nomes dos frameworks e seus nomes de instalação, a interface de FFTools.h e as versões principais das bibliotecas do FFmpeg 9.0 (ou que você recompile o FFTools com o seu FFmpeg).
Como fazer: compile com o script acima, substitua cada Frameworks/<nome>.framework/<nome> pela sua versão (a fatia ios-arm64 do xcframework), assine novamente os oito frameworks, a extensão de compartilhamento e o app, nessa ordem, com o seu próprio certificado e perfil de provisionamento, e instale no seu iPhone com o Xcode ou com xcrun devicectl. Os passos detalhados estão no README.md de radius-fftools-1.0.tar.xz.
7. Oferta por escrito
Por pelo menos três anos após a última distribuição do Radius 1.0, qualquer pessoa que o tenha recebido pode pedir o código-fonte desta página pelo e-mail lins.program@gmail.com, por um valor que não exceda o custo de fornecê-lo.