HNHacker News
TopNewBestAskShowJobs

txthinking

131 karma · joined August 15, 2016

submissionscomments
txthinking··on Ask HN: Share your personal site
network softwares
txthinking··on Ask HN: Share your personal site
https://txthinking.com
txthinking··on I have written some network software in the past few years
### Shiliew

A cross-platform encrypted, undetectable, simple Proxy/VPN

https://www.shiliew.com

### ZoneNet

Global Area Networking. Peer-to-Peer & End-to-End Encryption for every device, anywhere

https://zonenet.io

### Wireshark Helper

Capture all Mobile TCP&UDP and decrypt TLS to your Desktop Wireshark.

https://www.txthinking.com

### mitmproxy helper

A mobile client works with desktop mitmproxy, SSL/TLS certificates for interception are generated on the fly.

## And I also make open source projects

https://github.com/txthinking

txthinking··on Wireshark Client: Capture All Mobile TCP&UDP and Decrypt TLS to Wireshark
- Redirect all mobile TCP&UDP to your desktop Wireshark

- SSL/TLS-capable intercepting

- HTTP, HTTPS, SMTP, IMAP, DNS, FTP, POP3, SSH, Telnel, IRC, ANY custom protocol…

https://www.youtube.com/watch?v=IhxrSyqky94

Wireshark Helper https://www.txthinking.com

Wireshark https://www.wireshark.org

iOS https://apps.apple.com/us/app/wireshark-client/id1534485108

Android https://play.google.com/store/apps/details?id=com.txthinking...

txthinking··on Capture mobile HTTP&HTTPS and decrypt TLS with mitmproxy
This is not using system proxy way. because some apps can choose not use system proxy. This is using TUN way. So all TCP can be captured to mitmproxy.

Requires:

[Desktop]: https://github.com/mitmproxy/mitmproxy

[Mobile iOS]: https://apps.apple.com/us/app/id1528537342

[Mobile Android]: https://play.google.com/store/apps/details?id=com.txthinking...

- Intercept HTTP & HTTPS requests and responses and modify them on the fly

- Save complete HTTP conversations for later replay and analysis

- Replay the client-side of an HTTP conversations

- Replay HTTP responses of a previously recorded server

- Reverse proxy mode to forward traffic to a specified server

- Transparent proxy mode on macOS and Linux

- Make scripted changes to HTTP traffic using Python

- SSL/TLS certificates for interception are generated on the fly

- And much, much more…

txthinking··on Do you like this simple framework for Deno

    import {sf} from 'https://deno.land/x/sf/mod.js';

    sf.path('/', async (r)=>{
        return { query: r.query, body: r.json };
    });

    sf.run(2020);
txthinking··on Show HN: A HTTP2 web server with auto SSL certificate, Zero-Configuration
# Nico

A HTTP2 web server for reverse proxy and single page application, automatically apply for ssl certificate, zero-configuration.

### Install via [nami](https://github.com/txthinking/nami)

``` $ nami install github.com/txthinking/nico ```

### Reverse proxy

> Make sure your domains are already resolved to your server IP and open 80/443 port

``` $ nico 'domain.com http://127.0.0.1:2020' ```

### Static server, can be used for single page application

``` $ nico 'domain.com /path/to/web/root' ```

### All can be in one line command

``` $ nico 'domain1.com http://127.0.0.1:2020' 'domain2.com /path/to/web/root' 'domain3.com http://127.0.0.1:3030' ```

### Daemon

You may like [joker](https://github.com/txthinking/joker)

## Why

Nico is a simple HTTP2 web server, but she is enough in mose cases. If you want to use rewrite, load balancing, you need to consider nginx or others.

## License

Licensed under The GPLv3 License

txthinking··on Show HN: Nami – A decentralized binary package manager
http status code 301
txthinking··on Show HN: Nami – A decentralized binary package manager
Yes, it is like Android APK vs iOS app store :)
txthinking··on Show HN: Nami – A decentralized binary package manager
Thank your serious discussion. I don't deny the official repos , like apt-get, brew. This is an option for developer who can't stand outdate and want to control by self.
txthinking··on Show HN: Nami – A decentralized binary package manager
I have a question, what does this for?

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in...

txthinking··on Show HN: Nami – A decentralized binary package manager
1. It's for pre-built binary, different OS/Arch need different binary file. So nami needs to know download which file for user's OS.

