Text
The concept: ProxMate DNS
ProxMate for chrome, my browser extension, is soon expected to break the 200.000 active users mark, making me think how to improve the service and what features to possibly add.
One of ProxMates biggest disadvantages is, that it only works inside a browser. Simply because we don't have access to the systems proxy server that easily. That would require a desktop app, which might run in some complications when trying to implement a pac_script like behaviour.
After a bit of thinking, a more easy solution came up: Why not pushing the users traffic through a proxy server, without letting the user know that he's currently using a proxy?
The concept: Everything the user has to do, is set a custom DNS, which will take care of the rest.
Example: The users device is looking up "netflix.com" as a domain. Obviously the users DNS will return the netflix IP and yada yada. The custom DNS, however, will return the IP of a node of ProxMates huge proxy cluster.
The users request will hit the proxy server instead. The proxy itself, configured to act as a transparent proxy, will take the users request, request the page itself and forwards the result back to the user. Ta-da, a proxied page without setting a proxy.
Let's see how this plan will end up.
0 notes
Text
Going All-In
as I'm trying to keep this blog a little more alive, I feel like filling it with some recent life stuff that happened.
Taking from my last post, some of you may know that I have founded my own company some time ago. Since things look promising right now, I decided to take the risk and go "all-in".
My last job ran out past friday, but instead of searching a new one, I felt more like investing my time completely into my company. At least for some weeks. I booked a ticket to Southeast Asia (Bangkok, Thailand) where I am able to survive far longer than I could in Germany using the rest-money on my bank account.
Do I regret it? Not yet. I am doing exactly what I want to do: Working on what I really love and choosing the location I feel most comfortable with right now - some sort backpacking with a Company I guess. Of course there is risk involved. I am completely depending on my company and the daily work I do. If I'm too lazy, I might end up with no money at the end of the month.
Right now, everything's still very theoretic. Let's see what the future, especially the next month, brings!
0 notes
Text
Hello Personalitycores!
Phew, the last weeks have been super busy (excluding my vacation). I finally fulfilled my next aim in life and founded my own company! Presenting you: Personalitycores UG.
UG is the german equivalent of a ltd. Founding was easy but I can tell you: Accounting, Booking and all this paper works is not that easy.
I learned that stuff in school but that was around ~5 years ago.
Anyway, the first projects and contracts are slowly starting up. Let's see where this is going!
0 notes
Text
Boost iPhone / iPod volume (iOS5)
Finally found a way to boost my iPods volume! Here's what to do:
Install OpenSSH via Cydia
Connect via SFTP (I used cyberduck) with root//alpine
Edit the file "/System/Library/PrivateFrameworks/MediaToolbox.framework/RegionalVolumeLimits.plist" with a Plist editor
Change the 0.83 values to something higher. I used 50
According to my knowledge, these values are percentage entries. 0.83 means 83% volume. Changing it to 50 results in 150% volume.
I did it in iOS5. Not sure about other iOS versions!
I'm usually listening music on full volume but after this little hack, I have to keep it 4 points under max. You can guess what that means :p
0 notes
Text
Making ProxMate a central thing
It's been a while since my addon ProxMate is out in the wild wild world. Over the months I grabbed a bunch of (positive and negative) experiences when it comes to releasing.
My major problem was the slow reviewing process on mozillas side when pushing a update. Sometimes this happens within 1 day, sometimes after 2 weeks.
But do you really need to push an update when changing a service? When just changing a proxy rule? No you don't.
The concept
Since version 2.1, ProxMate became a central thing. Or in other words a client-server application. The addon core has been reduced to only include a logic for enabling / disabling modules and parsing a config script (ignore the banner by now).
When launching the addon, ProxMate calls a mothership (a.k.a. my server), pulls a config file, parses it and saves the settings in local storage. This process should happen every 30 minutes. If the server is unavailable (caused by whatever reason), the addon will simply use the last saved config.
This makes reacting and pushing "shadow updates" (a.k.a. not code updates) really fast. Adding a service happens in an instant and within 30 minutes every user using v2.1+ will run the new code.
Applying the same thing to proxy nodes
If you have to maintain multiple proxy servers, you don't have the time to configure a whitelist, userlist, configs or whatever on every single of them. Using the concept above, I automated the process.
A cron is installed, pulling a whitelist, userlist, config and whatsoever all x minutes. Entries are configured over a simple admin interface
Single point of failure?
Well, yes. But even if the webserver dies, caches will still hold a usable config. And if that dies, a static config is being used. And even if that fails, ProxMate will simply use the last available config and continue working. Completely without a mothership server.
Using a bunch of fallbacks and caches, a total fallout is very unlikely.
0 notes
Text
Parse twitter url, username and hashtag in javascript
I am currently integrating twitter in a website. This is what I came up with for parsing twitter urls, usernames and hashtags:
Feel free to use where ever you want. jQuery is needed for using this.
0 notes
Text
Softbank S!Mail + Foreign Android Phone
Using a foreign phone with a Softbank SIM is not impossible at all. After researching and messing around, i finally came up with a solution for my device (thanks to this thread - http://forum.xda-developers.com/showthread.php?p=22523012). Copying and summarizing all the steps I had to do to get it working:
First of all download "Softbank メール". You can get it here - https://play.google.com/store/apps/details?id=jp.softbank.mb.mail. If you can't access the market, try market enabler or installing from the web.
Go to Settings -> Mobile Network Settings -> Access Point Names and add a new APN using the following information:
Name: <whatever you want> APN: mailwebservice.softbank.ne.jp Proxy: sbwapproxy.softbank.ne.jp Port: 8080 Username: softbank Password: qceffknarlurqgbl Server: <Not set> MMSC: http://mms/ MMS Proxy: sbmmsproxy.softbank.ne.jp MMS Port: 8080 MCC: 440 MNC: 20 Authentication: PAP APN type: mms
Save this, turn your mobile network off and on again and try to use the "New Mail" option in the Softbank app.
(I had to delete all other APNs to get it working)
If it's still not working, edit the pppd file under /system/etc/ppp/peers/pppd-Ril.options. If it doesn't exist, just create it. Use the following content:
user softbank password qceffknarlurqgbl
I used "Root Explorer" for the editing part.
Reboot your phone, turn mobile network off and on and try the "New Mail" option again. (The off and on part is needed for whatever reason. Softbank Mail is refusing to download new mails if I don't do it.)
This did basically the job for me. S!Mail is working perfectly with my german HTC Desire S!
2 notes
·
View notes
Text
Imgur rocks!
When it comes to image hosting you usually want to have as much control as possible.
Not every service gives you that much control. For me the hosters I trust went down to 3: puush, dropbox and imgur.
Answering the question for me:
Puush: For screenshot sharing great, I don't like the account menu. Most of the time i can't see from the thumbnail what picture I'm currently watching. Adding screenshots and screensnippets on a daily base makes it like a soup with images I need temporary and images i need permanent.
Dropbox: I'd say this is the service you need but maybe not for hosting permanent images. You want to store your images somewhere and leave them. Permanent. Not downloading them on every computer again and again and maybe deleting them by accident while browsing through my folders.
Imgur: Tested it for a while and I'm happy. Does exactly what I want - hosting my images with giving me full control. You can even edit them online! I don't need to: Download the Image, open my image program, make the adjustment, upload it again.
Imgur offers a free and a pro membership. See the difference here - https://imgur.com/register/upgrade
I am a happy pro user now. All Images on my blog are hosted and resized by imgur.
3 notes
·
View notes
Text
Moody - Set your current Spotify song as Skype mood
After a while of searching how to automaticly update your skype mood to your spotify song, I found this little tool called Moody.
A simple application which uses Spotifys and Skypes applescript API to simply update the Skype mood all x seconds.
I've adopted that logic and ported Moody to Objective C - presenting Moody v1.0! A very simple background application which does exactly what the applescript brother does - just in the background and with ObjC.
Download it here - https://github.com/downloads/dabido/Moody/Moody.zip
or fork it here - https://github.com/dabido/Moody
Hope this helps someone.
1 note
·
View note
Text
ProxMate node live counter
Nerdy time!
I've recently implemented a live counter on ProxMates startpage:
Time to unveil the the logic behind it.
To accomplish that, i've added a very tiny node server to work as proxy between the webserver and the user. Every time a page gets unblocked, ProxMate pings a certain url, giving some information about the page which got unblocked (Usually time, browser and page).
Nginx forwards all requests arriving at that url to a intern node server. Something like that:
tcp_nodelay on; proxy_pass http://127.0.0.1:8080/; proxy_redirect off;
The node server itself counts all page unblocks and forwards them to the servers backend. Before forwarding them, all connected sockets receive an update that a new video has been unblocked.
The whole server is basicly this:
var app = server.createServer(function(request, response) { if (!isUndefined(request.url)) { // Parse request var url_parts = url.parse(request.url, true); var browser = url_parts.query["b"]; var uri = url_parts.query["u"]; if (!isUndefined(browser) && !isUndefined(uri)) { // Ping the backend var config = { host: 'www.server.com', port: 80, path: '/url/to/backend/?u=' + encodeURIComponent(uri) + '&b='+browser } var req = server.request(config, function(res) { res.on('data', function(data) { // Count all unblocks unblocks = unblocks + 1; // Update all sockets io.sockets.emit("e_update", { "unblocks": unblocks }); }); }); req.end(); } } response.end(); });
For sockets i am using socket.io.
That's how the magic happens :)
9 notes
·
View notes
Text
Reactivating the @SpaceSphere
It's been a while since Twitter banned my bot @SpaceSphere (http://aqua3.bplaced.net/2011/06/the-spacesphere/) for flooding.
Today i'm bringing a new (updated) version back to life - presenting @SpaceSphere2.
Less Spamming
Replies to tweets
Newest Twython version
The source is available on github - https://gist.github.com/1257372. Feel free to use it for whatever you want.
http://www.youtube.com/watch?v=BVn1oQL9sWg
2 notes
·
View notes