network softwares
HN user
txthinking
### Shiliew
A cross-platform encrypted, undetectable, simple Proxy/VPN
### ZoneNet
Global Area Networking. Peer-to-Peer & End-to-End Encryption for every device, anywhere
### Wireshark Helper
Capture all Mobile TCP&UDP and decrypt TLS to your Desktop Wireshark.
### 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
- 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...
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…
import {sf} from 'https://deno.land/x/sf/mod.js';
sf.path('/', async (r)=>{
return { query: r.query, body: r.json };
});
sf.run(2020);# 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
http status code 301
Yes, it is like Android APK vs iOS app store :)
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.
I have a question, what does this for?
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/in...
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.
most cases, we install package which is open sourced and trusted. So anyone can fork it.
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.
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.
# 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
Any feedback is welcome
## 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
Mr.2 can help you expose local server to external network. Support both TCP/UDP, of course support HTTP.
Postman alternative
Also can auto generate markdown API document