clone

one developer profile for links and private tcp services, reached peer to peer over iroh with no open ports

docs: prepare the repository for v0.2.0

Dami committed d50238a
Document installation and the first service flow, adopt Apache-2.0 across the workspace, and add the canonical license text.
commit
d50238a08566a1efe66eccaae4086dc1e423616f
parent
db0fb9313c18ad476dc39263af4f28bbef3ac290
author
Dami <dami.etoile@gmail.com>
3 files changed, +254 -14
MCargo.toml2+-
ALICENSE201++++++++++++++++++++++++++++++
MREADME.md65++++++++--
M Cargo.toml +1 -1
A LICENSE +201 -0
@@ -0,0 +1,201 @@
1+ Apache License2+ Version 2.0, January 20043+ http://www.apache.org/licenses/4+5+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION6+7+ 1. Definitions.8+9+ "License" shall mean the terms and conditions for use, reproduction,10+ and distribution as defined by Sections 1 through 9 of this document.11+12+ "Licensor" shall mean the copyright owner or entity authorized by13+ the copyright owner that is granting the License.14+15+ "Legal Entity" shall mean the union of the acting entity and all16+ other entities that control, are controlled by, or are under common17+ control with that entity. For the purposes of this definition,18+ "control" means (i) the power, direct or indirect, to cause the19+ direction or management of such entity, whether by contract or20+ otherwise, or (ii) ownership of fifty percent (50%) or more of the21+ outstanding shares, or (iii) beneficial ownership of such entity.22+23+ "You" (or "Your") shall mean an individual or Legal Entity24+ exercising permissions granted by this License.25+26+ "Source" form shall mean the preferred form for making modifications,27+ including but not limited to software source code, documentation28+ source, and configuration files.29+30+ "Object" form shall mean any form resulting from mechanical31+ transformation or translation of a Source form, including but32+ not limited to compiled object code, generated documentation,33+ and conversions to other media types.34+35+ "Work" shall mean the work of authorship, whether in Source or36+ Object form, made available under the License, as indicated by a37+ copyright notice that is included in or attached to the work38+ (an example is provided in the Appendix below).39+40+ "Derivative Works" shall mean any work, whether in Source or Object41+ form, that is based on (or derived from) the Work and for which the42+ editorial revisions, annotations, elaborations, or other modifications43+ represent, as a whole, an original work of authorship. For the purposes44+ of this License, Derivative Works shall not include works that remain45+ separable from, or merely link (or bind by name) to the interfaces of,46+ the Work and Derivative Works thereof.47+48+ "Contribution" shall mean any work of authorship, including49+ the original version of the Work and any modifications or additions50+ to that Work or Derivative Works thereof, that is intentionally51+ submitted to Licensor for inclusion in the Work by the copyright owner52+ or by an individual or Legal Entity authorized to submit on behalf of53+ the copyright owner. For the purposes of this definition, "submitted"54+ means any form of electronic, verbal, or written communication sent55+ to the Licensor or its representatives, including but not limited to56+ communication on electronic mailing lists, source code control systems,57+ and issue tracking systems that are managed by, or on behalf of, the58+ Licensor for the purpose of discussing and improving the Work, but59+ excluding communication that is conspicuously marked or otherwise60+ designated in writing by the copyright owner as "Not a Contribution."61+62+ "Contributor" shall mean Licensor and any individual or Legal Entity63+ on behalf of whom a Contribution has been received by Licensor and64+ subsequently incorporated within the Work.65+66+ 2. Grant of Copyright License. Subject to the terms and conditions of67+ this License, each Contributor hereby grants to You a perpetual,68+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable69+ copyright license to reproduce, prepare Derivative Works of,70+ publicly display, publicly perform, sublicense, and distribute the71+ Work and such Derivative Works in Source or Object form.72+73+ 3. Grant of Patent License. Subject to the terms and conditions of74+ this License, each Contributor hereby grants to You a perpetual,75+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable76+ (except as stated in this section) patent license to make, have made,77+ use, offer to sell, sell, import, and otherwise transfer the Work,78+ where such license applies only to those patent claims licensable79+ by such Contributor that are necessarily infringed by their80+ Contribution(s) alone or by combination of their Contribution(s)81+ with the Work to which such Contribution(s) was submitted. If You82+ institute patent litigation against any entity (including a83+ cross-claim or counterclaim in a lawsuit) alleging that the Work84+ or a Contribution incorporated within the Work constitutes direct85+ or contributory patent infringement, then any patent licenses86+ granted to You under this License for that Work shall terminate87+ as of the date such litigation is filed.88+89+ 4. Redistribution. You may reproduce and distribute copies of the90+ Work or Derivative Works thereof in any medium, with or without91+ modifications, and in Source or Object form, provided that You92+ meet the following conditions:93+94+ (a) You must give any other recipients of the Work or95+ Derivative Works a copy of this License; and96+97+ (b) You must cause any modified files to carry prominent notices98+ stating that You changed the files; and99+100+ (c) You must retain, in the Source form of any Derivative Works101+ that You distribute, all copyright, patent, trademark, and102+ attribution notices from the Source form of the Work,103+ excluding those notices that do not pertain to any part of104+ the Derivative Works; and105+106+ (d) If the Work includes a "NOTICE" text file as part of its107+ distribution, then any Derivative Works that You distribute must108+ include a readable copy of the attribution notices contained109+ within such NOTICE file, excluding those notices that do not110+ pertain to any part of the Derivative Works, in at least one111+ of the following places: within a NOTICE text file distributed112+ as part of the Derivative Works; within the Source form or113+ documentation, if provided along with the Derivative Works; or,114+ within a display generated by the Derivative Works, if and115+ wherever such third-party notices normally appear. The contents116+ of the NOTICE file are for informational purposes only and117+ do not modify the License. You may add Your own attribution118+ notices within Derivative Works that You distribute, alongside119+ or as an addendum to the NOTICE text from the Work, provided120+ that such additional attribution notices cannot be construed121+ as modifying the License.122+123+ You may add Your own copyright statement to Your modifications and124+ may provide additional or different license terms and conditions125+ for use, reproduction, or distribution of Your modifications, or126+ for any such Derivative Works as a whole, provided Your use,127+ reproduction, and distribution of the Work otherwise complies with128+ the conditions stated in this License.129+130+ 5. Submission of Contributions. Unless You explicitly state otherwise,131+ any Contribution intentionally submitted for inclusion in the Work132+ by You to the Licensor shall be under the terms and conditions of133+ this License, without any additional terms or conditions.134+ Notwithstanding the above, nothing herein shall supersede or modify135+ the terms of any separate license agreement you may have executed136+ with Licensor regarding such Contributions.137+138+ 6. Trademarks. This License does not grant permission to use the trade139+ names, trademarks, service marks, or product names of the Licensor,140+ except as required for reasonable and customary use in describing the141+ origin of the Work and reproducing the content of the NOTICE file.142+143+ 7. Disclaimer of Warranty. Unless required by applicable law or144+ agreed to in writing, Licensor provides the Work (and each145+ Contributor provides its Contributions) on an "AS IS" BASIS,146+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or147+ implied, including, without limitation, any warranties or conditions148+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A149+ PARTICULAR PURPOSE. You are solely responsible for determining the150+ appropriateness of using or redistributing the Work and assume any151+ risks associated with Your exercise of permissions under this License.152+153+ 8. Limitation of Liability. In no event and under no legal theory,154+ whether in tort (including negligence), contract, or otherwise,155+ unless required by applicable law (such as deliberate and grossly156+ negligent acts) or agreed to in writing, shall any Contributor be157+ liable to You for damages, including any direct, indirect, special,158+ incidental, or consequential damages of any character arising as a159+ result of this License or out of the use or inability to use the160+ Work (including but not limited to damages for loss of goodwill,161+ work stoppage, computer failure or malfunction, or any and all162+ other commercial damages or losses), even if such Contributor163+ has been advised of the possibility of such damages.164+165+ 9. Accepting Warranty or Additional Liability. While redistributing166+ the Work or Derivative Works thereof, You may choose to offer,167+ and charge a fee for, acceptance of support, warranty, indemnity,168+ or other liability obligations and/or rights consistent with this169+ License. However, in accepting such obligations, You may act only170+ on Your own behalf and on Your sole responsibility, not on behalf171+ of any other Contributor, and only if You agree to indemnify,172+ defend, and hold each Contributor harmless for any liability173+ incurred by, or claims asserted against, such Contributor by reason174+ of your accepting any such warranty or additional liability.175+176+ END OF TERMS AND CONDITIONS177+178+ APPENDIX: How to apply the Apache License to your work.179+180+ To apply the Apache License to your work, attach the following181+ boilerplate notice, with the fields enclosed by brackets "[]"182+ replaced with your own identifying information. (Don't include183+ the brackets!) The text should be enclosed in the appropriate184+ comment syntax for the file format. We also recommend that a185+ file or class name and description of purpose be included on the186+ same "printed page" as the copyright notice for easier187+ identification within third-party archives.188+189+ Copyright [yyyy] [name of copyright owner]190+191+ Licensed under the Apache License, Version 2.0 (the "License");192+ you may not use this file except in compliance with the License.193+ You may obtain a copy of the License at194+195+ http://www.apache.org/licenses/LICENSE-2.0196+197+ Unless required by applicable law or agreed to in writing, software198+ distributed under the License is distributed on an "AS IS" BASIS,199+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.200+ See the License for the specific language governing permissions and201+ limitations under the License.
M README.md +52 -13
@@ -1,11 +1,52 @@
11 # dev.site22 3-dev.site is a profile for links and private TCP services. A service stays on the4-machine that owns it. The machine opens an outbound Iroh connection, and an authorized5-viewer uses the `devsite` CLI to map that service onto a loopback port.3+[dev.site](https://dev.site) puts links and private TCP services on one developer profile.4+Services stay on the machines that own them. An approved user maps a service onto a local5+loopback port with the `devsite` CLI.66 7-Version 0.2 intentionally replaces the early single-page HTTP fetch experiment. Services8-are protocol-agnostic TCP byte streams; they are not assumed to be websites.7+The control plane handles identity, profiles, sharing, and short-lived capabilities. It8+never carries service traffic. Hosts make outbound Iroh connections, so there is no public9+listener or inbound port to configure.10+11+Version 0.2.0 replaces the early single-page HTTP fetch experiment. Services are12+protocol-agnostic TCP byte streams; they are not assumed to be websites.13+14+## Install15+16+macOS with [Homebrew](https://brew.sh):17+18+```bash19+brew install FelineStateMachine/tap/devsite20+```21+22+Linux binaries and other builds are attached to the23+[latest GitHub release](https://github.com/FelineStateMachine/devsite/releases/latest).24+The CLI is one binary; `devsite daemon run` is its long-running host mode.25+26+## Quick start27+28+Sign in at [dev.site](https://dev.site), create a machine credential on the dashboard, and29+use the one-time value to log in:30+31+```bash32+devsite login dsm_...33+```34+35+Host a named local service and keep the daemon running:36+37+```bash38+devsite service host 5432 --name postgres39+devsite daemon run40+```41+42+Approve a share on the dashboard, open the service, and choose **Get ticket**. On the43+viewer machine:44+45+```bash46+devsite connect dst_...47+# connected to postgres (https://dev.site/s/res_...)48+# listening on 127.0.0.1:4312749+```950 1051 ## Shape1152
@@ -32,15 +73,9 @@ expiry, and one-use nonce before opening the configured loopback target.
3273 3374 The transport ALPN is `devsite/tcp/1`.3475 35-## Commands36-37-After signing in at <https://dev.site>, create a named machine credential on the dashboard:38-39-```bash40-devsite login dsm_...41-```76+## Services and links4277 43-Host a loopback TCP port. Services default to private:78+Services default to private:4479 4580 ```bash4681 devsite service host 3000
@@ -212,3 +247,7 @@ either is intentionally disruptive.
212247 folders, credentials, and share lists.213248 - Machine credentials and browser sessions are stored only as SHA-256 hashes and can be214249 revoked from the dashboard.250+251+## License252+253+Licensed under the [Apache License, Version 2.0](LICENSE).