000000000000000000 000000000000000000 000000000000000000 0000000 000000000000000000 000000000000000000 000000000000000000 00 00 00 00 00 00 00 00 00 00 00 000000000000000000 000000000000000000 00 00 00 00 00 Implementation status Product Pricing Demo Blog . ======= . . . . Backend [==========] . Free : $0 . Tree visualization [==========] . Team : $10/user/month . Instant preview [========= ] . Cloud : $10/user/month . Markdown rendering [========= ] . Code view [===== ] . Private repos [===== ] . Multi-way diff [=== ] . Ctrl+K search [== ] . History [= ] . Branch selection [= ] . Branch comparison [= ] . Reliability [= ] . Monitoring [ ] . / search [ ] . User auth [ ] . Cloud [ ] What is Asqi? ------------- Asqi is a codebase explorer designed to help you navigate and understand Git projects. If this sounds interesting, you should check out the demo server, which has several open-source repositories already indexed. Can I use it? ------------- +----------------------------+ . | Can you self-host a Docker | no | service? |----------+ +----------------------------+ | . | V | +------------------------------------+ | | Soon (TM): you'll want Asqi Cloud, | | yes | $10/user/month, ships in Q3 | | +------------------------------------+ | V +-------------------------------+ . | Do people need credentials to | no | clone/fetch your code? |-------+ +-------------------------------+ | . | V | +--------------------------------------+ | | Absolutely! Use Asqi Free and enjoy. | | yes | Asqi will always be free for source- | | | available projects. | | +--------------------------------------+ | | V . +-------------------------------+ | What's your take on software | no | piracy? |---------+ . +-------------------------------+ | | V | +-----------------------------------+ | | Soon (TM): you'll want Asqi Team, | | never | $10/user/month, ships June 2024 | | +-----------------------------------+ | V +--------------------------------------------------+ | Great! Well be sure not to set the license key | | to ONE_BOOTLEG_PLEASE to avoid any piracy before | | we get billing set up. | +--------------------------------------------------+ How can I use it? ----------------- From a technical perspective, you can do pretty much anything you are able to, including: + Connecting to your server in arbitrary ways + Using any Asqi outputs for any technical purpose + Inspecting/stealing any plaintext files in the Asqi container image (easy) + Reverse-engineering any files in the Asqi container image (difficult) + Reverse-engineering Asqi's database/search indexes (difficult) + Reverse-engineering the client/server RPC (moderate; hint: zstd binary, custom msgpack-style codec, will document soon) + Snooping the DOM/websocket to grab data (moderate) + Pen-testing your own server (please let me know before you pentest Cloud) + Basically anything else a curious programmer might want to do + Breaking DRM to generate your own license key or hacking the binary to bypass the license-check logic (difficult) + Using that license key or a hacked binary to get Asqi Team for free (moderate/difficult) + Reusing parts of Asqi to build competing or non-competing products -- but see the business perspective Asqi Cloud is a bit different: you can do non-disruptive things (which is a lot because we have decent isolation) but we may disable your Cloud account if you end up causing problems for other people. If you want to use Asqi's internal data for things, let me know and I'll prioritize creating a developer API that will be much easier to consume than the custom binary format in the DB. You can also consume the DB directly if you want to, but you'll be decoding a custom format and potentially reimplementing the custom search engine which might not be convenient. From a business perspective, you can use/misuse Asqi for any purpose that is consistent with its licensing. That means: + You can (mis)use Asqi Free in any way on any source-available code + You can (mis)use Asqi Team in any way on any code anywhere, provided that the end user has an Asqi Team license For example, suppose you build a project that grabs the Asqi binary from the container image and builds a code database that you then serve through a different frontend. If you distribute your project to other people, anyone using it on source-available code will be able to use Asqi Free at no cost; and anyone using it on private code will need an Asqi Team license key to power the backend. (If you're doing things where #users/month doesn't make sense, let me know and I'll try to come up with a usage-based alternative, like $X/git-GB/month or something.) Privacy policy -------------- I log barely enough to determine whether the server has crashed. Here's what these logs look like: rpc repo:status {"id":7,"r":"slow-gitlab"} 63 110 31766204 0.01kB/s 1596.85kB/s rpc repo:status {"id":47,"r":"medium-numpy"} 63 355714 10888910 7.14kB/s 218.52kB/s rpc blob:content {"id":60,"r":"fast-libssh","i":"e6a4227e9ced83f2bc699b17468f8db605af9394"} 37057 24831 1832690 0.52kB/s 38.14kB/s rpc repo:status {"id":5,"r":"medium-postgres"} 63 62 6951 0.01kB/s 0.61kB/s rpc blob:content {"id":61,"r":"fast-libssh","i":"1f0a71f3016561cb0335adc325a4d9484525ac7a"} 1029 24905 1833721 0.52kB/s 38.00kB/s rpc blob:content {"id":62,"r":"fast-libssh","i":"227e20ab43a68cb035c2ba04f7915865bd2aee9b"} 1236 24979 1834959 0.51kB/s 37.78kB/s rpc repo:heads {"id":6,"r":"medium-postgres"} 8232324 92 8239276 0.01kB/s 686 We do not collect nor track: + Timestamps (though we probably should) + IP addresses + Cookies/session identifiers (other than "you're on websocket X") + Anything else that tells us who you are This will probably change, but not very much. Check back to this section for updates. Supported languages ------------------- Asqi can provide file-level indexing for everything, and it provides semantic indexing for: + C/C++ + Java + Go + Rust + JavaScript/TypeScript + Python Technical changelog ------------------- Changes to deployed images or infrastructure: + 2024.0530.1904 MDT: pushed a new asqi-beta image that auto-creates directories; this should make Asqi Free work as advertised + 2024.0530.1845 MDT: restarted the demo server after a crash