2. Yes, people are free to create brew taps. But you know humans are divided into 'I will do this' and 'I wont do this'

3. There are there roles: [software developer], [package maintainer], [user].

3. Most cases, [the software developer] is not the [package maintainer]. The software developer only push code, test code , build code. Like we know, build binary is a step of the software developer, but they don't like to create much more packages with apt-get/brew/pacman/etc, so many packages in the centralized PM are outdate. Examples are endless.

4. [User] is people who using software, they like less concepts thing. They just a user, not developer, not maintainer.

txthinking··on Show HN: Nami – A decentralized binary package manager
most cases, we install package which is open sourced and trusted. So anyone can fork it.
txthinking··on Show HN: Nami – A decentralized binary package manager
If a package broken, you can built of the same name in your company repo too, the address is yours, but the package is same package.
txthinking··on Show HN: Nami – A decentralized binary package manager
Yes, actually you don't do install package you don't trust. And actually even the package is code not binary, the users don't see code always. The result is user install package because they trust the author of package.
txthinking··on Show HN: Nami – A decentralized binary package manager
# Nami

A decentralized binary package manager

### Why

There are already many package managers, like apt-get, brew, but this is all centralized. Every time the author updates the software, they need to write complex configuration files and PRs and wait for merge.

Nami is a decentralized binary package manager, she allows software authors to publish their software anywhere, without having to request a merge from a software center for each update.

### Install

    $ curl -L git.io/getnami | bash && exec -l $SHELL
### Usage

    NAME:
       nami - A decentralized binary package manager

    USAGE:
       nami [global options] command [command options] [arguments...]

    COMMANDS:
       install  Install package. $ nami install github.com/txthinking/nami
       upgrade  Upgrade package. $ nami upgrade github.com/txthinking/nami
       remove   Remove package. $ nami remove github.com/txthinking/nami
       info     Print package information. $ nami info github.com/txthinking/nami
       list     Print installed packages. $ nami list
       help, h  Shows a list of commands or help for one command

    GLOBAL OPTIONS:
       --help, -h  show help (default: false)
### Example

    $ nami install github.com/txthinking/nami
### What Does Nami Do?

All files are stored in `~/.nami`

## Nami for Software Publisher

- Package name such as `yourdomain.com/package` - Nami will send GET request to `https://yourdomain.com/package/nami.json`, `nami.json`

### Built-in supported domains

* `github.com`: Package name such as `github.com/txthinking/nami`, put binary files in the [github releases](https://github.com/txthinking/nami/releases)

## License

Licensed under The GPLv3 License

txthinking··on Ask HN: What projects are you working on now?
https://github.com/txthinking/brook
txthinking··on Remote Meeting with Video, Voice, Text Chat and Screen Sharing
Any feedback is welcome
txthinking··on Show HN: Mr2, Expose local server to external network
## What is Mr.2

Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.<br/> Keep it simple, stupid.

### Server

``` $ mr2 server -l :9999 -p password ```

### Client

``` # Local server is 127.0.0.1:1234, expect to expose: server_address:5678 $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:1234 ```

``` # Local web root is /path/to/www, expect to expose: server_address:5678 $ mr2 client -s server_address:port -p password -P 5678 --clientDiretory /path/to/www ```

### Example

#### Access local HTTP server

``` $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:8080

# then Your HTTP server in external network is: server_address:5678 ```

#### SSH into local computer

``` $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:22

# then $ ssh -oPort=5678 user@server_address ```

#### Access local DNS server

``` $ mr2 client -s server_address:port -p password -P 5678 -c 127.0.0.1:53

# then Your DNS server in external network is: server_address:5678

$ dig github.com @server_address -p 5678 ```

#### Access your local directory via HTTP

``` $ mr2 client -s server_address:port -p password -P 5678 --clientDirectory /path/to/www

# then A HTTP server in external network is: server_address:5678 ```

#### Any TCP-based/UDP-based ideas you think of

...

## License

Licensed under The GPLv3 License

txthinking··on Mr2 – Expose local server to external network
Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.
txthinking··on Show HN: Frank is a REST API automated testing tool works in command line
Postman alternative
txthinking··on Show HN: Frank is a REST API automated testing tool works in command line
Also can auto generate markdown API document