From 58b50b956b141acd7f60a3ad25110431ff951a84 Mon Sep 17 00:00:00 2001
From: Suprhimp
Date: Sat, 25 Apr 2026 00:31:11 +0900
Subject: [PATCH 1/3] Relicense to Apache-2.0 and add third-party attributions
- Replace GPL-3.0 with Apache License 2.0
- Add NOTICE file crediting Shizuku, NanoHTTPD, ZXing, AndroidX, Kotlin Coroutines, and scrcpy-inspired techniques
- Add "Built with" section across 7 README locales (EN/KO/DE/ES/FR/JA/ZH)
- Remove unused 27MB cloudflared binary from jniLibs
Co-Authored-By: Claude Opus 4.7
---
CONTRIBUTING.md | 2 +-
LICENSE | 874 ++++--------------
NOTICE | 51 +
README.de.md | 20 +-
README.es.md | 20 +-
README.fr.md | 20 +-
README.ja.md | 20 +-
README.ko.md | 20 +-
README.md | 31 +-
README.zh-CN.md | 20 +-
.../main/jniLibs/arm64-v8a/libcloudflared.so | Bin 28442920 -> 0 bytes
11 files changed, 377 insertions(+), 701 deletions(-)
create mode 100644 NOTICE
delete mode 100755 app/src/main/jniLibs/arm64-v8a/libcloudflared.so
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ce673cf..8c596a7 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -56,4 +56,4 @@ Existing translations: en, ko, de, es, fr, ja, nl, no, zh-CN
## License
-By contributing, you agree that your contributions will be licensed under the GPL-3.0 License.
+By contributing, you agree that your contributions will be licensed under the Apache License 2.0.
diff --git a/LICENSE b/LICENSE
index f288702..0ae5cf3 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,674 +1,200 @@
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc.
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
-
- Copyright (C)
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see .
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- Copyright (C)
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-.
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for describing the origin of the Work and
+ reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may accept support,
+ warranty, indemnity, or other liability obligations and/or rights
+ consistent with this License. However, in accepting such obligations,
+ You may act only on Your own behalf and on Your sole responsibility,
+ not on behalf of any other Contributor, and only if You agree to
+ indemnify, defend, and hold each Contributor harmless for any
+ liability incurred by, or claims asserted against, such Contributor
+ by reason of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright 2024 Castla
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..db1ebb4
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,51 @@
+Castla
+Copyright (C) 2024 Castla
+
+This product includes software developed by the following third parties.
+Their respective licenses are reproduced below or referenced by URL.
+
+================================================================================
+Shizuku API / Provider
+ https://github.com/RikkaApps/Shizuku
+ Copyright (c) 2017 Rikka
+ Licensed under the Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0
+
+NanoHTTPD
+ https://github.com/NanoHttpd/nanohttpd
+ Copyright (c) 2012-2017 elonen, paulsheer, and NanoHTTPD contributors
+ Licensed under the BSD 3-Clause License
+
+ZXing ("Zebra Crossing")
+ https://github.com/zxing/zxing
+ Copyright (c) 2007-2024 ZXing authors
+ Licensed under the Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0
+
+AndroidX (Core, AppCompat, Activity, Lifecycle, Compose, Test)
+ https://developer.android.com/jetpack/androidx
+ Copyright (c) The Android Open Source Project
+ Licensed under the Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Kotlin Standard Library / Kotlin Coroutines
+ https://github.com/JetBrains/kotlin
+ https://github.com/Kotlin/kotlinx.coroutines
+ Copyright (c) 2010-2024 JetBrains s.r.o. and Kotlin Programming Language contributors
+ Licensed under the Apache License, Version 2.0
+ http://www.apache.org/licenses/LICENSE-2.0
+
+================================================================================
+Acknowledgements
+
+Some privileged-mode techniques used by this project were inspired by the
+approach taken in scrcpy (https://github.com/Genymobile/scrcpy, Apache-2.0).
+No source code from scrcpy is included.
+
+================================================================================
+Test-only dependencies (not distributed in release APK)
+
+ JUnit 4 — Eclipse Public License 1.0
+ MockK — Apache License 2.0
+ Robolectric — MIT / Apache-2.0
+ AndroidX Test / UIAutomator — Apache License 2.0
diff --git a/README.de.md b/README.de.md
index 3babf03..4c6fca6 100644
--- a/README.de.md
+++ b/README.de.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castla ist eine kostenlose Open-Source-Lösung, die den Bildschirm deines Androi
- **Volle Touch-Steuerung** — Tippe, wische und interagiere direkt vom Tesla-Bildschirm (über Shizuku)
- **Audio-Streaming** — Geräteaudio direkt auf Tesla-Lautsprecher streamen (Android 10+)
- **100% lokal & privat** — Alle Daten bleiben im WiFi/Hotspot
-- **Komplett kostenlos** — Keine Werbung, keine Paywalls. Open Source unter GPL-3.0
+- **Komplett kostenlos** — Keine Werbung, keine Paywalls. Open Source unter Apache-2.0
## Funktionen
@@ -84,6 +84,20 @@ Castla sammelt **keinerlei Daten**. Siehe [Datenschutzerklärung](PRIVACY.md).
+## Verwendete Open-Source-Projekte
+
+Castla baut auf großartigen Open-Source-Projekten auf:
+
+- [Shizuku](https://shizuku.rikka.app/) — privilegierter API-Zugriff ohne Root
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — eingebetteter HTTP-/WebSocket-Server
+- [ZXing](https://github.com/zxing/zxing) — QR-Code-Generierung
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — modernes Android-UI-Toolkit
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — asynchrone Streaming-Pipeline
+
+Einige Techniken des privilegierten Modus wurden von [scrcpy](https://github.com/Genymobile/scrcpy) inspiriert. Es ist kein scrcpy-Quellcode enthalten.
+
+Siehe [NOTICE](NOTICE) für die vollständige Liste der Drittanbieter-Attributionen.
+
## Lizenz
-[GNU General Public License v3.0](LICENSE)
+[Apache License 2.0](LICENSE)
diff --git a/README.es.md b/README.es.md
index cbeb324..8ac3fa9 100644
--- a/README.es.md
+++ b/README.es.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castla es una solución gratuita y de código abierto que transmite la pantalla
- **Control táctil completo** — Toca, desliza e interactúa directamente desde la pantalla de Tesla (vía Shizuku)
- **Streaming de audio** — Audio del dispositivo directo a los altavoces de Tesla (Android 10+)
- **100% local y privado** — Todos los datos permanecen en tu WiFi/hotspot
-- **Completamente gratis** — Sin anuncios, sin muros de pago. Código abierto bajo GPL-3.0
+- **Completamente gratis** — Sin anuncios, sin muros de pago. Código abierto bajo Apache-2.0
## Funciones
@@ -84,6 +84,20 @@ Castla **no recopila ningún dato**. Ver [Política de Privacidad](PRIVACY.md).
+## Construido con
+
+Castla se apoya en el trabajo de grandes proyectos de código abierto:
+
+- [Shizuku](https://shizuku.rikka.app/) — acceso a APIs privilegiadas sin root
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — servidor HTTP + WebSocket embebido
+- [ZXing](https://github.com/zxing/zxing) — generación de códigos QR
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — toolkit moderno de UI para Android
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — pipeline de streaming asíncrono
+
+Algunas técnicas del modo privilegiado se inspiraron en [scrcpy](https://github.com/Genymobile/scrcpy). No se incluye código fuente de scrcpy.
+
+Consulta [NOTICE](NOTICE) para la lista completa de atribuciones de terceros.
+
## Licencia
-[GNU General Public License v3.0](LICENSE)
+[Apache License 2.0](LICENSE)
diff --git a/README.fr.md b/README.fr.md
index dc58971..49f6485 100644
--- a/README.fr.md
+++ b/README.fr.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castla est une solution gratuite et open source qui diffuse l'écran de votre t
- **Contrôle tactile complet** — Touchez, glissez et interagissez directement depuis l'écran Tesla (via Shizuku)
- **Streaming audio** — Audio de l'appareil directement sur les haut-parleurs Tesla (Android 10+)
- **100% local et privé** — Toutes les données restent sur votre WiFi/hotspot
-- **Entièrement gratuit** — Sans pub, sans paywall. Open source sous GPL-3.0
+- **Entièrement gratuit** — Sans pub, sans paywall. Open source sous Apache-2.0
## Fonctionnalités
@@ -84,6 +84,20 @@ Castla **ne collecte aucune donnée**. Voir la [Politique de Confidentialité](P
+## Construit avec
+
+Castla s'appuie sur d'excellents projets open source :
+
+- [Shizuku](https://shizuku.rikka.app/) — accès aux API privilégiées sans root
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — serveur HTTP + WebSocket embarqué
+- [ZXing](https://github.com/zxing/zxing) — génération de codes QR
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — boîte à outils UI Android moderne
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — pipeline de streaming asynchrone
+
+Certaines techniques du mode privilégié s'inspirent de [scrcpy](https://github.com/Genymobile/scrcpy). Aucun code source de scrcpy n'est inclus.
+
+Voir [NOTICE](NOTICE) pour la liste complète des attributions tierces.
+
## Licence
-[GNU General Public License v3.0](LICENSE)
+[Apache License 2.0](LICENSE)
diff --git a/README.ja.md b/README.ja.md
index 35b6042..bd58a11 100644
--- a/README.ja.md
+++ b/README.ja.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castlaは、ローカルWiFiネットワーク経由でAndroidスマートフォ
- **フルタッチコントロール** — テスラ画面から直接タップ、スワイプ、操作(Shizuku使用)
- **オーディオストリーミング** — デバイスオーディオをテスラスピーカーに直接送信(Android 10+)
- **100%ローカル&プライベート** — すべてのデータはWiFi/ホットスポット内のみ
-- **完全無料** — 広告なし、課金なし。GPL-3.0オープンソース
+- **完全無料** — 広告なし、課金なし。Apache-2.0オープンソース
## 機能
@@ -84,6 +84,20 @@ Castlaは**一切のデータを収集しません**。詳細は[プライバシ
+## 使用しているオープンソース
+
+Castla は素晴らしいオープンソースプロジェクトの上に成り立っています:
+
+- [Shizuku](https://shizuku.rikka.app/) — root なしで特権 API にアクセス
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — 組み込み HTTP + WebSocket サーバー
+- [ZXing](https://github.com/zxing/zxing) — QR コード生成
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — モダンな Android UI ツールキット
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — 非同期ストリーミングパイプライン
+
+一部の特権モード手法は [scrcpy](https://github.com/Genymobile/scrcpy) のアプローチから着想を得ています。scrcpy のソースコードは含まれていません。
+
+サードパーティの完全な表記については [NOTICE](NOTICE) を参照してください。
+
## ライセンス
-[GNU General Public License v3.0](LICENSE)
+[Apache License 2.0](LICENSE)
diff --git a/README.ko.md b/README.ko.md
index 02d1be9..e398299 100644
--- a/README.ko.md
+++ b/README.ko.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castla는 안드로이드 폰의 화면을 로컬 WiFi 네트워크를 통해
- **완전한 터치 컨트롤** — 테슬라 화면에서 직접 터치, 스와이프, 조작 (Shizuku 사용)
- **오디오 스트리밍** — 기기 오디오를 테슬라 스피커로 직접 전송 (Android 10+)
- **100% 로컬 & 프라이빗** — 모든 데이터는 WiFi/핫스팟 내에서만. 인터넷 전송 제로.
-- **완전 무료** — 광고 없음, 결제벽 없음. GPL-3.0 오픈소스.
+- **완전 무료** — 광고 없음, 결제벽 없음. Apache-2.0 오픈소스.
## 기능
@@ -100,6 +100,20 @@ Castla 덕분에 드라이브가 즐거워지셨다면 커피 한 잔 사주세
+## 사용된 오픈소스
+
+Castla는 훌륭한 오픈소스 프로젝트들의 도움으로 만들어졌습니다:
+
+- [Shizuku](https://shizuku.rikka.app/) — 루트 없이 특권 API 접근
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — 내장 HTTP + WebSocket 서버
+- [ZXing](https://github.com/zxing/zxing) — QR 코드 생성
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — 현대적 Android UI 툴킷
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — 비동기 스트리밍 파이프라인
+
+일부 특권 모드 기법은 [scrcpy](https://github.com/Genymobile/scrcpy)의 접근 방식에서 영감을 받았습니다. scrcpy의 소스 코드는 포함되어 있지 않습니다.
+
+전체 서드파티 고지는 [NOTICE](NOTICE) 파일을 참조하세요.
+
## 라이선스
-[GNU General Public License v3.0](LICENSE)
+[Apache License 2.0](LICENSE)
diff --git a/README.md b/README.md
index 2d8241d..f493b1a 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castla is a free, open-source solution that streams your Android phone's screen
- **Full Touch control** — Tap, swipe, and interact with your phone directly from the Tesla screen (via Shizuku).
- **Audio streaming** — Stream your device's audio directly to Tesla's speakers (Android 10+).
- **100% local & private** — All data stays on your WiFi/hotspot. Zero data is sent to the internet.
-- **Completely free** — No ads, no paywalls. Open-source under GPL-3.0.
+- **Completely free** — No ads, no paywalls. Open-source under Apache-2.0.
## Features
@@ -137,15 +137,30 @@ If Castla made your road trips better and helped you navigate with Waze on the b
+## Built with
+
+Castla stands on the shoulders of great open-source projects:
+
+- [Shizuku](https://shizuku.rikka.app/) — privileged API access without root
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — embedded HTTP + WebSocket server
+- [ZXing](https://github.com/zxing/zxing) — QR code generation
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — modern Android UI toolkit
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — async streaming pipeline
+
+Some privileged-mode techniques were inspired by [scrcpy](https://github.com/Genymobile/scrcpy). No scrcpy source code is included.
+
+See [NOTICE](NOTICE) for the full list of third-party attributions.
+
## License
-This project is licensed under the [GNU General Public License v3.0](LICENSE).
+This project is licensed under the [Apache License 2.0](LICENSE).
```
-Copyright (C) 2024 Castla
+Copyright 2024 Castla
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
-This program is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
+ http://www.apache.org/licenses/LICENSE-2.0
```
diff --git a/README.zh-CN.md b/README.zh-CN.md
index d71ffb4..08a1f99 100644
--- a/README.zh-CN.md
+++ b/README.zh-CN.md
@@ -6,7 +6,7 @@
-
+
@@ -33,7 +33,7 @@ Castla是一款免费开源解决方案,通过本地WiFi网络将安卓手机
- **完整触控** — 直接在特斯拉屏幕上点触、滑动、操控手机(通过Shizuku)
- **音频串流** — 将设备音频直接传输到特斯拉扬声器(Android 10+)
- **100%本地且私密** — 所有数据仅在WiFi/热点内传输
-- **完全免费** — 无广告、无付费墙。GPL-3.0开源
+- **完全免费** — 无广告、无付费墙。Apache-2.0开源
## 功能
@@ -84,6 +84,20 @@ Castla **不收集任何数据**。详情请查看 [隐私政策](PRIVACY.md)。
+## 使用的开源项目
+
+Castla 建立在出色的开源项目之上:
+
+- [Shizuku](https://shizuku.rikka.app/) — 无需 root 的特权 API 访问
+- [NanoHTTPD](https://github.com/NanoHttpd/nanohttpd) — 嵌入式 HTTP + WebSocket 服务器
+- [ZXing](https://github.com/zxing/zxing) — 二维码生成
+- [AndroidX / Jetpack Compose](https://developer.android.com/jetpack) — 现代 Android UI 工具包
+- [Kotlin Coroutines](https://github.com/Kotlin/kotlinx.coroutines) — 异步流式管道
+
+部分特权模式技术受 [scrcpy](https://github.com/Genymobile/scrcpy) 启发。本项目未包含 scrcpy 源代码。
+
+完整的第三方归属列表请参见 [NOTICE](NOTICE)。
+
## 许可证
-[GNU General Public License v3.0](LICENSE)
+[Apache License 2.0](LICENSE)
diff --git a/app/src/main/jniLibs/arm64-v8a/libcloudflared.so b/app/src/main/jniLibs/arm64-v8a/libcloudflared.so
deleted file mode 100755
index c1eafa99512308d22d763b00376ec52089283f86..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 28442920
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